Worklog Wiiboy Color II Worklog

GingerOfOz

no wario
Staff member
.
.
.
2020 2nd Place Winner
2022 3rd Place Winner
Joined
Dec 16, 2016
Messages
1,143
Likes
2,867
Location
The Oregon Wildlands
Portables
just so many i am so cool
I guess it's time.

I stopped building Wiiboy Colors because I did not enjoy assembling the USB-C and old PMS boards needed to build them. Unfortunately, there just isn't enough space in the case to fit a PMS-2 and a PMS-PD inside, so I never bothered to do a redesign to use modern boards.

BUT with the aggressive LMAO trim, I can shift the Wii and cooling setup up ~6mm. This opens up just enough space for the PMS-2 to squeeze in between the cooling setup and the batteries. The PD board won't fit, but this change means that there's now enough space for the other 4LT boards.

My goal with this redesign is to integrate everything as cleanly as possible. Here's a breakdown of the 5 custom circuit boards that the redesign uses.

The Front Board
front board.png

Very similar to the front board in the original WBC. Still uses DS Lite membranes/buttons and connectors for Switch joysticks, but it now has a footprint for the 4LT GC+ 2 to solder into. The design still features the FFC cable that goes between the two halves, although the video signals no longer run through it. While the FFC cable only looked super clean, I got pretty noticable screen interference when I ran everything over the cable. Screen wires will need to be run across the two halves manually, but I think that's for the best. Still only one speaker. There is space for two speakers to flank the dpad/c-stick, but I hate how that looks. I like the look of my one speaker setup, so that's how it's gonna stay for now.

The Main Back Board
main back.png

The original WBC used two different boards for the top and bottom, but I've merged them into one board. The top half still houses the headphone jack, LED, and PD charging board. For now, I'm using the same $2 PD board that I used in my WiiVision. It's not really meant to be modular, but I'll try just soldering it directly to this board. Not the most elegant solution, but it'll allow for either 9v or 12v PD charging, which is all I really need. I've also implemented the GL823K microSD-USB chip for USB on the Wii. I've been using this chip on some of my Louiis for the past year, and it's the same chip that 4LT uses on the PD3. Really cool chip, and I've never run into any compatability issues with RVLoader, which is what I care about the most.

The bottom of the board still houses the triggers and MX chip circuitry. There's now a proper battery holder, which fits a 2016 coin cell battery. The bottom half also has pads/vias for three other circuit boards to latch onto.

Audio Board
audio.png

The idea with this board was to have the headphone and digital audio signals running seperately from the power signals on the other board, with a solid ground plane between them to hopefully help mitgate interference on those lines. Uncertain whether this will help much, but we'll at least give it a shot. If interference is still bad, then there's still room to fit the open-source U-Amp circuit in the top board, but I'd like to avoid fine SMD assembly for these boards if I can.

Button Board
button board.png

This board also uses castellated edges and runs along the other side of the board. Houses the tacts for power, volume control, and screen menus. I'm not in love with having this many buttons crammed into the side of the portable, so I'm considering implementing CrazyGadget's screen controls through GCC board to get rid of a few buttons.

PMS/ U-Amp Housing Board
PMS Uamp.png

You'll never guess what's on this board...

This board currently solders directly to the main bottom board, to bring all the audio and power signals to the bottom. I'd like to find some sort of connector to allow the two boards to come together and apart in a much nicer way. I'm currently using 0.1" header pins to mount them together, and the thinnest header pins connectors of this size still add up to over 7mm. I need something that can fit in the 2.6mm - 4.5mmish range. Any recommendations on things to implement to allow these boards to come apart conveniently would be great. This board also has a connector to go between @loopj 's Wii Power Strip project, so that there's almost no wires between the Wii and the power board.

WBC Front.PNG

Front half of the case hasn't changed much. @supertazon just donated a version of the 3.5" screen that has tempered glass and a different bezel, so I'll be working that in at some point.

WBC Back.PNG

The back half has evolved a fair bit since the original WBC. Cleaner vents for intake/output, better triggers, and new screwposts for all the new boards are the biggest changes. I plan on tweaking the battery holders to use the same ones that Wesk used in the Ashida, as those will be a better fit for this case.

As of yesterday, all the circuit boards and a case have been ordered. I expect there to be some issues to iron out, so I look forward to doing that in a couple of weeks.

Once the design is all polished up and verified, I do plan on open sourcing it. It'll still be a difficult build, but it'll at least be up to date with modern components and (hopefully) be a very clean design. That release is likely several months out, so you'll have to be patient. More updates soon!
 
Really awesome that you're revisiting this design and considering open sourcing it, thank you a lot!
It's incredible how integrated it is, we hope to achieve the same level of integration with the Gboy.

I have a suggestion regarding volume and OSD buttons:
  • Use a volume wheel for volume
  • Use a 3-point nav switch for OSD controls: allows to use + / - and HOME, which is enough to change settings and register changes. This is what Curtis uses in his Gboy build: https://www.mouser.com/ProductDetail/SparkFun/COM-08184?qs=WyAARYrbSnYOIhcg6ARCiQ==
    • You could add a small MCU and program it so that if you press the switch for more than 1 or 2 secs it registers ENTER (or whatever the last button is on the LCD driver board)
This solution is super low profile and you don't have to use clunky button combinations for everything. I am pretty fed up with having the map show up in Metroid Prime when changing the volume, it's super impractical.
 
This is awesome! I'm stoked to see this project get revitalized.
Gboy... Wiiboy Color, now we just need a GBOY Advance *lord knows I ain't gonna be able to pull that one off*
 
Love the idea you have for preventing interference with the custom flex cable, I always love seeing more and more portables that go all out without the wire spaghetti haha. Can't wait to see more updates!
 
Oops, it's almost done

I've done two rounds of prototypes, with the first one having a few big issues and the second one having some small issues. First prototype looked like this:
20240514_170820.jpg
20240514_174715.jpg

@supertazon donated a version of the 3.5" screen with a built in protector and some sleek looking bezels, so that I could make a variant that uses that screen. I liked the screen enough to make it the default for the build. This prototype had to be done on my FDM printer, thus the ugly supports all over the place on the back.

This build had a bunch of issues that needed to be resolved. The PMS/U-Amp board mounted to the big bottom board through headers, which was fine for a prototype, but once those boards were soldered together, it was impossible to get the two boards apart without eviscerating the case with heat. I updated the design to use mezzanine connectors to link the two boards together, the same type of connector that the Wii uses for the WiFi/Blutooth modules. This worked much better, though soldering the connectors to the board requires solder paste and a stencil.
20240425_235037.jpg
20240615_162648.jpg
20240624_141151.jpg


Another issue I ran into was that the 50mm premade cable I wanted to use to go between power strip just wasn't quite long enough for this use case. the 100mm one would be overkill, so making a custom cable is the best way to make it work. That's a bit more work than I'm willing to put in to get the internals looking a bit prettier, but I still really liked the convenience of PowerStrip.
20240426_121806.jpg
20240629_112323.jpg
20240629_112336.jpg

Since @loopj is a cool guy and open sourced PowerStrip, I made a silly version of it that has pads hanging off the side. Makes it easy to attach and detach the Wii from the PMS, and keeps all the niceties of PowerStrip that I liked. The open-source version of the Wiiboy Color should still be compatible with loopj's connector design if you're willing to make the custom cable. My only worry is that it's a tight squeeze for the cable between the batteries and the MX chip solder points, but I think you can make it work.

Another post-ugly prototype addition was the creation of a flex PCB that attaches to the AVE and goes directly to the driver board. This was my first time designing a PCB in KiCAD, @Aurelio and @YveltalGriffin offered a lot of helpful tips on using KiCAD and optimizing the flex PCB for production.
20240608_111255.jpg

Since I'm the best to ever do it, the flex lined up first try and works great! There's a very small amount of interference visible with this compared to real shielded wire, but it's a major step up from twisted magnet wire. I'll be open-sourcing this design separately in just a bit so that anyone else can have a good starting point for a similar flex.

From there, I updated the case and PCBs to resolve a few random issues and concerns. Everything arrived last week, and I was able to throw together one last prototype.
20240624_151221.jpg
20240629_111838.jpg


It works!
20240628_203948.jpg
20240628_204034.jpg


There's a few small things left to resolve, including
  • Figuring out the friction-fit screen on resin cases. I tuned the dimensions of the case so that the screen was locked tightly into place on an FDM print, but PCBWay resin cases have tolerances different enough that the screen needed to be glued into place. I don't want that to be a requirement, so I'm looking into tuning the tolerances for resin printing and trying to come up with a glue-free universal solution for holding the screen in place.
  • I had some funky USB stuff happening, but @cy pointed out that it's probably just a result of the old micro-SD I've been using for testing. I've ordered a good card to be 100% sure that was the cause.
  • Currently, installing the board with the side control buttons locks the bottom board on the back into place. The buttons hold everything in place, and it's impossible to take things apart without completely desoldering the side controls board. Current plan for a fix is to turn the side buttons into two pieces that snap together, so that it'll still be possible to take things apart completely without having to bust out the solder wick.
I'm probably still a couple months away from open-sourcing this design. I'd like to have a couple of experienced people try their hand at putting one together so that I can get some feedback on pain points I might have missed. Thanks for being patient!
 
CLEAN! Love this form factor! I'm curious to find out more on how you mounted the screen. So a glue-less design for the screen and only held by friction; does that mean one drop and it flies out? Also does that mean there are pressure spots from the tight tolerances squeezing against the display?
 
CLEAN! Love this form factor! I'm curious to find out more on how you mounted the screen. So a glue-less design for the screen and only held by friction; does that mean one drop and it flies out? Also does that mean there are pressure spots from the tight tolerances squeezing against the display?

I implemented the same friction fit style that Wesk used on his G-Boy remix. It locks in really, really tight on an FDM print, it would have to be a pretty serious fall for the screen to pop out. There's also a lip on the bottom of the screen that does tuck inside of the case, so if its held down tight enough by the driver board, then it shouldn't be possible for the screen to shift once everything is all closed up. I know those pressure spots you're talking about, but they never appeared with the friction fit setup.
 
I didn't even realize this was in the works. Seeing builds that reduce the amount of manual wiring needed and increase the number of custom PCBs and flexes is sincerely exciting! It really is wonderful to see this stuff and know it's just that much less likely to break down. Excellent work!
 
I implemented the same friction fit style that Wesk used on his G-Boy remix. It locks in really, really tight on an FDM print, it would have to be a pretty serious fall for the screen to pop out. There's also a lip on the bottom of the screen that does tuck inside of the case, so if its held down tight enough by the driver board, then it shouldn't be possible for the screen to shift once everything is all closed up. I know those pressure spots you're talking about, but they never appeared with the friction fit setup.
That’s awesome, thanks for elaborating. Really solid design!
 
Oops, it's almost done

I've done two rounds of prototypes, with the first one having a few big issues and the second one having some small issues. First prototype looked like this:
View attachment 34041View attachment 34042
@supertazon donated a version of the 3.5" screen with a built in protector and some sleek looking bezels, so that I could make a variant that uses that screen. I liked the screen enough to make it the default for the build. This prototype had to be done on my FDM printer, thus the ugly supports all over the place on the back.

This build had a bunch of issues that needed to be resolved. The PMS/U-Amp board mounted to the big bottom board through headers, which was fine for a prototype, but once those boards were soldered together, it was impossible to get the two boards apart without eviscerating the case with heat. I updated the design to use mezzanine connectors to link the two boards together, the same type of connector that the Wii uses for the WiFi/Blutooth modules. This worked much better, though soldering the connectors to the board requires solder paste and a stencil.
View attachment 34043View attachment 34045View attachment 34044

Another issue I ran into was that the 50mm premade cable I wanted to use to go between power strip just wasn't quite long enough for this use case. the 100mm one would be overkill, so making a custom cable is the best way to make it work. That's a bit more work than I'm willing to put in to get the internals looking a bit prettier, but I still really liked the convenience of PowerStrip.
View attachment 34046View attachment 34047View attachment 34048
Since @loopj is a cool guy and open sourced PowerStrip, I made a silly version of it that has pads hanging off the side. Makes it easy to attach and detach the Wii from the PMS, and keeps all the niceties of PowerStrip that I liked. The open-source version of the Wiiboy Color should still be compatible with loopj's connector design if you're willing to make the custom cable. My only worry is that it's a tight squeeze for the cable between the batteries and the MX chip solder points, but I think you can make it work.

Another post-ugly prototype addition was the creation of a flex PCB that attaches to the AVE and goes directly to the driver board. This was my first time designing a PCB in KiCAD, @Aurelio and @YveltalGriffin offered a lot of helpful tips on using KiCAD and optimizing the flex PCB for production.
View attachment 34049
Since I'm the best to ever do it, the flex lined up first try and works great! There's a very small amount of interference visible with this compared to real shielded wire, but it's a major step up from twisted magnet wire. I'll be open-sourcing this design separately in just a bit so that anyone else can have a good starting point for a similar flex.

From there, I updated the case and PCBs to resolve a few random issues and concerns. Everything arrived last week, and I was able to throw together one last prototype.View attachment 34050View attachment 34051

It works!
View attachment 34052View attachment 34053

There's a few small things left to resolve, including
  • Figuring out the friction-fit screen on resin cases. I tuned the dimensions of the case so that the screen was locked tightly into place on an FDM print, but PCBWay resin cases have tolerances different enough that the screen needed to be glued into place. I don't want that to be a requirement, so I'm looking into tuning the tolerances for resin printing and trying to come up with a glue-free universal solution for holding the screen in place.
  • I had some funky USB stuff happening, but @cy pointed out that it's probably just a result of the old micro-SD I've been using for testing. I've ordered a good card to be 100% sure that was the cause.
  • Currently, installing the board with the side control buttons locks the bottom board on the back into place. The buttons hold everything in place, and it's impossible to take things apart without completely desoldering the side controls board. Current plan for a fix is to turn the side buttons into two pieces that snap together, so that it'll still be possible to take things apart completely without having to bust out the solder wick.
I'm probably still a couple months away from open-sourcing this design. I'd like to have a couple of experienced people try their hand at putting one together so that I can get some feedback on pain points I might have missed. Thanks for being patient!

Wow! you've been busy these past few months!

Those two prototypes look really sleek ant those PCBs and flexes look really neat!

Maybe with the resin friction-fits, you could add some extra snap-fit tolerances where there aren't any important solder pads, like these spots
20240629_111838 v2.jpg

Keep up the work!
 
Back
Top