Worklog Wii U Micro

Lazr

.
Joined
Oct 3, 2023
Messages
111
Likes
317
Location
WA
Portables
Zero! Micro console gang 4 life!
Idk how often I am going to post updates here.

Funky things are happening!!

IMG_20261027_220117_DRO.webp


I am terrible at 3D CAD, so it took about 2ish days to get here. Getting a little better at least. Everything done so far has been done with OnShape. I don't think I'll ever have the brain power for a full on portable though.
The main goal is to have a use for the LOLWUN. I don't want to have documented everything about them go to waste..
It'll still work for LOLWUT's.....but why would you waste one on this?

I think atp I'm done with the bottom half of the shell:
1793172513767.webp


And working on the top half:
1793172563845.webp

Right now it's just cooling holes (and that's not even done). I do want to have the power/eject buttons and all of the LEDs up there just so I have have my status indicators.
HDMI and power input will probably be mounted up there too.
I think the final shell with be printed in a pink PETG. Not that I want to, but i'm running out of filaments.

Finally, the hardware!
Last year I designed a power regulator board (4L) for this project and tried out AISLER's PCB service when tariff stuff was still constantly changing. They're OK if we look past the board copper going right to the very edge (JLC's and PCBWay's engineers usually scale it back about half a millimeter or something so the copper isn't exposed at the edge) and one of the 3 boards was X'd out and I wasn't notified. I remember the price being pretty alright though, so it's hard to complain.
1793173005848.webp
1793173033240.webp
1793173055977.webp
1793172988658.webp


It's name? PiiSU. That will be the first and only time I will use that on this post for everyone's sanity.
The board is intended to take in 12v, but up to 17v at the very maximum should be fine.
Half the work was done for me, as I surface-mounted Yveltals reggies right to the PCB for 3v3, 5v, and 1v5. All of these are 1a or below, more than enough. Probably made the BOM a little cheaper too (don't quote me on this).
1v and 1v15 are using the SiC431's that are found on bistro and the failure that was minireg.
1v25 and 1v1 are using LDO's, powered from 3v3. It's not battery powered, it's fine.

Here's what an assembled one looks like:
(The bodge wire is not needed if you're using SiC431AED/SiC431BED. The C and D variants need an external 5v supply, which is what I had on hand after I fried one of them)
IMG_20261028_004359_DRO.webp


To mount the reg board on the inside, I designed this little mount:
1793173674275.webp

Secured to the mount/shell with those screws every Wii/Wii U has like 20 of.
1793173829619.webp

Inspiration from Crazy's PSU-Plus mount for Nold's Wii Micro!
This is the only custom PCB in this build, as I currently can't afford any others.

The heatsink I'll be using is the stock one. Unfortunately a 45x45x10 heatsink paired with the 50mm blower fan as shown in the R&D thread is just barely enough to cool an A5X before it shuts off from overheating. If it's like that for awhile, who knows what damage it could cause over time. I'm not really able to get a beefier heatsink, so this is the only option. The stock fan is used due to this. It's also why the power board is vertically mounted.
The USB ports at the back are also stock.
I want to have USB-C input to power it, but I don't have any trigger boards on hand, so I might go with the barrel-jack route or use the stock plug until I can get a PD trigger board.
When I do get around to it, I think the best solution is to request 15v and then have a buck converter take that down to 12v for the power board.
Option 2 is request 12v and I wire it straight to the power board, but that wouldn't ensure compatability with every PD block under the sun.
The entire current of the system is going to run through some switches that I bought for Wii Micros. Hopefully they'll be fine..

I'm taking out the AV and sensor bar ports. I just dont really want to have to deal with them, so HDMI only it is. Technically HDMI is harder to relocate than analog video but whatever. If a sensor bar is needed, there is the USB ports for 5v.

I'll decide if I want to bother relocating the WiFi module. With software patches its mostly gone, with the problem being vWii/Wii VC (the IOSes/HAI IOS are not patched, so the vWii or whatever Wii VC game wont boot if the module is missing).
Bluetooth and the 5GHz module will be kept for full Wii remote/pro controller and gamepad compatability. I think I'll use antennas from the Wii's WiFI module though, just because they're nice and flat.

For storage, I'm just going to keep the 32GB eMMC. All the games I would want to play can fit on it. The only worry is that its a Hynix eMMC that was failing but I just reformatted it and pretended that didn't happen (if I really get worried about the eMMC I'll reball a random one I find and put in that one) USB will be used for homebrew.
 
I'm writing this because I have nothing better to do currently, I think.

The shells take ~7 hours to print combined, with most of that being the top shell. No duh, it's tall AF (42mm on its own!)
The whole build is 160.5x122x52mm. 57mm tall with the feet. The added 0.5mm of length is so the power plug doesn't stick out a little.

Things I did today:
- Print the bottom shell in PETG. I really dig the pink! Worlds first Pink Wii U! My only worry about PETG is it coming off the build plate mid-print.
1793249866465.webp

- Add a recess for the Bluetooth module to sit nicely. I had to extend the cutout by half a mm though, because on a PETG print the module wouldn't go in without some force unlike the PLA prints. I guess PETG shrinks a little more than PLA? oh well. I also put a little bracket (or the "electric chair") over it to keep it from ever falling out.
1793249894467.webp

- Put in a power plug. I'll be using the stock plug because why not use more parts from the stock board
1793249984086.webp

- Put in the HDMI port on the top shell. It's going to sit above the power port. This will also be the stock port.
1793250200354.webp

- Buttons/LED's. They look out of place (maybe I shouldn't have put them at the front..) but if I really don't like them or the whole thing just doesn't work, I'll just remove them. I tried to copy the faceplate but eventually vibed (no not AI) the positioning of everything. If I do remove them I think I'll have the front panel connector next to the SMC just so I know what the system is doing.
1793250123562.webp


And here's what the whole thing looks like currently:
1793250396093.webp
1793250354253.webp

1793250450832.webp
1793250497106.webp


I know I need to print the bottom part at least one more time. Top shell is kind of a gamble.
IDK if the cooling system is adequate, but with some holes for air to flow, the beefy stock heatsink, and the stock fan, I think it'll be fine.
If someone we're to want the AV port for some reason, there might be just enough space over the USB ports if the sensor bar port is lobbed off. I'm not going to do that though.
 
Big update today!

First off, last week I trimmed a WUP-40, and it works! Pains me to admit that I think this is the first LOLWUN to reach the Wii U Menu.
trim.webp
trim_boots.webp

I spent hell of a lot of time troubleshooting though.

As I was sanding the SMC/RTC daughterboard, I noticed that there was a dead short to GND on only one of the 3v3 pins to the RTC I hadn't wired to the rest yet. WTF? Did I kill it?
Short answer: no, it was completely my doing
I will admit I went a little scorched earth and hot air-ed the RTC off the daughterboard, the short persisted though. Because I hot aired the RTC off, it is my belief that I somehow messed up the connection between the RTC and XTAL.
I did find the short eventually (small solder whisker where I had accidentally exposed some of the GND plane) and started wiring everything up to the Wii U!
smcrtc.webp

I was too lazy to wire up the LEDs, but if I wanted to check if it booted I could just measure the blue LED pin (should measure 3v3).

But I couldn't test the trim just yet, as NAND/eMMC were not relocated.

So lets relocate them!
nandemmc.webp
nandemmcmicroscope.webp

I forgot how annoying the NAND wiring was, but it did technically work first try. In the future, I think eMMC wiring should be done first.

At this point all that's needed to test is to wire up power! I wired up my reg board (I probably didn't need to double up the 18AWG wire to 1v but it makes me happy so whatever).
power.webp

Everything wired up and.....! no boot

I had been assuming that it was a problem with my NAND relocation as the wires are all crossing each other and they are pretty big for the vias (32AWG). I didn't really want to have to rewire NAND though, so I called it there for the night.

The next day I was planning on redoing it, but one of my irl friends wanted to go out, so I did. Let me ponder more about everything at least.
It was that morning I remembered that I had done some things to the RTC. Later in the night I checked, and it turns out that the RTC was holding the SoC reset low forever..? RTC is also the one that performs PoR on the SoC, for the nerds that care. IDK what the SMC does with it.

For testing, I disconnected the RTC from RESET, and now it was showing 3v3! SMC doesn't do PoR though, so the Starbuck was in was weird state.
boot0 would get all the way up to initializing the NAND engine, and then fail at initializing it, throwing error code 0xda on the DEBUG port. Of course I still hadn't realized that the SMC doesn't do PoR, so I was under the impression that it was my NAND wiring.
.....that is, until I poked reset with my multimeter and it booted.

Oh yeah, I wired up an rp2040 and tried a variety of different de_Fuse firmwares until I remembered @stuckpixel's DEBUG sniffer.
Technically it's for the Wii, but the Wii U is pretty similar in how it uses the DEBUG port, so it worked with zero changes.

Of course, with the RTC not functioning properly, it was being sent straight into ECO mode (standby) due to every single RTC flag being set.
I had two choices: I could try and get the RTC working (which I didn't really want to keep that variable), or I could cut another daughterboard of a known-good (or at least working good enough) SMC/RTC and use that instead. I opted for the latter, to rule out any weirdness the RTC could have.
rtctop.webp
rtcbottom.webp

Ignore the swooshes :). This was also the point where I ran out of 32AWG wire, so everything was done with 38AWG.
After wiring this one up, it just workedtm. Nothing really of note.
I wonder with some heavy software patches, the RTC can be replaced a U10 from the Wii (or similar). SMC can be removed for free, but knowing what LEDs are on is nice.

The Wii U still doesn't fully boot up though.
I've always had problems with eMMC relocations, no matter what I just couldn't ever get them to work, and this one was the same thing for awhile.
I tried troubleshooting for a few hours and I got nowhere so I left it for another 1-2 days.
Eventually I wired up an SD card slot to the front slot and wired up the RP2040 again (for some reason I removed it). The de_Fuse firmware did need some edits to work on the RP2040-Tiny, but it was only GPIO changes. I was determined to figure out why this wasn't working.
I knew the eMMC itself was functional, as I was able to get a full dump of it through a microSD adapter, and extracting the dump yielded no corruption.
minute_minute has a nice feature to print MLC info, which is what I had used to see what was going on:
mlcinfo.webp

It saw the eMMC, but was failing to up the clock speed? At least this confirms CLK, CMD, and DAT0 are OK.

I don't really see this much but I do think it can be useful: diode readings. Multimeters are your best friend here, why not use all of the features? :P
Anyway, I removed the wires to the eMMC points on the daughterboard, probed every pin of the eMMC and....DAT3 has no voltage drop..?
This would only be the case if there was no connection to the eMMC....

It's a little painful to have to fold over the daughterboard on its wires to access the eMMC stuff, but whatever.
The problem was immediately noticeable: the DAT3 series resistor was broken. Nothing crazy to fix, can just remove it and use a jumper wire and everything will work just fine.
I didn't get any pics in my haste to test, but the eMMC is fully recognized in minute!
emmcinfo2.webp

The Wii U Menu also booted!

Because I was troubleshooting basically blind as to wtf the thing was doing, I wired up the 5GHz module just hoping that shit was actually just working and I simply forgot to set it to output composite (even though I explicitly remember setting it to composite).
Of course, it never worked because the eMMC was the problem, but most of the ground work was laid out already! I did accidentally flip two wires, but after fixing that..
1793740237528.webp

Works perfectly!

Because I only have 38awg (and some other wire that is too big for this) I doubled up some 38awg for power/ground to the module. IDK how much power the module really uses but it definitely gets quite warm.
5ghz.webp


So things that are left to do on the hardware angle:
- Wire up BT
- Wire up USB
- Wire up HDMI
- Put the power switch between the DC jack and reg board
- Wire 5v to USB, HDMI, and Fan
- MAYBE WiFi. I do have a module but idk if I am bothered enough to
Before I do anything more though, I am going to wait for some 34AWG magnet wire to arrive. 38 works I guess but idk if I want to deal with hair-sized differential pairs.

I have some things to say about the shell too!
In the midst of troubleshooting, I made a flex to relocate NAND/eMMC/WiFi out of annoyance. I am unable to order them to test, but everything looks fine:
1793740565416.webp
1793740636153.webp

Layout is basically identical to cafeFlex, but tbf there's not really much room to deviate.
I swear this is important for the shell!
Because the microSD slot blocks one of the screwholes, I had to remove one of the posts for the heatsink:
1793740763653.webp

I think 3/4 will be adequate, so I'm not really that worried.

One of the screws for the BT module holder thing that I designed completely conflicts with the NAND/eMMC daughterboard. I forgot to consider that the daughterboard will be in that area. Whoops! With the flex this isn't a huge problem as there's not a lot of thickness added, so I am just going leave that as-is, glue the module in place, and call it good.

I'm ditching the LEDs. I'm going to leave the sketch or whatever in the project but I am worried the LEDs are going to bleed through the shell and look weird.

That's all for now.
 
Back
Top