This is my first working version of the console. I'm using it to figure out what should stay and what needs improvement in the final build — but it's already fully functional. I added a 50x50mm aluminum heatsink, and noticed that I’ll need a 0.5mm thermal pad to get good contact with the CPU. I also tried adding a 6300 µF capacitor on the main power line, but turns out it’s not really necessary — the audio was fine without it. On the other hand, I had some issues with the headphone jack connection and I’ll need to redesign that part.
The internal layout uses custom 3D-printed parts. All electronics are mounted on those pieces, held in place with M2 machine screws. The screen and the Raspberry Pi Zero W are fixed together in a single printed frame, which is then attached to a second frame that holds the audio amp (PAM8403), power button, RC filter, volume knob, and 3.5mm audio jack. All buttons — both front and rear — are also mounted on dedicated printed structures.
The 18650 cells are held by springs, which makes them easy to replace. If I had access to a spot welder, I’d probably go with nickel strip and fixed terminals instead. The only parts glued to the shell are the ones that physically change the case — mainly the section I had to expand to fit the dual 18650s. I still managed to reuse the original battery cover, which gives a nice translucent look to the cells.
It was a tight fit. I used wires that were way too thick, which made assembly harder than it needed to be. For the next version, I’ll use thinner, more flexible wires. I also had to trim the TFT display edges to make it fit the front shell, which made the cable connection a bit tricky — but it works fine.
On the software side, I made a few changes that I’ll explain in detail later. I used specific drivers for the SPI display, configured GPIOs for both audio (PWM) and button input, and implemented two different config.txt files at boot — one for handheld mode (with the TFT screen) and another for RCA output when connected to a TV. I have to reboot to switch modes because the current driver setup can’t handle both at once. The charging port is still micro USB, but I’ll probably switch to USB-C next time.
Rear buttons are not mapped yet, but in the next revision I plan to include full L1/L2/R1/R2 support with better positioning. The original speaker was terrible — I replaced it with a smaller but stronger one that sounds much better.
The console uses very little power. With a light overclock to 1200 MHz, it still runs for over 8 hours on a full charge with two 18650s, and doesn’t overheat. The passive 50x50mm heatsink is enough — I won’t use an active fan anymore. The RCA+USB video output module is working fine. When I plug it in and reboot, it disables the TFT and enables RCA automatically, since I can’t run both displays simultaneously with the current configuration.



Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.