N64C - 297DP Final Report
My name is Nicolas Wicker and I am in my junior year at UMass on the electrical engineering track. I decided to enroll in 297DP this past semester as I figured it would be a great opportunity to apply the fundamentals of electrical engineering that I have learned over the past few years, in an environment where I could integrate my own creative freedom towards a project I'm passionate about.
The project I decided to take on was one that both had a personal connection to me, as well as exemplified core electrical engineering skills. I wanted to take one of my favorite gaming systems, the Nintendo 64, and turn it into a handheld, portable unit that you could take with you and play games on the go and on original hardware. This project has been done by others in the past, either by using original Nintendo 64 hardware or emulation via a small computer such as the Raspberry Pi. After extensive research, I came to the conclusion that Nintendo 64 games emulated on the Raspberry Pi do not all play at 100% speed when compared to the games running on the original system. Also, having the nostalgia factor of plugging in a retro cartridge into my system seemed like a neat feature to me, thus I decided to hack up an original Nintendo 64 and use that as opposed to emulation.
After determining this, I went on to design the initial plan on how this would all come together. My criteria for the system was rather simple. It needed to be as compact as I could get it, so it wouldn't be a far cry from other modern portable systems. It needed to integrate a battery pack, controls, audio amp with speakers, and screen, all so it could be played on the go. It needed to integrate the Nintendo 64 RAM Expansion Pack which would allow it to play every Nintendo 64 title, as some require more ram. And finally, it needed to just be appealing to me and something I would be proud of.
Based on what others have done with this project in the past, I began to think about cutting down the Nintendo 64 as small as I could get it. Thus it could go in a small form factor to satisfy that criteria point. This can be tricky because if you cut off necessary components on the board by mistake you could ruin your board and have to buy another Nintendo 64. Being so, I took extreme caution with trimming down the motherboard and got it down to a small enough form factor to where it was still functional as well. After this was done, I went on to figure out how I would integrate the expansion pack. The pack plugs into a connector on the motherboard and extends off of it vertically. Thus, it wastes a lot of space. I decided to try my hands at cutting the expansion pack board on one side 80% of the way through, that way all of the bus traces on the other side would still be in tact. This allowed me to bend the board at a 90 degree angle and I only had to rewire one ground trace from the severed side of the board. Unfortunately, my first attempt at this failed as when I went to bend the board, some of the traces on the other side severed, rendering it useless. I feel this was a result of me not being careful enough, so I bought another Expansion Pack and tried my hands at it again. This time it worked like a charm. I now had to think about integrating the controller. I opened up a 3rd party Nintendo 64 controller I bought and began to brainstorm how I could cut up the controller board itself to save space. Being that the particular controller board I used was a single sided PCB, seeing where I could cut away was fairly easy. Most of the space on the PCB were just traces routed out to the button contacts, so these contacts could be cut off and traced back to a spot on the board closer to the center where I could solder to. I found each button's corresponding pin on the center of the board and soldered wires directly to them. These wires would go to tactile switches on prototyping boards, which I could arrange in an ergonomic position in my design. Next up, I had to source a LCD screen that accepted composite video, as that's what the Nintendo 64 outputs, as well as design a decent audio amplifier. The screen was straight-forward, a simple Amazon search pointed me to a 3.5" rearview monitor for a car that happens to take in a composite video signal. This could just be spliced with the composite output pin on the Nintendo 64 motherboard, and it worked with no problem. I found a simple circuit using a lm386 for audio amplifying. I wired it up, hooked up a little piezo speaker I found in M5, connected it to the audio output pins on the Nintendo motherboard, and I was happy with the result. I also decided to route those pins to a headphone jack as well, so I would have the option of playing either way. With a integrated controller as input, a portable power supply, and a small screen and audio amp for outputs, I seemed to have everything done in terms of the electronics side of things. Next up was to design an enclosure around everything. To do this, I used SolidWorks which is a 3D CAD package I'm very familiar with to design two parts of a case that would fit around my assembled electronics. This was straight forward as well. After taking into account the measurements of all the components, all I had to do was add a bit of my own personal flair to the design and it was ready to be printed and assembled.
I am very happy with how my project came out. The final form factor matched exactly to what I set out to create, something both sleek and functionally practical. If someone were to follow in my footsteps and create a similar project I would advise highly to follow the same procedure in which I outlined in this post. Getting everything electrically functional is a must before even thinking about your case. It goes by the old rule of thumb: form follows function. You have to have everything working and sound before you think of the design of it, otherwise you'll drive yourself crazy trying to rearrange things to fit in the case you designed initially, and will most likely have to do all kinds of jerry rigging, which just begs for things to go awry down the road.
If I were to continue off this project, I would most likely design my own PCB that integrates all of the external components: battery charging circuit, LCD driving circuit, audio amp and speakers, headphone jack, controller circuit etc. on one PCB. Then all one would have to do wiring wise would be wire a few things from the PCB to the Nintendo 64 motherboard. Maybe this idea could then be mass produced or even sold as a kit.
M5 was a invaluable resource for me throughout this entire process. With instant access to all tools I needed, as well as electrical components, it was very easy to work on things once I acquired the few things M5 could not provide such as the Nintendo 64 and such. One thing M5 could possibly change would be the hours of operation, as having access to these resources late at night were sometimes a necessity to me, as that was the only time I could work on my project in the midst of classes.
In conclusion, I am very happy with how my project came out, as well as the learning experience that came with it. 297DP was a great course that allowed me to receive credit for a self-assigned project that I was passionate towards throughout the whole process, and I cannot commend the course enough for that.
May 7, 2018 - Nicolas Wicker