DIY Raspberry Pi Zero Handheld Game Console

196K86899

Intro: 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.

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:

https://twitter.com/GreatScottLab

https://www.facebook.com/greatscottlab

62 Comments

Can i use the same hardware setup for watching YouTube . Please help me for this kind of project.
why audio filter is needed at all?
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.
My Dislpay is flickering ?
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 ...
why that filter is needed at all?

My screen ceeps on flashing and i dont know why?
Very much easier to build using these boards. :)

hi try to connect to rca tv but only shows white and black no color doi missing a pin

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?

What is the tool used to cut out the screw brackets called? How to cut without breaking the brackets?

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

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.

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.

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)

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.

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.

the battery over-discharge protection circuit doesn't work :(

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.

More Comments