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.


1x MAX667: http://amzn.to/2eWNKjq

2x 10k Trimmer: http://amzn.to/2ebftM0

1x Slide Switch: http://amzn.to/2e1jhMn

1x10µF, 1x47µF Capacitor: http://amzn.to/2f5Ut6Q

1x MCP602 OpAmp: http://amzn.to/2ftiOYH

4x 1N4148 Diode: http://amzn.to/2f5Q1VM

5x 10k Resistor: http://amzn.to/2f2mKfN

1x BC547 NPN Transistor: http://amzn.to/2eWMQTT

1x IRLZ44N N-channel MOSFET: http://amzn.to/2f2lkSH


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?...


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:

1x Raspberry Pi Zero: http://amzn.to/2eerQcv

1x NiMH batteries (I recommend Eneloop): http://amzn.to/2e5U0nn

1x 3.5 inch LCD: http://amzn.to/2ejaPsm

1x PAM8403 Audio Amp: http://amzn.to/2dVwn1r

1x Housing: http://amzn.to/2ej97qY

1x Slide Switch: http://amzn.to/2e1jhMn

1x 3.5mm Jack: http://amzn.to/2f2swhB

1x Potentiometer Wheel: http://amzn.to/2ebiZpJ

1x Speaker: http://amzn.to/2ebqMDU

3x Tactile Push Button: http://amzn.to/2ebnyAx

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?...


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.

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):


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:


You can also follow me on Facebook, Twitter and Google+ for news about upcoming projects and behind the scenes information:



Hi, I'm planning on building it! Great project! Do you think I can use the same protection circuit with a 2S Lipo?
<p>followed the instructions exactly. even looked on their wiki, i cant get video to come out from TV(composite) on my pi zero. it works for retropie.</p>
<p>I had a similar issue, the video was outputting to Composite for the menu and HDMI for the videos. I found that changing recalbox.conf over ssh didnt seem to set it, and i had to use their web based editor for this. Connect your recalbox to your network and input its IP into your browser address bar, which should bring up the relevant page</p>
I have a question. <br><br>I am confused about the pinout of the GPIO. Which one is the square one? I had plans to do this with my Pi 0 and I need help figuring out the pin diagram
<p>The square pin is pin 1 and is used for 3.3v power. You can look at the GPIO configuration here: https://pinout.xyz/ and https://github.com/recalbox/recalbox-os/wiki/GPIO-controllers-(EN)</p>
<p>I made this for a school project! It was about 9 months work, from start to end. Uses a 2Ah LiPo, a TP4056 LiPo charging circuit, along with a cheap analog LCD screen and boost converter to give the required 12v. <br><br>Things I did wrong / What you should do:<br>Tactile switches are horrible to press, use the sillicone ones GreatScottLab did.<br>If you can, mount electronics on a single board rather than having lots of individual wires.<br>The TP4056 Charging modules are handy as they're about the size of two postage stamps, but they get very hot. I didnt measure but I'd say 80C+. I had to passively cool the device using an aluminium back.<br><br>I used a normal Pi Zero. The day I handed this in for marking was the day the Pi Zero W was announced. USE A PI ZERO W. Recalbox (as far as I am aware) requires you to add files over network, and if your device is connected to WiFi, this process is a lot easier. I have to insert the MicroSD into my Pi B and connect that to my WiFi router over Ethernet to add games. <br><br>I really enjoyed this project and I thank GreatScottLab for this instructable and the videos he produced. <br><br></p>
<p>I have a question.</p><p>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</p>
<p>Why is the battery low voltage of 4.8 Volts scaled to 3.8V for the inverting input? Shouldn't this be scaled to 4.49V so it activates the comparator with the non inverting input at 4.5V?</p>
<p>the stl file is in mm?</p>
Hey Scott is their another voltage regulator I could use?
<p>If you find another one with a very low dropout voltage, then sure.</p>
<p>i have a question does it have to be the raspberry pi this thing linked or any raspberry pi zero</p>
Great project I always follow you on YouTube ..
<p>Hey Scott!<br>Is ther any Wiring diagram for the audio filter with the potentiometer?<br>Thank You!</p><p>Best regards from <br>Baden Wurttemberg, Germany</p>
<p>https://cdn.instructables.com/F2M/D273/IUSM1PVK/F2MD273IUSM1PVK.LARGE.jpg &lt;--- audio filter</p>
<p>Thank you! But how do I connect the potentiometer?</p>
<p>the r10k with the resistor, the video will also help</p>
<p>Thanks! Ia stupid. This is not a normal Potentiometer. It is a spacial audio Potentiometer</p>
<p>pin 1 line in pin 2 ground pin 3 line out 90% of potentiowheels use that. in this case the line is the ground and the other end in the diagram is the audio out.</p>
<p>the over discharge protection diagram does not match the one you made in the video + max667 pins are attached differently in the video. did you update the design in the video after making the diagram?</p>
<p>looks like a pinout error, definatly got me</p>
<p>Hi, what was the mistake?</p>
<p>note thats copy and paste from above as it looks like you didn't read lmao. the diagram does not work. nearly burnt my max667 ic</p>
<p>You need to chill. The pinout in the diagram match the pinout in the max667 datasheet, so I was asking you what was your exact mistake, other people might have done it too.. and it could help them.</p>
<p>the over discharge protection diagram does not match the one you made in the video + max667 pins are attached differently in the video. possible pinout error</p>
<p>Hello &quot;ma2&quot; (handle name), please tell me.</p><p>I live in Japan.</p><p>1.</p><p>In Japan, it is difficult to buy &quot;MAX 667&quot; separately.</p><p>I would like to use an IC with the same function as &quot;MAX667&quot;. Please tell me the name if there is an equivalent IC.</p><p>2.</p><p>Also, is it necessary to use an overdischarge protection circuit even if moving &quot;Handheld Game Console&quot; with a nickel-metal hydride battery and using &quot;charger for mobile phones&quot; as a power supply?</p><p>For example, such a charger: https://www.amazon.co.jp/dp/B00OXPIE56/</p><p>I want two things to tell you.</p>
<p>Can someone explain the op amp schematics for me? I think I understand, here's my take:</p><p>I get IC1A is a comparator which outputs 4.5v if the input voltage drops below 4.5v - but what's the purpose of the pot R2? Is it just to keep the input below the maximum?</p><p>So the IC1A outputs low if there is power.</p><p>Then there is a voltage drop across diode D1, taking it down to around 3.5v.</p><p>The second opamp IC1B is an inverting amplifier? It has a voltage divider making 2.25v on one input pin 6, and the 3.5v output from the IC1A on the second input pin 5.</p><p>But it's output pin 7 also goes back into it's input pin 5, with a 2v drop across diodes D2 and D3, making it approx 2.5v. Although I don't really understand why it's necessary if IC1A will always output either high or low.</p><p>I'm not sure of the purpose of diode D4 either.</p><p>So IC1B will output high 4.5v as long as it's input - is higher than 2.25v. </p><p>Finally there's the BC547 that turns on the MOSFET, but why not just connect the MOSFET directly?</p><p>Also on the schematic it looks like the MOSFET and Raspberry pi etc are connected directly to the battery anyway. Does this mean the MAX667 is only there for the benefit of the opamps?</p><p>I guess my questions are:</p><p>1. What is the purpose of R2?</p><p>2. What is the purpose of D4?</p><p>3. Why is the output of IC1B connected to it's input?</p><p>4. What is the purpose of the BC547?</p>
<p>Hello, my appreciation for this excellent job. very good.</p><p>I have one doubt, because it connects the GPIO13 port to the audio filter?</p><p>what is your function?</p><p>GPIO13 does the audio out?</p>
<p>Could you tell me how to configure the GPIO13 as an audio output?</p>
<p>Watch the Video, he explained it there</p>
<p>You say the sound is only Mono as we need the other GPIO pin for the Y key, can we not use one of the unused GPIO pins for the other audio channel?</p>
<p>The .stl file is for one. </p>
<p>Hi! I have a question: I bought the display, but my Cicuit Board doesnt look the same. What should i do?</p>
<p>Can you take a picture of that little IC (the compoonent with 8 pins) next to the right upper corner? Maybe we can help you then.</p>
<p>There are two: XL1509 and the other one is in the image below</p>
<p>Indeed, the board is different, but probably just a different version (newer or older). The circuit looks pretty much the same.<br>You can use the same principle used by greatscott. </p><p>Remove XL1509, then proced to unsolder the red wire (the one that came from the input cable) and solder it on pin 2 (where the XL1509 was placed).</p>
<p>Nice! Thank you.</p>
<p>What is clearly a very cool project, I do not feel that this is a proper instructable, as it is quite lacking.</p>
<p>Hello there! I'm Extremely interested about this project! I would like to ask something. Does it matter if I buy the classic touch screen 3.5 inch monitor for raspberry pi 2/3/Zero and plug the outputs right on the GPIOs? This way we don't mess with any &quot;remake&quot; of the LCD's pcb as you do with this LCD monitor that you bought. I'm not quiet sure if this gonna work. If i'm wrong please correct me.</p>
<p>Hello,</p><p>Great and inspiring stuff GreatScott. I am looking at your video's and reading your tutorials, because I have my own little retrogaming project in mind. It is similar to yours but involves a Raspberry Pi 3 in the shell of an Atari Lynx I (not the Lynx II which is already done) and adding 2 extra shoulder and 2 trigger buttons (not the Lynx II which is already done). </p><p>I am still quite a noob so I have an audio question, that maybe you can answer. I am wondering if it is possible to switch between mono on a single speaker to stereo on a headphone jack, using a hardware switch? I would be using the stereo output of a Raspberry Pi 3 and not a Pi zero in my case. I already nosed around several fora but did not find an useful answer.</p><p>Thanks in advance and keep up the creativity!</p>
<p>Yes. it is possible, but you will not need a switch (as least not a conventional one). You can built it with the audio jack and a couple resistors.<br></p><p>You will need a female audio jack with 5 pins, like this <br><a href="http://www.ebay.com/itm/5pcs-3-5mm-Female-5-Pins-Stereo-Headset-Interior-PCB-Mount-Audio-Jack-Socket-/141294287892?hash=item20e5cbbc14:g:~GMAAOxyBPZTfFZs" rel="nofollow">http://www.ebay.com/itm/5pcs-3-5mm-Female-5-Pins-S...</a></p><p>The circuit will be something like the image below. I don't think it will be necessary to use an amplifier, but, anyway, i'm uploading both circuits (one with the amplifier and one without it).</p><p>The jack works like a mechanical switch. The connector changes internally when you connect the headphone (closing or opening contacts), this way the audio will change it path between the headphone (stereo) or the speaker (mono). <br><br>The resistors are necessary in order to put both L and R signals together. This way you will have stereo sound with only one speaker (without this circuit you will have only left or right channel on the speaker).</p><p>I posted this on a rush so if you need any other tip just give a message and i'll try to post something with more details :).</p><p>*Im using the circuit above with my pi zero gameboy (something similar to the one that greatscott did).</p>
<p>Thanks Lobueno for pointing out the female audio jack with 5 pins, that acts as switch. It's obvious when you know it. Now on closer inspection of the original Lynx PCB, I even see it has one of those! Still a noob, yes I know...</p>
No problem, it took me a few days to realize it too haha. <br>I'm probably on version number 5 of the board already (there is always a little thing to change). <br>
<p>Hello, first of all, I'm a complete noob. And my question is, what is the 'joystick 2', like which would I connect my buttons to, joystick 1 or joystick 2? Is joystick 2 another player, e.g. multiplayer? Thanks!</p>
<p>Yes. You shold connect the muttons to joystick 1, the joystick 2 is used for a second player. </p>
<p>Hello,</p><p>First of all thank you for sharing your project, I personnaly think it is awesome and that you did a really good job. I'm considering to build your project, but i had a few questions beforehand. </p><p>- What type of glue do you use to maintain plastic parts ? I though of epoxy but i wasn't sure that will work with the pastic.</p><p>- What is the HK button ? Is it present on old console controllers ?</p><p>- Where do you connect the audio out of the Raspberry to the RC filter ?</p><p>- Is the Joystick 2 configuration useful in your project ?</p><p>Thanks in advance for your answers<br></p>
Hello there. I think the project is great, the video too but a little bit too fast for a foreigner... so the problem is I don't get the reason half of the components are needed.<br><br>Maybe it's too fast, maybe I just have a lack of knowledge. Would it be possible to have a brief textual explanation of the video? To be able to follow the steps by reading and not only pausing and rewatching the same step multiple times please?

About This Instructable




Bio: Awesome Electronics Tutorials, Projects and How To´s
More by GreatScottLab:Make Your Own Tesla Coil DIY Arduino Soldering Station Make Your Own GPS SMS Security Tracking System 
Add instructable to: