What's new

Worklog Cyxty Four Worklog (Ashida style N64 portable)

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
It's finally time for me to build something other than a G-Wii, and no, I'm not talking another Wii portable. The scope of this project is fairly straight forward: Make an N64 portable with USB pass-through for an N64 controller HUB and Composite AV out. For those who don't know what this means, it essentially means creating a way to output audio and video on a CRT(or modern display with an adapter) while simultaneously having a controller solution allowing for 4 player multiplayer. This shouldn't be rocket science for me considering I was able to pull off something similar to this in my last project. The challenging aspect of this project comes in the form of it being an N64 which I'm yet to portablize.

This project has been in my cards for a little while now. I bought an N64 motherboard, PIF relocation board, and N64 Joystick converter board from @SparkleBear a year or so ago, so this was always something I had intended on doing. It wasn't until recently however, that I've actually gotten to work on this project. Progress has been real slow so far but that is in part due to my lack of components and funding. That's going to change soon though, and I plan to purchase a PMS1 from @CrazyGadget at MGC at the end of this month meaning I'll be able to successfully trim and test my board. I will still be waiting on other components such as a screen and other unaccounted for items that'll be needed, so I'm not expecting progress on this project to be fast.

With all of that said, I have removed and relocated the PIF, U8, and U3 off of the N64 motherboard. As of right now, the rest of my PIF breakout board is unpopulated, although I do have plans for how I intend to populate the rest of it soonish at least, so keep an eye out for that little update. Anyways, here's how my PIF relocation is looking:

PIF relocation pre-resistors and caps.png


I've tested all legs of PIF and U8 with a multimeter and everything checks out so far. I'm looking forward to populating the rest of this board soon and hopefully trimming and testing the N64 after I get back from MGC. As for the jumper pak, I plan on simply relocating an N64 expansion pak which I picked up at MGC in 2021 for better compatibility with games. I am aware that RAM swapping is a thing, but I'm afraid that is a little out of the budget and scope of this project - fitting an expansion pak in this thing shouldn't be too difficult anyways. I'd like to thank @SparkleBear for advice with this as well as for supplying me with the components I needed for cheap. I'd also like to thank him for supplying me with some of this knowledge in the form of his worklog which you can find here. Also thanks to @Gman for designing the PIF relocation board and everyone responsible for the Advanced N64 Trimming Guide.
 
Last edited:

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Update time: I've populated the PIF relocation board with resistors and caps, I'd like to thank @SparkleBear again for advice and help with this. He suggested I purchase a book like this one which has a lot of common resistor and cap values physically available within the pages of the book. This wasn't quite enough though, this book had almost all the values I needed, but it didn't have the 47k ohm resistors needed by this board. It did have values that were close, but to ensure the relocation was done correctly, I looked into alternative solutions. @CrashBash told me that resistor stacking is a thing, and after a bit of math(and totally not just pulling up a calculator for this on the web), I discovered that if I put 51k and 680k ohm resistors in parallel by stacking them, I'd get the 47k ohms I'd need. So resistor stacking and populating I went until finally:

PIF relocation post-resistors and caps.png


I should've taken a side shot of the resistors so you could see they were stacked, but I suppose that is water under the bridge. Now my PIF relocation board was completely populated, although... It sure would've been nice to test and verify it worked... More on this later...

For now, I decided my best bet was to create a battery clip solution that I could easily implement into the portable as I'm tired of soldering directly to batteries. I shouldn't have to explain why this is a good idea and I actually already have some left over battery clips from my Ashida build. By "left over" I mean all of them because I wasn't able to get my hands on the right ones at the time and I was in a rush to finish it so I could bring it to MGC meaning I ultimately soldered to the batteries of that one. This left me with battery clips that I needed to design a solution for, so I did just that:

Battery Holder Prusa Slicer.png

Here's how the final design turned out:
20230317_224945.jpg

(let's ignore the fact I need to vacuum my floor)

This design was made for 18650s with specifically these battery clips(digikey part #36-209-ND). If anybody is interested in using this battery clip design for themselves, I'm including the model files in this post. Note that the scaling will need to be set to "2.54"% under scale factors in prusa slicer if you use the STL at it's current scale. It may also need to be rotated 90 degrees(note that the gcode of it is already scaled and rotated accordingly).

That's enough 3d design for now though, let's get to the more interesting part of this update post... The trim!

Originally I was planning on waiting to trim this puppy until I got the PMS1 I intended to power it with from @CrazyGadget , but I was really eager to continue my progress in this project and was dying to see if my PIF relocation would actually work. The problem is that even after trimming this thing, I still need a way to power it. A few weeks ago I ordered up two 18650s for this unit and I happened to have a singular PMS2 left. I didn't want to use it on this project or open it even really, so my original intention was to wait until after MGC... And then 4layer announced the return of PMS2's... With this, I was no longer worried about risking my precious last PMS2 and I decided to give the trim a go!

Here's what my outline looked like:
Pre Trim N64.png

Notice how I removed many of the unnecessary components like the power switch, reset button and many of the caps with hot air. The caps could've easily been de-soldered, but things like the power switch were gonna take more than just a soldering iron to remove. I also wanted to preserve the controller ports since a controller hub with USB pass-through is in the works for this project. Really, if it was even close to being in the way, I either de-soldered it, or removed it with hot air.

With all of that, I decided to go forward with the trim and here's the result I got:
Post Trim.png


Yeah, I kinda made the cardinal sin of forgetting to take a picture of it immediately trimming and sanding it. This picture shows the trim after I wired up the PIF and necessary voltages. I put the OEM cooling solution on for the time being since I wanted to test it for a few minutes to ensure it'd continue running once I turned it on. With all of that, I very nervously wired up a composite out connector I had lying around, hooked it up to an HDMI adapter, brought in a monitor to test it with, and turned it on... The following was my result:


As you can see, it boots! This trim was a lot more challenging than any Wii trim I've done. Even after removing components that would be in the way there was still a lot of care that need to be taken to ensure this trim was a success: Carefully triple checking my outline, ensuring I had the right trim for my motherboard revision(this was a revision 2 trim), not cutting my fingers off by holding the board in a stupid way(that was a bit harder than you'd expect, the N64 doesn't have a lot to hold on to), and not butchering the traces that connect the CPU, RCP, and Cartridge slot together by not slipping with the dremel and correctly/carefully following the outline I drew. It's a lot harder than it sounds believe it or not, or maybe I'm just really bad at using a dremel. Either way though, the trim is complete and it was successful as was my PIF relocation! Next update will likely be a little ways out, but I do plan on doing some case design in the meantime so who knows?

Thank you to @CrazyGadget @CrashBash @Gman @SparkleBear @That_Random_Guy (you know everything you did to help with this project ;) ) And last but not least, @Y2K . You're all awesome!
 

Attachments

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
I am aware that RAM swapping is a thing, but I'm afraid that is a little out of the budget and scope of this project
SIKE!

Not only did I lie to all of you about not doing a RAM swap, but I lied to myself as well. Turns out I had a spare expansion pak lying around that I wasn't aware of... I still wasn't planning on doing this until I realized I'd have a much better time designing the unit around a jumper pak relocation than I would an expansion pak, so... I now proudly present my trimmed 8MB N64 with a jumper pak used to close the circuit instead of an expansion pak.

Here it is booting into Majora's Mask:

If you watch the full video, you'll find that Majora's Mask states that the expansion pak is undetected in the unmodified N64 and obviously is detected in the trimmed one. The point of this is to showcase what happens when you boot into MM without an expansion pak. Here's some better shots of the RAM swap:

1.jpg
2.jpg
3.jpg


(Getting one side angle with both sets of pins in focus proved impossible, so I ended up taking several pictures of it. These three pics do the best job showing off my work)

This ought to make the internals cleaner and the case smaller.
 
Last edited:

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Time for another update! I'm a bit overdue for this so there's gonna be a lot to share! After performing the RAM swap I was getting a bit tired of making my footprint smaller on something I couldn't really play yet, so I got to researching and beginning my first controller trim. After trimming, I wired it up using the controller pinout found here and with a little common sense I was able to test it! Here's how the trim came out and a video of me testing it:

Controller Trim.jpg


Sadly, I didn't think to take a picture of the trim outline ahead of time, but the good news is that it works!

A video of it working can be found here
(I wasn't able to embed this video unfortunately)

This was a delightful little trim to have out of the way, trimming something to be this tiny was difficult and kinda scary with how the dremel likes to jump around... I ended up having to hold on to it with a pair of pliers so I didn't put my hand at risk.

Having a trimmed controller was great and all, but I didn't even have a way to test it on my trimmed motherboard since I cut the controller connectors off. With this in mind, I decided it was time to design, print, and wire up the USB 3.0 breakout hub. This wasn't my first time doing something like this, and I wasted no time consulting resources like the N64 Trimming guide for controller pinout, and this website for USB 3.0 color coding and general pinout. After deciding what my pinout would be and saving it in notepad I began a few iterative test prints.

@Wesk recently uploaded a full N64 console scan which made designing the breakout hub for this project significantly quicker and easier. This gave me the proportions I needed and likely saved me many iterative test prints, so a big thanks to him for doing this scan! While what ended up being the final revision of this hub was printing, I decided to tackle the corrosion on the controller ports I had de-soldered. My dad recommended I use some vinegar on a Q-tip and really scrub it down good, afterwards he suggested I use a mixture of baking powder and water to neutralize it. Afterwards I hit with some IPA because it seemed like a good idea. My results were as follows:

Before.jpg


I didn't think to take a picture before starting the treatment, but the ports on the top are after using vinegar and baking soda and the ones on the bottom are after just vinegar. The corrosion was a lot worse before I treated with vinegar, so this picture doesn't really do the method a justice, but this worked incredibly well making the pins look almost new.

20230321_103005.jpg


I did the same for the contact points since it seemed like a good idea. The one on the left is before, and the one on the right is after. Doesn't look like I got that much off but Mr. Q-tip says otherwise so...

With clean controller connectors and a finished controller hub printed, I was ready to begin assembly. I didn't want to go through the headache of printing a bracket for the connectors to slide into and have it screw down into the hub, I also wanted to see how realistic it'd be to do all my wiring on the underside of the connectors since that'd yield the cleanest results. Here's how the overall wiring turned out:

Controller Hub 1.jpg


And here's how it sat in the hub:

Controller Hub 2.jpg


Now all that was left was to create a reliable solution for retaining the ports(since these were kinda just dangling there in their holes and plugging in controllers meant pushing them out). This was accomplished using 3d printed boxes to fill in the gaps:

Controller Hub 3.jpg


This was done in green since that's what I have the most of and it wouldn't show externally. Now all that was left was the lid which I designed to be a friction fit:

Controller Hub 4.jpg


With this the controller hub was done! The hub works exactly as intended and as expected, so does the controller trim! I'll show a video of this at the end of the thread since the video demonstrates something else cool that I got working.

That something else would be tackling the jumper pak relocation... This relocation didn't leave me with many options since I didn't want to increase the thickness of the unit, and I didn't want to trim and relocate the jumper pak. So I decided to look into the obvious solution of removing the components from it and terminating the RAM bus with said components. As expected, this had already been done by somebody else before me, that person being Akira. Somewhere along the way of researching it, I had discovered @YveltalGriffin was familiar with the Akira method, so I decided to ask him about it. He walked me through the process of doing this and was incredibly patient, serious thanks to him for help with this!

My first attempt didn't go so well, I struggled to get good solder joints and in general it ended up being a bit of a mess. Surprisingly, it ended up working for a bit, but sadly that didn't last which left me to redo it. But before I redid it, I heeded @YveltalGriffin 's advice of picking up some Chipquik SMD291 flux as he boldly claimed that would make it easy. To my surprise, he was right! My results were 10x better this time around, and after redoing and a little bit of troubleshooting, I got it working flawlessly(seriously, I played tested the unit for 20 mins and it has been problem free)! Here's a picture and video of it in action:

20230327_161845.jpg



As promised, this video showcases the USB 3.0 controller hub in action with all the controllers working. Somewhere along the way I decided to redo my PIF relocation since it was starting to get in the way, so this video also shows that nicely positioned on the back of the motherboard. The USB and PMS are still attached in a very temporary manner for the time being since there isn't really any getting around that right now. I'd like to thank both @Wesk and @YveltalGriffin again for their help with this project! Their efforts have given me better results and saved me a lot of time!
 

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
It's been quite some time since I posted an update on this project. Over the last few months, I wanted to relax and enjoy what was left before classes started back up. That didn't stop me completely however... For starters, I realized I was going to need a good controller solution for this project. While my last post did feature a good working N64 controller trim, I quickly realized that this was going to lose compatibility with many of the games in the N64 library since this trim lacks a memory pak. Furthermore, finding a good mounting solution for the cartridge slot was also going to be important. So I decided to learn the basics of PCB design in Ki CAD and with my newfound skills, I was able to make a cartridge slot mounting PCB as well as a PCB for the original N64 controller complete with FRAM storage:

N64 NUS CNT/FRAM PCB:
3d view controller 1.png
3d view controller 2.png
N64 Controller PCB Ki Cad.png
Rev 2 PCB.png

Thanks to @Gman & @SparkleBear for providing me with critical diagrams for this design! I did still need to endlessly probe things with my multi-meter, but the data sheets and diagrams provided by their threads or directly made my multi-meter probing a lot less endless haha.

I also want to thank @Y2K @CrazyGadget @Shank & @YveltalGriffin for advice, help, and encouragement with this PCB. It did take 2 revisions, but you guys saved me a lot of additional revisions and everyone's help made a huge difference!

Cartridge slot mounting PCB:
3d view cart slot PCB.png
N64 Cartridge PCB.png
Cart Slot Everdrive.png
Cart Slot.png


These designs have gotten me far, and after tweaking various feature goals, I was finally able to commit to a design for this unit. Recently, @Wesk released a 3d scan of the brawler 64 aftermarket controller.

Since this scan was recently released, and since I already have lots of experience with 3d modeling I figured an Ashida 64 was the obvious direction to take. As of right now, there are still quite a few unknowns that'll remain unknown until I have the case finished. But I've already started working on it and various other necessary mounts:

DPST Switch mount, this will be used to switch the composite video signal as well as the player 1 controller signal:
20231002_184015.jpg


USB-C Charging board mount (I have verified this board IS compatible with the PMS & PMS 2):
20231002_184113.jpg
20231002_184134.jpg


(Unused) N64 Joystick Mount:
20230919_215431.jpg

I went to the trouble of making this N64 Joystick mount, but it's gonna go unused sadly because:


IT'S BRAWLER 64 TIME!
20231001_210934.jpg

Using the Brawler 64 PCB is going to save me a TON of hassle AND it'll mount more accurately (Or so I thought...)!

Unfortunately, this controller is using a very... custom means of converting the GameCube style joystick box to a format recognized by the console. How in the world am I supposed to make this joystick work with an official controller while keeping it on this PCB? My options at this point were to either use the brawler controller's original chip, or to trim the chip off and use the brawler PCB specifically for mounting. Since keeping the controller's original method of controlling the console would've meant sacrificing memory pak functionality, I decided to just trim my problems away...

20231002_180227.jpg
20231002_180240.jpg


Eventually I realized I was going to need a micro controller solution for the joystick being used regardless, so I decided to mount the PCB found inside this replacement N64 joystick behind the brawler PCB and over the pads of the joystick on the brawler. At first this wasn't working due to connections that were still being made on the brawler PCB. I tried cutting the traces for these, but I wasn't able to remove all of the connections that were being made, so I scraped off all the copper for the mounting holes for it on the controller PCB with an X-Acto knife and it works!

20231002_180247.jpg


As you can see, along with the flux that I really need to clean up, the joystick pins come out far enough to fit into the PCB with solder effectively mounting the joystick in place! Not only is the joystick functional now, but the Z trigger even fits over the PCB too (after some light trimming that is)!

There's one more thing I have to share for now:

image.png


I'm going to be re-using the original console's AV port for composite video and analogue audio out. This decision came with me also deciding to just go with composite video over VGA or HDMI since it's a lot simpler and is gonna end up saving my battery life in the long run. Enjoy the memey diagram I found myself making as a result!
 

Y2K

"The PS1 Guy"
Staff member
.
.
Joined
Apr 14, 2022
Messages
181
Likes
400
Location
Chicago, IL
It's been quite some time since I posted an update on this project. Over the last few months, I wanted to relax and enjoy what was left before classes started back up. That didn't stop me completely however... For starters, I realized I was going to need a good controller solution for this project. While my last post did feature a good working N64 controller trim, I quickly realized that this was going to lose compatibility with many of the games in the N64 library since this trim lacks a memory pak. Furthermore, finding a good mounting solution for the cartridge slot was also going to be important. So I decided to learn the basics of PCB design in Ki CAD and with my newfound skills, I was able to make a cartridge slot mounting PCB as well as a PCB for the original N64 controller complete with FRAM storage:

N64 NUS CNT/FRAM PCB:
View attachment 30063View attachment 30064View attachment 30065View attachment 30066
Thanks to @Gman & @SparkleBear for providing me with critical diagrams for this design! I did still need to endlessly probe things with my multi-meter, but the data sheets and diagrams provided by their threads or directly made my multi-meter probing a lot less endless haha.

I also want to thank @Y2K @CrazyGadget @Shank & @YveltalGriffin for advice, help, and encouragement with this PCB. It did take 2 revisions, but you guys saved me a lot of additional revisions and everyone's help made a huge difference!

Cartridge slot mounting PCB:
View attachment 30067View attachment 30069View attachment 30068View attachment 30070

These designs have gotten me far, and after tweaking various feature goals, I was finally able to commit to a design for this unit. Recently, @Wesk released a 3d scan of the brawler 64 aftermarket controller.

Since this scan was recently released, and since I already have lots of experience with 3d modeling I figured an Ashida 64 was the obvious direction to take. As of right now, there are still quite a few unknowns that'll remain unknown until I have the case finished. But I've already started working on it and various other necessary mounts:

DPST Switch mount, this will be used to switch the composite video signal as well as the player 1 controller signal:
View attachment 30071

USB-C Charging board mount (I have verified this board IS compatible with the PMS & PMS 2):
View attachment 30072View attachment 30073

(Unused) N64 Joystick Mount:
View attachment 30074
I went to the trouble of making this N64 Joystick mount, but it's gonna go unused sadly because:


IT'S BRAWLER 64 TIME!
View attachment 30075
Using the Brawler 64 PCB is going to save me a TON of hassle AND it'll mount more accurately (Or so I thought...)!

Unfortunately, this controller is using a very... custom means of converting the GameCube style joystick box to a format recognized by the console. How in the world am I supposed to make this joystick work with an official controller while keeping it on this PCB? My options at this point were to either use the brawler controller's original chip, or to trim the chip off and use the brawler PCB specifically for mounting. Since keeping the controller's original method of controlling the console would've meant sacrificing memory pak functionality, I decided to just trim my problems away...

View attachment 30077View attachment 30078

Eventually I realized I was going to need a micro controller solution for the joystick being used regardless, so I decided to mount the PCB found inside this replacement N64 joystick behind the brawler PCB and over the pads of the joystick on the brawler. At first this wasn't working due to connections that were still being made on the brawler PCB. I tried cutting the traces for these, but I wasn't able to remove all of the connections that were being made, so I scraped off all the copper for the mounting holes for it on the controller PCB with an X-Acto knife and it works!

View attachment 30079

As you can see, along with the flux that I really need to clean up, the joystick pins come out far enough to fit into the PCB with solder effectively mounting the joystick in place! Not only is the joystick functional now, but the Z trigger even fits over the PCB too (after some light trimming that is)!

There's one more thing I have to share for now:

View attachment 30080

I'm going to be re-using the original console's AV port for composite video and analogue audio out. This decision came with me also deciding to just go with composite video over VGA or HDMI since it's a lot simpler and is gonna end up saving my battery life in the long run. Enjoy the memey diagram I found myself making as a result!
Nice work! Btw, maybe it would be a better idea to use one of these replacement AV ports for your project, since they seem to have an overall smaller footprint? Entirely made of PCBs, so you might be able to incorporate the overall connector shape into your build and just slot a PCB that has the contacts into it? Just a thought! https://www.ebay.com/itm/174492488458
 
  • Like
Reactions: cy

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Nice work! Btw, maybe it would be a better idea to use one of these replacement AV ports for your project, since they seem to have an overall smaller footprint? Entirely made of PCBs, so you might be able to incorporate the overall connector shape into your build and just slot a PCB that has the contacts into it? Just a thought! https://www.ebay.com/itm/174492488458
Thank you for sharing this, I had no idea anything like it existed. As cool as that looks, I'm planning on trimming the original one down and I've already began work on a mount for it. The main reason I wanted to use the original connector was because it is easy to get off the motherboard and is one less part for me to source/order. I do appreciate you bringing this to my attention though. It's great to have options!
 

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Time for another update! Up to this point everything was going pretty smoothly, but it wouldn't be my first original portable if I didn't make a few mistakes along the way... So let's get those out of the way and then we'll move on to the good stuff!

Going in order of events, I designed and ordered a resistor pak relocation flex that I titled the "Terminator 64". Shoutouts to @CrazyGadget for pointing out Noah's unreleased jumper pak flex to me so I could yeet the name from him lol. In all seriousness, I didn't know what else to call this thing, and the name stuck, so here it is:
flex 1.jpg

flex 2.jpg


It sure looked great when it was installed too! Unfortunately, it didn't work. @YveltalGriffin pointed out to me that I hadn't connected my ground plane properly along with a handful of other design flaws. I thought that this flex was going to be simple, but the Jumper Pak on the N64 is surprisingly complex! Yveltal was also gracious enough to help me re-design the flex, so soon enough those will be arriving in the mail and hopefully I'll have a working jumper pak flex when they do!

When I installed this flex, I decided to install it on my trimmed board that already had the jumper pak relocated done Akira style. Since installing this flex meant removing my working relocation, and since the flex didn't work, I found myself wanting to re-do the relocation and rely on it until the replacement flexes arrived so I could do further testing. Before doing this relocation, I decided to remove the nearby vias. These vias are always in the way and I figured removing them would make it easier to avoid any bridging while simultaneously preventing any wires from touching them post-relocation (because I've had that happen before...):
undead board.jpg

Unfortunately removing these vias caused the board to cease functioning. At the time, I didn't think these vias were making any important connections, but it is clear to me now that they were. I'm certain it is possible to revive this board if I restore the original connections with magnet wire, but the more time went on, the more I realized that this is going to be a very time-consuming very annoying nightmare. Possible? certainly, but it'd be a huge pain in the ass and I can't be bothered to try and fix this board right now. I honestly just wanted a fresh start at this point.

So, after swallowing my pride, I began work on a new board. I haven't done the PIF relocation or trim yet since I'd like to do my stability testing on something that doesn't keep draining my 18650's battery life. Somewhere along the way of this project I decided I wanted to replace all the aluminum capacitors as a future-proofing measure since these things tend to leak and fail after so much time. @CrazyGadget was able to recommend me some replacement Tantalum caps that would've been necessary for installing his RCP flex anyways, so replacing 3 more caps was only common sense considering they're all the same values.

When it was finally time to install these caps, I assumed they were just larger ceramic capacitors. For those of you who don't know, ceramic capacitors don't have a positive or a negative side to them, so you can install them whichever way you want. I decided when I went to install these caps that I was going to install them one at a time just in case something went wrong... This was the right call to say the least!

Poor phil.jpg

Phil the Capacitor died at the age of 42 doing what he loved most... Phil's family called the Digi-Key legal team and they were able to replace Phil in less than 48 hours. Don't end up like Phil! Do your research guys.

Jokes aside, I did look carefully at the capacitor before installing it and I assumed it was ceramic since there weren't anything that obviously indicated the polarity to me. Just because it wasn't obvious doesn't mean it wasn't there however:
Sam.jpg

This band on the end that I mistook for a ramped edge indicates that this side of the capacitor is positive. After this happened, I went running and crying to @CrazyGadget in dms on Discord - he went on to explain to me that these were in-fact tantalum capacitors and NOT ceramic. He also describe how you're meant to figure out the polarity on these; I proceeded to cautiously replace this blown cap with one that hadn't yet suffered at my hands...

Before too long...
New board new caps.jpg


I had 4 of the 5 caps replaced! Unfortunately, I'm waiting on number 5 to arrive since the 5th one I ordered died a strange and mysterious death that definitely wasn't my fault or anything.

With all of this said, even though I've successfully assembled 6 different Wii portables, I'm not an electrical engineer and I still hardly know what I'm doing. I've done a hell of a lot of research over the years in this community and up until now, I've avoided making really bad stupid mistakes like this. With all of that being said, I'm going to be more careful moving forward and do more research before I make assumptions and just assume everything will be fine. I hope you're all able to learn from my stupid and completely avoidable mistakes. Luckily none of them were too costly...

With all the negative stuff out of the way, let's move on to the positive stuff!

I've re-designed my battery holders to work with 21700s:
Battery 1.jpg
Battery 2.jpg

As you might've noticed, these battery holders now feature 3d printed bands that do an outstanding job of retaining the cell! Since I've taken these pictures, I've managed to reduce the size of the battery holder down by an additional 7ish millimeters which should make the case a little bit shorter!

I've also come up with a pretty solid cooling solution:
Cooling Solution 1.jpg
Cooling Solution 2.jpg
Cooling Solution 3.jpg

About a year or so ago, I decided to order 20 G-Wii heat sinks since that was the minimum order number and since they were incredibly cheap. Since I've got a ton of extras lying around, I figured I'd put them to use! So I attached copper plates to the ends of each heat sinks and 3d printed a guide/channel for these in an attempt to mimic how the board will lay once trimmed and in the final shell. After testing for over an hour, I was able to confirm it works at least as well as the N64's OEM heat sinks!

In order to test this cooling setup I needed to remove the original jumper pak connector. Somewhere along the way, I came up with the crazy idea of making the relocation reversible.
Here's what it looks like before testing:
so did this.jpg

I didn't think this was going to work due to how sensitive the jumper pak can be, but surprisingly, it worked for over an hour without any hiccups to speak of. I tested quite a few games in this time-frame including Glover, Ocarina Of Time, Majora's Mask, and Sarges Heroes. With no signs at all of stopping, the reversible jumper pak relocation has been a success! With that said, Yveltal told me I should probably still remove the left over traces, so I'm still planning on doing that. But I'm going to wait until just before I trim the board to do so since this is still working and is completely reversible!

Before I relocate the PIF or perform the trim for this board, I'd like to wait until I have @CrazyGadget 's RCP flex. It'd be really good to test and verify that my soldering checks out AND that the receiver board I designed for it works.
 
Last edited:

Nold

real emulation, no hardware
Staff member
.
.
2021 1st Place Winner
Joined
Jul 16, 2017
Messages
446
Likes
1,628
Location
EU
Portables
5 + 1*π
How are you going to provide airflow through your heatsinks? I guess if you just pack them into a print, they wouldn't do much cooling & the bracket might even melt.
You could also better spread the heat by using a single copper sheet that connects all ICs/heatsinks.

Anyways you seem to be on a good path, can't wait for more :)
 

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
How are you going to provide airflow through your heatsinks? I guess if you just pack them into a print, they wouldn't do much cooling & the bracket might even melt.
You could also better spread the heat by using a single copper sheet that connects all ICs/heatsinks.

Anyways you seem to be on a good path, can't wait for more :)
Notice how the end outlined by the green circles isn't enclosed?
cooling.png

Well, the end outlined by the orange circles isn't enclosed either, and the center area between the heatsinks is mostly hallow. The intention is for this to be a tunnel that goes all the way through from the top to the bottom of the portable on the back end where the motherboard rests.

Hopefully this diagram demonstrates a little better than I can explain:
diagram.png


My original intention was to do as you had described connecting the RCP, CPU, and RAM, with a custom trimmed copper plate, but the problem is that these chips aren't level. I'm not entirely sure what the difference is in vertical offset, but I do know that it'd require some fairly precise spacing which I don't exactly have the means to do. I could just trim a bunch of copper to act as the vertical spacing, but this wouldn't be cost effective. Not to mention it could obstruct other components on the board.

I tested this setup for over an hour and it remained at least as cool if not a bit cooler than the OEM heatsinks without the RF shielding and other various stuff metal bits that lie inside an untouched console. @Gman got away with less cooling on his original N64 SP revision, so this should work. With all of that said though, I'm 100% for improving the cooling solution so if you or anyone else have any better ideas, I'd seriously love to hear them! Just remember that the cartridge slot is going to go directly behind these heatsinks, so opening the back end up for airflow isn't an option.
 
Last edited:

CrazyGadget

Crazy Helpful, CrazyGadget
.
Joined
Jun 6, 2020
Messages
638
Likes
983
Location
Downing's Closet
Portables
???
IIRC Gman had some cooling issues with the N64SPv1, and ended up going with regular ol' heatsinks on all of the chips
n64cooling.png

Also curious, why did you attach copper plates to the bottom of each of your heatsinks? And what are you using to mount the copper plate to the heatsink / N64 chips? Each layer of separation introduces an inefficiency in cooling, and I don't see the copper plate having any real purpose. You can probably get away with the old school method of a dab of super glue on the 4 corners of the heatsink with a drop of thermal paste in the middle (like how SparkleBear did here). What I plan on trying (and it hasn't been confirmed yet) is just using a 5mm heatsink and some thermal tape (not the most efficient thermal transfer, but seems to work okay in the GC Nano so I'm not too concerned about an N64)... all just food for thought!
 

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
IIRC Gman had some cooling issues with the N64SPv1, and ended up going with regular ol' heatsinks on all of the chips

Also curious, why did you attach copper plates to the bottom of each of your heatsinks? And what are you using to mount the copper plate to the heatsink / N64 chips? Each layer of separation introduces an inefficiency in cooling, and I don't see the copper plate having any real purpose. You can probably get away with the old school method of a dab of super glue on the 4 corners of the heatsink with a drop of thermal paste in the middle (like how SparkleBear did here). What I plan on trying (and it hasn't been confirmed yet) is just using a 5mm heatsink and some thermal tape (not the most efficient thermal transfer, but seems to work okay in the GC Nano so I'm not too concerned about an N64)... all just food for thought!
I put copper plates on the bottom of each of the heatsinks using the adhesive that was already attached to said heatsinks. This was done so I'd be able to use thermal paste instead of the semi-permanent adhesive that comes on the heatsinks by default for mounting. I appreciate the suggestion with the super glue, but as I previously stated, that goes against my goal of being able to easily remove the heatsinks.

If I just use thermal paste, and have active downward pressure on the N64 in the shell, it should easily make contact with the heatsinks. I haven't proven this works with thermal paste yet since I've done all my testing with the N64's original thermal pads, but I'm sure thermal paste will work just as well.

Each layer of separation introduces an inefficiency in cooling.
The heatsinks got around as hot as the OEM heatsinks on the N64 do after running it for about an hour. I left it on and tested it for around an hour and a half in total with the test enclosure I made to simulate how it'll sit in the case, so I think my solution will work fine. I've considered upgrading to slightly beefier heatsinks by custom trimming a few Wii heatsinks, but that's going to make the unit thicker and I don't think it'll be necessary. If the copper plate solution works for heat transfer on the G-Boy and G-Wii, then I don't see why it won't work here.
 

CrazyGadget

Crazy Helpful, CrazyGadget
.
Joined
Jun 6, 2020
Messages
638
Likes
983
Location
Downing's Closet
Portables
???
Gotcha gotcha! Hey, if it works, it works! From what I've experienced, the adhesive on these heatsinks isn't too permanent, they can usually come off with a light twist, but I 100% see your point and like the idea of ease-of-disassembly. Regarding the copper plates, I feel like it might be even better if you remove the copper plates, and then just peel the adhesive tape off the heatsinks, and have the heatsink make direct contact with the chips (with the thermal paste). That's what I do with my Ashidas (but I just reuse the Wii's thermal pads), and it works really well!

Something to keep in mind is that, even with testing your setup in the 3D-printed bracket, the whole system is still in relatively open air; once it's trimmed and in the shell, you'll have more heat-generating components like the screen and PMS, among other things. That all said, I am not the most experienced with N64 thermals, but based on what I've seen from others' builds, you might want to go with a PETG back shell for your final print, just for the increased warping temp. Gunnar did that for his world's smallest N64p and it seems to work out just fine!
 
  • Like
Reactions: cy

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Yeah, I was sort of thinking the same thing. Before I have the shell printed, I'm going to make a cut down version of it on my printer as a proof of concept for printing to make sure everything mounts properly. When I do this, I'll be sure to do a cooling test with everything enclosed the way it more or less should be inside the shell. Should also verify that the shell won't melt.

I've also considered adding a fan to the design which wouldn't require much in terms of changes to what I've already got in there now. Either way, I appreciate your advice and I'll probably end up taking it and peeling off the adhesive on the heatsinks. I thought about doing this initially anyways, but I thought the copper plating might be a better solution somehow.
 

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
It has been almost a year since my last post on this project. College required my full attention last fall and this spring/winter, so I got almost nothing done on the project during that time. Fortunately, I don't take summer classes, so my plan for this summer was to finish up this project. So I procrastinated until the first week of July, and then I finally decided it was time to get moving. My classes don't start until the latest third of August, so this gave me a little under a month and a half to finish this project up... Not a lot of time... As such, I've been working on this project for the better part of every single day since, and I've got a TON to show for it. Saying this update is overdue is a huge understatement haha.

As some of you may remember, I cut off some not-so-unnecessary vias when I went to redo my jumper pak soldering which killed my motivation to work on my previous trim(for now anyways...). Luckily, one of my local game stores has sold me a two """broken""" N64 consoles for $10 a piece. Now I'm not gonna say these consoles were working without literally any problems... But let's just say I put broken in layered quotation marks for a reason...

With this I began my new trim:

20240619_214939.png
20240619_214948.png


I wanna thank @CrazyGadget for supplying me with two of his Akira flexes. These things are AWESOME and make soldering that paranoid me into soldering I trust more than my uncle with 3 bottles of champagne. I've also recapped this board as preventative maintenance. As you can see, I've relocated one of the caps onto the back of the board. This was done to make room for @Teatimetim 's cartridge slot flex! His flex is AWESOME and saves an incredible amount of time. You can find his cartridge slot flex here. He was super nice and patient, and he even sent over one of his flexes after I had trouble with mine due to the thickness, big thanks Tim! With these new flexes, trimming the N64 down to this size has become A LOT easier and more reliable. As you've already seen, it's less of a skill issue for me and more of an "I don't like how close and tiny this soldering is..." paranoia thing. I just don't like the idea of having large volumes of tiny wires shifting around in a portable unit. More on this later...

Here's my trim working with @CrazyGadget 's Akira flex and @Teatimetim 's cartridge slot flex:


With this trim proven, I can now design a case around it in good conscience... But, we'll get to that!

A year or two ago I saw @Downing had made a portable which used USB3.0 for video out along with support for all 4 players. I didn't realize there would be enough wires to achieve this inside the USB3.0 standard when I designed my breakout box, so I designed it with the intention of running video through a port on my portable somewhere. I realize now though that having video out through the breakout box is going to save me room on the interior of my portable, so I reworked the lid of the unit to have a headphone jack into it. I then proceeded to take one of my many spare Wii composite cables, cut it up, and connect it to a male TRRS headphone cable I ordered a little while back.

Here's what the updated breakout box and custom composite video cable look like:
breakoutbox2.jpg
breakoutbox3.jpg
breakoutbox1.jpg


Mr. Breakout box has a new hat! Here's some video proof of it working:

In this video, I didn't have the video filter in place, but I recently opened the cable back up and put the video filter in place with a custom PCB solution I created sometime last year with something similar in mind. This allowed me to mount the surface mount resistor and capacitor properly instead of having them floating or mounted with hot glue.

With this, I went on to prove the concept of getting analog audio out of the N64, volume control, headphone jack functionality, etc.

Once these concepts were proven, it was finally time to begin the 3d modeling work on the case. I started by taking @Wesk 's 3d scan of the brawler 64 controller and cutting it in half. The left half housed the joystick, Dpad, Z, L, and "turbo" buttons while the right half housed the A, B, C buttons, R, second Z, and "clear", buttons. The pause button ended up being in the very center of the cut. I also realized that I wouldn't be able to incorporate the "turbo" and "clear" buttons without using the Brawler 64's controller circuit board. This would've meant sacrificing the internal FRAM memory pak functionality while still not having a good start button solution. This wasn't at all worth it to me, so I decided I would just take my trimmed controller halves and wire them up to my custom F64 PCB with the "turbo" and "clear" acting as dual pause buttons. The controller has dual Z buttons after all!

With this figured out, I had a better idea of what I was designing the case around and with a lot of time, I was able to come up with two halves of the controller that had working screw posts and mounts that worked and felt exactly how a brawler 64 controller should. Here is a picture of what having two good working halves probably looked like:
what it looked like.jpg


I got this on my first print attempt! It totally didn't take me like 30 print iterations to get this right...
nani the fuck.jpg


Yeah, as it turns out, these things don't just work when you slap the right and left half together and FDM print them. They require LOTS of time and iterations before you have something that's even close to working. Simply getting well positioned and working screw posts for this took forever. And don't even get me started with trying to center the joystick in the analog gate... More on this later...

After I finally got two good working halves, I went on to stretch them downwards in an effort to pull off something similar to the GameCube Wavebird. You can already see some of these successes and failures in the previous picture, but these pictures show off how the successfully stretched halves looked:

Left Stretch.jpg
Left Stretch back.jpg
Left Stretch Bottom.jpg
Left Stretch Side.jpg
Left Stretch top.jpg

Right Front.jpg
Right Side.jpg


With the left and right sides stretched and lining up nicely, it was time to design the internals of the middle section. This way, I can stretch the back of the controller outwards to match the thickness required by the middle section. While I do have years of experience 3d modeling, I don't have any experience designing internals for a console like this, and the results of my first design were... bad to say the least. The back alone would've been around 80mm thick. I had a lot of good mounts, but I also had LOADS of wasted space. I won't be showing off how these iterations looked, and I want to keep the final internal design a surprise for when I show off nudes of this project. But I will say that the internals have gone from being 80mm in thickness all the way down to 27ish millimeters in thickness (not including the cartridge slot and battery, with those and the front, the case is around 58mm thick). I have @Y2K and @Wesk to thank for giving me advice and helping me to realize just how thick this unit would've ended up being if I had kept going in this direction. I didn't think thickness mattered because the controller grips would've made the unit comfortable to hold, but that isn't any reason to let the thickness get out of hand.

Eventually I designed a front half and ensured that it would clear the back half. There's really not much to say about the front, it only houses the controls and screen, so wiring between the two halves will be minimal. I went on to design the cartridge slot along with a battery holder and a slew of other things. After ensuring that the front and back middle sections housed all of my desired features, I went on to iterate through a few versions of the housing to test fit and ensure everything would fit and mount with clearance. Soon enough it was time to merge the left and right halves together with the mid section. This was easy to do on the front side considering it only houses the screen and controller PCB making it very thin.

With the left and right sides merged to the center creating one front piece, I now had something resembling an Ashida:
print.jpg


This was a very welcoming site to wake up to! I ripped off the supports, put the controls in place, and screwed on my two best back left and back right grips for the following results:
haf.jpg

As you can see, next to the actual Ashida, the body is around the same size. The grips just stick out a lot more. There is still some wasted space, and I could easily decrease the front half's length by 10mm. But the back half warrants this kind of length, and as it is I already hardly have room for the speakers, so this is the length it'll remain.

Now that the front half was complete, I wanted to get the back half taken care of. It took a lot of time to optimize everything and make each mount clear and to make the print work at a literal 45 degree angle. But I was able to get some merely adequate results:

back end.png

In this revision the back has sharp edges and a few other rough features. More on this later...

For now, let's appreciate the fact that the cleaned up and refined front and very prototype back screw together without literally any issues:
Progress.png
Progress 3.png
Progress 4.png
Progress 2.png


Now we're talking! As of now, I still have work to do on the cartridge slot, and I need to refine my battery door. But everything screws together nicely, and the seams on this are even cleaner than the seams on the Ashida.

Now to revisit some of my "more on this later..." comments:

I've cleaned up the back a bit:
prusa-slicer_zvsd6DY28z.png


I rounded all the sharp edges off and polished up the case a decent amount. There are limits to both my 3d modeling skills and how far into the case I can even go, so this proved challenging. I'm going to call the back "finished" now that things have been rounded off and cleaned up a bit. I know that this could probably be cleaner, but any additional cleanup would involve spending a great deal of time redoing various sections and I'm afraid I won't have time for this. Most of the back will be covered up anyways, and it feels fine in the hands, so this is probably the best I'm going to get at least for Rev1 of this project.


To address what I said about the cartridge slot flex:

I've figured out that I won't be able to use Tim's flex for this project. The motherboard orientation and design of this unit would require a cartridge flex that bends around 90 degrees TWICE, and I just don't think that will hold up, I've already had issues with flexing my cartridge slot flex too much, and I need to replace it and verify that my board still boots. Maybe in Rev2 I'll design a flex more made for this wear and tear, but for now I'll be sticking to good old fashioned hand wiring for the cartridge slot. I've already done it once successfully anyways, so while it does suck, I'm not gonna lose sleep over it. Gman told me that he hasn't had any issues with any of his hand wired cartridge slots breaking down, so I trust there won't be any problems with the wiring flexing too much over time so long as I mount it securely for minimal movement in the unit.

Finally, let's address what I was eluding to with the analog gate. The Brawler 64 uses a different analog gate than the original controller. Here's a side by side comparison:
Brawler Gate.png
OEM Gate.png


After testing with a homebrew joystick app on an everdrive, I've found that the original unmodified Brawler 64's joystick range kind of sucks. It is inconsistent, and hardly has full analog range on some of it's diagonal axis. To fix this, I've completely remodeled and redesigned the analog gate to be more like the OEM controller's analog gate:
My Gate.png

It might be difficult to tell, but this analog gate gives a virtually identical range to the original N64 joystick. This feels better physically when moving the joystick, and it even feels better when controlling Mario from my testing.

Here are my closing thoughts for this update:

The work in this update post is how I spent my entire July and I've gotta say, working with @Wesk 's 3d scans is very timeconsuming and can be a bit of a nightmare. I've spent well over 100 hours just on 3d modeling work alone for this project, it's great to finally have some solid results though. I understand that my 3d modeling skills are nothing when compared to the likes of @Kamp and @Wesk and I'm certain they would dig my grave if they themselves were the ones making this unit. With that said, for a first original portable, I'm incredibly happy with my work. And while this isn't anything when compared to the work other people in the community are capable of, I'm incredibly happy and proud with what I have achieved already. The prototypes for this unit feel incredible, and I know that what I have isn't anything to sneeze at. And if you somehow read through this entire worklog, I wanna thank you as well! I need to improve my summarizing skills lol.

I want to thank @CrashBash @cheese @Gman @Wesk @Y2K @Teatimetim @CrazyGadget @YveltalGriffin @GingerOfOz @Downing @Redherring32 and other people from the BitBuilt Discord server for providing me with input, feedback, advice, documentation, and words of encouragement for this project! This project still has a little ways to go before it'll be finished, but you have all made it better and provided me with an incredible amount of help and support in getting this done correctly. I thank you all so much again for everything! You're all great!
 

Attachments

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Holy crap dude...that's an update! Haha, amazing work!
Thanks a lot! I've really neglected updating my worklog for a while and this is what happens when you do that lol. I'm a little surprised I got around to giving an update and the next post wasn't just "it's finished now!".
 
Joined
Jan 26, 2024
Messages
84
Likes
190
Portables
3
I love what you did with the styling on this, it looks very comfortable to hold. Amazing work!!! Are you planning to opensource the case files?
 
  • Like
Reactions: cy

cy

.
Joined
Sep 3, 2020
Messages
142
Likes
411
Portables
7
Are you planning to opensource the case files?
Thanks! I'm a bit disappointed with the model in some areas myself, but there's no reason I can't go back and clean it up eventually when I inevitably build a second one.

I 100% will open source the case files eventually. Before I do that though, I'm thinking it would be best to streamline and optimize the unit in a second revision. I want to make it so an original retro brawler controller isn't needed. This means having 3d printable buttons, and at minimum, a custom PCB for both the left and right sides where the controls go. With that said, I'm planning on making custom boards to streamline as much as possible in this build (including the cartridge slot wiring) but this is probably a ways off. I still need to finish the original unit first!
 
Last edited:
Top