Worklog Ben's First N64 Portable

Jan 14, 2024
Hello all,

Decided I'd finally throw together a bit of a write-up of what I've been working on the last few weeks (along with some pictures/renders). I've lurked around the scene for quite a long time-- I made an attempt at portablizing the N64 ~8-10 years ago when I was much younger/less equipped to actually carry it out, but I've gained some skills/experience that I hope will be helpful moving forward.

Here's a quick list of what I'm hoping to achieve in this project:
  • 7" (16:9) Screen -- I personally don't hate the stretch
  • Switch-esque form factor (except for the thickness)
  • Plug-and-play charging (I remember this being super difficult "back in the day" but with the advances I've seen with custom PCBs I think this should definitely be doable)
  • Dual 3DS Joysticks -- one serves as the N64 joystick while the other serves as the C-Buttons. Again, with custom PCBs/microcontrollers I think this is doable.
  • ZR/ZL buttons -- mostly just for symmetry of the finished product; considering using ZL+ZR to act as a screen control button, but haven't thought it out super well.
  • Battery level/charge indicator LED(s)
  • Decent battery life-- I'm usually never too far from an outlet so while a long play time would be nice, it's not critical
  • Charge over USB-C -- I don't think fast charging or PD would be strictly required, but it may be something to look into
  • Switching audio headphone jack -- would be nice to have the option to plug headphones in!
  • 3D printed case -- most likely in PETG-CF for that super nice surface finish, will also investigate fuzzy skin settings for a textured finish without post processing. I have an X1C I picked up over the new year so I'm looking forward to getting some nice prints from that.
Looking at the list, it seems a bit overwhelming from a "beginner's" standpoint. I've saved the most ambitious part for last, however:
  • If at all possible, I'd like to get A/V out over the USB-C port while also allowing 1-4 controllers to pass data in from a "dock"-- and still charge the console.
I've taken a look at operating USB-C in alternate modes and have come to the conclusion that it is possible, but maybe not plausible (for me to implement, anyway). But if I wanted to do any sort of HDMI conversion down the road, this would enable me to modify the dock to include the required hardware, and then I would have a docking N64 that worked similarly to a Switch!

In any case, I'll have to learn PCB design at some point during this project so I'm hoping to get started with that pretty soon. I'm super comfortable with CAD software so I'm hoping some of those skills will translate over, but circuits are a whole different beast (there's a reason I stayed away from electrical engineering). I feel confident enough in my abilities that so long as I can get each individual component working (i.e. the 3DS joystick to (3rd party) N64 joystick PCB/microcontroller, or the 3DS joystick to C-button PCB/microcontroller) then I can bodge together something in the end.

Another thing I want to do with this project is to learn-- for that reason I'll be doing my best to avoid purchasing "existing solutions" (which I readily admit could make my life much easier, and many thanks to those who offer such resources), especially existing PCBs for many things like controller breakout boards. I may consider my options when it comes to power/battery management since that might be better left to those with slightly more experience for now, but I'll figure it out when it comes time to hook everything up to batteries.

Okay, so what all have I already amassed/collected to get things started? A while ago I picked up some N64s on eBay since I could feel the itch to work on this project coming on. I've got two Rev-8 boards and 3 jumper paks, all of which are confirmed to be working. One board does seem slightly more reliable than the other, but results are inconclusive from the brief amount of testing I did (mostly just made sure each jumper pak worked with each console, and that each console would output A/V and recognize controller input). Along with the consoles came several 3rd party controllers, so I shouldn't have a problem hacking one of those up and using them in conjunction with some custom solution for the 3DS joysticks. There was also a memory pak and a Gameboy transfer pak that came with the controllers, but I'm not sure I'll have a use for those in this project. Unfortunately, the higher revision boards and lack of expansion pak means this won't be the "ultimate" portable N64, but maybe I'll pick up an expansion pak (or another board) down the line for the added ram. I have a few small speakers (2W 8Ohm) that I think should work provided I find/create an appropriate driver for them. I have a 7" LCD from a car backup monitor that I got a few years back, again when I was feeling the itch to work on a project like this. As I said earlier, I don't personally mind the stretched 16:9 aspect ratio, but the screen I have does allow for 4:3 display with some button presses. That being said, I was planning to remove the buttons for the screen/making the screen menu inaccessible so unless a sequence of commands could be recorded and played back with a microcontroller to simulate the button presses required to transition between aspect ratios, I may just pick 16:9 and stick with it.

That's a huge wall of text, how about some pictures? Mostly just renders for now, as this is very much still a work in progress. Only the front portion of the case has any real details, but it's slowly coming together-- the middle section (or riser as I'm calling it) is waaaaay thicker than I'm hoping the final version will be, but I'm giving myself plenty of room to start out with:

I still need to work out L/R/ZL/ZR placement/shape/size, etc. but I'm pretty happy with the outcome so far. I ran a test print of an earlier face-piece to test button fit (speaking of which, I just got the DS replacement buttons I plan to use for A/B/Start/D-Pad) and gave the fuzzy skin + textured PEI sheet a try. I'm going to have to do some more fuzzy skin testing, but I think the results are fairly promising!

Here's a pic of the test front with the 7" 16:9 LCD I picked up a few years ago when I thought it might come in handy if I ever wanted to return to the hobby (more on this screen in a minute). The D-Pad hole is slightly too small, so I'll need to update my measurements on that plus the Start button is no longer going to be as large as the A/B buttons so it needs updating as well. I've also got the 3DS sliders tied up in little test prints so I can work out the right tolerances to hold everything in place (I already broke the screw posts on one of the joysticks so I may need to resort to some adhesive) so they're missing from the case too, though I managed to get one mounting test in the picture:

Excuse the terrible lighting, I had to stick this thing right under the lamp to get a decent picture at the time. I love the texture the textured PEI imparts on the print surface, and with some tweaking I think I can get a fuzzy skin setting to emulate this texture on the walls as well.

So far, I've managed to test the screen and appear to have worked out how to run it off of 5V. Unfortunately, I'm running into a strange problem with what I can only describe as "scrolling" video signals; I've seen some discussion about some LCD screens/boards presenting a "scrolling" problem, but cannot confirm if it is the same problem I'm experiencing. The picture looks fine, aside for the fact that it slowly migrates to the bottom of the screen and wraps back around to the top. For reference, I'm using this 26 pin board (which I haven't really seen anyone else use, so that may be part of the problem) that claims to accept composite in-- it's quite possible I'm misunderstanding something about a sync signal as I'll admit the signal processing side of things is way over my head at this point.

I've also had some trouble with the ribbon cable on this screen so I'm not sure if it has much life left in it to be completely honest. If the best solution truly is to try my luck with another screen to see if the N64 video signal is compatible with that board then it may be for the best, but I'd like to at least explore my options with this one.

I believe that about sums things up for this post, thanks for checking it out! I love to see everyone else's work here and it really is incredible how far the hobby as a whole has come. All the projects here have definitely inspired me to at least make something that is visually appealing, so I hope I can at least succeed on that front.

Until next time!