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:
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:
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:
I got this on my first print attempt! It totally didn't take me like 30 print iterations to get this right...
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:
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:
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:
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:
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:
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:
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:
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:
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!