Introduction: DIY Raspberry Pi Zero Handheld Game Console
In this project I will show you how I used a Raspberry Pi Zero, NiMH batteries, a homemade over-discharge protection circuit, a rearview lcd and an audio amp to create a handheld game console that can play retro games. Let's get started!
Step 1: Watch the Videos!
The first video will show you how the electronic components need to get connected and in the second video I will present you how to mount all of the components inside a suitable case. The following steps will provide you with a bit more information after you finished watching the videos.
Step 2: Build the Over-discharge Protection Circuit!
When it comes to a portable device, batteries are always mandatory. Instead of the more popular LiPo approach, I went with a more beginner friendly power source, NiMH batteries. But even though they are easier to handle they still require an over-discharge protection circuit. Feel free to use the attached schematic and the listed parts to build such a circuit on a piece of perfboard (affiliate links).
Aliexpress:
1x MAX667: https://s.click.aliexpress.com/e/_dZ44L5l
2x 10k Trimmer: https://s.click.aliexpress.com/e/_dXywnjZ
1x Slide Switch: https://s.click.aliexpress.com/e/_dZXwjTZ
1x10µF, 1x47µF Capacitor: https://s.click.aliexpress.com/e/_BfjZXdFt
1x MCP602 OpAmp: https://s.click.aliexpress.com/e/_d763tU7
4x 1N4148 Diode: https://s.click.aliexpress.com/e/_dV9KtPZ
5x 10k Resistor: https://s.click.aliexpress.com/e/_d9EyLbZ
1x BC547 NPN Transistor: https://s.click.aliexpress.com/e/_d86F2fz
1x IRLZ44N N-channel MOSFET: https://s.click.aliexpress.com/e/_dTF9ycP
Ebay:
1x MAX667: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
2x 10k Trimmer: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x Slide Switch: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x10µF, 1x47µF Capacitor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x MCP602 OpAmp: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
4x 1N4148 Diode: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
5x 10k Resistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x BC547 NPN Transistor: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x IRLZ44N N-channel MOSFET: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
Amazon.de:
1x MAX667: http://amzn.to/2eRtQTS
2x 10k Trimmer: http://amzn.to/2eRorfT
1x Slide Switch: http://amzn.to/2eRv3KS
1x10µF, 1x47µF Capacitor: http://amzn.to/2dL9dsO
1x MCP602 OpAmp: http://amzn.to/2dLaboV
4x 1N4148 Diode: http://amzn.to/2eRqlNs
5x 10k Resistor: http://amzn.to/2eRqYqo
1x BC547 NPN Transistor: http://amzn.to/2eRuXDp
1x IRLZ44N N-channel MOSFET: http://amzn.to/2dL9WKB
Step 3: Order the Rest of the Components!
Here you can find a list with all of the other parts that are necessary for this project (affiliate links):
Aliexpress:
1x Raspberry Pi Zero: https://s.click.aliexpress.com/e/_dWGfTrt
1x NiMH batteries: https://s.click.aliexpress.com/e/_dTEKVGT
1x 3.5 inch LCD: https://s.click.aliexpress.com/e/_dYRVbWr
1x PAM8403 Audio Amp: https://s.click.aliexpress.com/e/_d8AadZl
1x Housing: https://s.click.aliexpress.com/e/_dUmEPqP
1x Slide Switch: https://s.click.aliexpress.com/e/_dZXwjTZ
1x 3.5mm Jack: https://s.click.aliexpress.com/e/_Bfh8VFnt
1x Potentiometer Wheel: https://s.click.aliexpress.com/e/_d63fShp
1x Speaker: https://s.click.aliexpress.com/e/_d7hiswb
3x Tactile Push Button: https://s.click.aliexpress.com/e/_dYrF9mP
Ebay:
Raspberry Pi Zero: http://rover.ebay.com/rover/1/711-53200-19255-0/1...
NiMH batteries (I recommend Eneloop): http://rover.ebay.com/rover/1/711-53200-19255-0/1...
3.5 inch LCD: http://rover.ebay.com/rover/1/711-53200-19255-0/1...
PAM8403 Audio Amp: http://rover.ebay.com/rover/1/711-53200-19255-0/1...
Housing: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x Slide Switch: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x 3.5mm Jack: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x Potentiometer Wheel: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
1x Speaker: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
3x Tactile Push Button: http://rover.ebay.com/rover/1/711-53200-19255-0/1?...
Amazon.de:
Raspberry Pi Zero: http://amzn.to/2eFXSgR
NiMH batteries (I recommend Eneloop): http://amzn.to/2e9uw7R
3.5 inch LCD: http://amzn.to/2eG1LCv
PAM8403 Audio Amp: http://amzn.to/2e9qVXc
Housing: http://amzn.to/2eFYXF8
1x Slide Switch: http://amzn.to/2eRv3KS
1x 3.5mm Jack:http://amzn.to/2eRtZac
1x Potentiometer Wheel:http://amzn.to/2eRtBsa
1x Speaker: http://amzn.to/2eJbtTP
3x Tactile Push Button: http://amzn.to/2eJeNOJ
Step 4: Create a Prototype!
Before mounting the components inside the case it is a good idea to connect them with one another to see whether everything works correctly. Feel free to use my attached "wiring diagram" as a reference. You might also want to try out the GPIOs of the Raspberry Pi as a controller input. Make sure to follow the second attached diagram for that. For more information about the Recalbox OS visit their site: https://www.recalbox.com/
For the audio output you will also need to create a RC filter circuit. The schematic is attached.
If you have problems with the settings of the Recalbox OS you can also use my attached configuration files as a reference or simply replace yours with mine.
Attachments
Step 5: Modify the Case! House the Components!
During the second part of the video series I explained how I mounted all of the components. Simply repeat all the steps and don't forget to 3D print the plastic cartridge slot and the button wells. I attached the required .stl files.
The button wells though were not created by myself. Here is the site of the original creator (wermy):
http://market.sudomod.com/3d-printed-gbz-button-we...
You can even order them directly from his site and while you are at it you can check out his take on this popular project.
Step 6: Success!
You did it! You just created your own Raspberry Pi Zero Handheld Game Console!
Feel free to check out my YouTube channel for more awesome projects:
http://www.youtube.com/user/greatscottlab
You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:
8 People Made This Project!
- Andy1210LIVE made it!
- Meexmon made it!
- bharathram21391 made it!
- stormless made it!
See 4 More
62 Comments
3 years ago
Can i use the same hardware setup for watching YouTube . Please help me for this kind of project.
Question 3 years ago
why audio filter is needed at all?
Answer 3 years ago
The audio filter is needed to filter the high frequency pwm signal and get the different kinds of sound waveforms that we want to feed into the speaker.
Question 3 years ago
My Dislpay is flickering ?
5 years ago
Is there any way to find the fritzing FZZ file for the audio filter please ? correspondind to the schema ... i've tried to reproduce it but i'm not sure i'm right ...
Reply 3 years ago
why that filter is needed at all?
Question 3 years ago
My screen ceeps on flashing and i dont know why?
4 years ago
There's are posts i made on modding the screen to 5v and adding screen brightness control.
https://www.tinkerboy.xyz/wiring-guide-for-the-3-5...
https://www.tinkerboy.xyz/how-to-add-brightness-co...
I also made two controller boards for Game Boy Zero projects:
v2 - https://www.tinkerboy.xyz/product/game-boy-control...
v3 - https://www.tinkerboy.xyz/product/tinkerboy-contro...
Reply 4 years ago
Very much easier to build using these boards. :)
Question 4 years ago
hi try to connect to rca tv but only shows white and black no color doi missing a pin
Question 4 years ago on Step 4
Can i get away without using a filter circuit? If I can't what are the components necessary as I'm having a hard time figuring out what they are?
Question 4 years ago
What is the tool used to cut out the screw brackets called? How to cut without breaking the brackets?
6 years ago
I have a question.
I have a raspberry pi zero and since im going to use a USB controller i wont need the GPIO pins. Now i do want stereo sound and not mono like you did. How can i do this? I want it to be Actual stereo and NOT dual mono. Thanks in advance :D
Reply 4 years ago
Hi. This is probably late reply, but here goes:
dtoverlay=pwm-2chan,pin=18,func=2,pin2=13,func2=4
The above edit is suggested by GreatScott to "config.txt". That means GPIO13 and GPIO18 are the left and right sound output channels. In case if you decide to use GPIO in the future, but only for player one, you can use GPIO19 in place of 13 for PWM sound out so that that pin is freed up for controls.
4 years ago
Very nice!
Do you have a schematic for the controls or better pictures? I'm finally making this but I can't make out what you did for the controller.
5 years ago
Thanks for the Tutorial!
Just posting this to let people know about displays that use a JW5022S chip for power regulation instead of the XL1509: It is possible to also use 5V on these displays. Just solder the power wire (+5V) to the third pin instead of the second one and it should work (provided that the display controller board is very similar to the one shown in the video, as mine was)
5 years ago
Thanks for this great project Great Scott.
I am working on this build, and have run into some things that might help others. Particularly, I've been working on the over-dissipation protection circuit recently.
One thing that I found with it is that the shutoff did NOT work when I had the Pi hooked up to an HDMI monitor. It took some investigation and probing in several places, but then I realized that the circuit was grounding through the HDMI connection. At one point I disconnected my PP6 (ground) lead from everything, and the Pi was still running. It didn't shut down until I disconnected the HDMI.
I think I may try to put the power side of the circuit across the mosfet source-drain to be cut off by this circuit, rather than the ground portion of the circuit. Would this cause any problems, or would there be any reasons why this wouldn't work? I would try that out now, but I'm halfway into soldering my components into the perfboard so I my circuit is not functional at the moment. I'll probably try this out once I get the circuit reassembled.
Reply 5 years ago
I see that this does need to be on the ground side for the mosfet, so the idea of having it on the power side of the circuit wouldn't work. I guess this could potentially be done with a relay.
Overall, I think the biggest note is that this shutoff circuit is likely not to work if you have an HDMI monitor hooked up.
5 years ago
the battery over-discharge protection circuit doesn't work :(
5 years ago
Are the GPIO pins programmed to the controller's functions as mentioned in the picture reference? Or do you have to program it yourself? Thanks.