DIY Raspberry Pi Zero Handheld Game Console

101,937

738

58

Published

Introduction: DIY Raspberry Pi Zero Handheld Game Console

About: Awesome Electronics Tutorials, Projects and How To´s

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.

Amazon.com:

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

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:

Amazon.com:
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

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

6 People Made This Project!

Recommendations

  • Water Contest

    Water Contest
  • Creative Misuse Contest

    Creative Misuse Contest
  • Clocks Contest

    Clocks Contest

58 Discussions

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

1 reply

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.

0
user
clem2k

5 months 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 ...

F2MD273IUSM1PVK.LARGE.jpg
0
user
verdu

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

aa1b4354-7a53-41d2-9f23-b4823323d560.jpegc74fe45f-5e8e-4cb1-b4b6-5b526564c9b7.jpeg

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.

1 reply

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.

Hi, I'm planning on building it! Great project! Do you think I can use the same protection circuit with a 2S Lipo?

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.

1 reply

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

I have a question.

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

1 reply

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)

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?

0
user
dehein

1 year ago

the stl file is in mm?

Hey Scott is their another voltage regulator I could use?

1 reply

If you find another one with a very low dropout voltage, then sure.