Handheld Raspberry PI Retro Game Console

In this project I will be making a Nintendo Switch style retro game console

Public Chat
Similar projects worth following
This project will feature a 5-inch display, 4500mAh battery, an 8GB Raspberry Pi 4, and a 16-button, 2 joystick gamepad that also functions as a mouse for desktop navigation!

Looking for a good place to get started making your own handheld Raspberry Pi-based emulator? Well you're in luck because this is the right place! One of the hardest things to do as a beginner trying to make something like this is finding all the right resources to actually understand how to make a handheld like this. My goal for this project is to explain every detail as I go along the process. As I am a beginner as well, I will make mistakes along the way, but those mistakes will help me better understand how to explain the process to other beginners.

In this project I will be making a handheld retro game console with the following features

  • Raspberry Pi 4 8GB RAM
  • Modded Retropie Operating System (Supreme Ultimate)
  • Full Xbox-style Controller powered by a Teensy++ 2.0
  • Switch to use the joystick and buttons as a mouse for keyboardless desktop access
  • 5" Display
  • 4500 mAh Lipo Battery

This project will take you along for the whole process of what goes in to making a fully fledged handheld emulation console. I will do my best to explain every detail so even beginners can gain an understanding of how to build their own.

ino - 2.82 kB - 06/04/2021 at 02:37


  • 1 × Raspberry Pi 4 Preferrably the 8GB RAM version for best performance
  • 1 × Teensy++ 2.0 Used for the integrated controller
  • 1 × 5-inch Display
  • 1 × RetroPSU To boost 3.7v Lipo to 5v
  • 1 × LiPo Battery I used a 4500mAh 3.7v battery

View all 14 components

  • devLog[8]

    Brandon07/19/2021 at 05:12 0 comments

    Exciting news! I finally got the speakers and 3.5mm audio jack working! Check out the 'Assembling the Components' section in the instructions to see how I did it. Now all I have to do is dill some holes for the speaker, glue it in place, and get the Raspberry Pi power button working!

  • devLog[7]​

    Brandon07/15/2021 at 01:50 0 comments

    Hey guys, it's been a while! I promise I've been hard at work, though. Since the last update I have successfully wired up the RetroPSU from HelderTech as well as extended the LCD screen buttons out the the case so they are accessible wihtout having to open up the case. Pictures below.

    The case only has 4 buttons for the screen on the outside, which is unfortunate because my screen has 5 buttons, so I'll have to figure out something for the last button eventually.

    In the meantime, I've also started working on installing speakers. I salvaged a couple from an old laptop and soldered them to the case, but I am still trying to figure out how to get them to work. They aren't recognized by the RetroPie OS right now. After that I'll try and wire up the 3.5mm audio jack so it's accessible while the case is closed. Once that's finished i'll get the Raspberry Pi power button working and then the project will, most likely, come to a close.

  • devLog[6]

    Brandon06/24/2021 at 15:29 0 comments

    Hey guys, just a quick update today! My Helder RetroPSU shipped and will be arriving on Saturday, which is exciting! Also, I have decided not to use the Supreme Ultimate OS as it is a very large file size, and I have decided to go with a new, lighter build of RetroPie that just came out a few days ago. This build of RetroPie has Wii and Gamecube emulators built in so I won't have to use the pixel desktop and download Dolphin emulator to play them! I know not many GC or Wii games work on the Pi, but I really wanted to have native emulators for those systems, so that's why I am switching. I am editing the video about how to install this OS right now, and It should be out in the next few days.

    Be on the lookout for more updates! There will be a bunch coming soon.

  • devLog[5]

    Brandon06/15/2021 at 15:13 0 comments

    Hey guys, today I'm back with a lot of updates for you guys! I meant to post this devlog a while ago, but I just got back from vacation and didn't have time to post it beforehand. Anyways, here's what I've been working on since the last devlog:

    First off, I finished mounting and gluing the joysticks and buttons to the case! The case was originally designed to use screws and mounting holes to mount everything, but they didn't quite line up correctly, so I just used a ton of hot glue. I would definitely recommend using a better method of securing the buttons and joysticks in place if you are considering making something like this.

    Next, I finished soldering all the buttons to the Teensy, which is pictured below. I also added a button to function as a mode button to toggle between controller mode and keyboard mode. This is super handy because it will allow me to use the controller as a regular gamepad as well as a keyboard and mouse for when I want to navigate around on the desktop. I also wrote the code needed to get the buttons as well as the toggle switch to work, which can be found in the downloads section of this project.

    I also realized that the step-up voltage boost converter I bought in the last devlog is actually a step-down converter, so I ordered a step-up converter so I can finish this project. You can find the converter on amazon here. To be honest, i'm a little worried that this converter won't be powerful enough to power both the screen and the raspberry pi, since the comments say that you shouldn't use more than 2amps or the board will fail, but we'll see. My backup plan is to buy the RetroPSU from which I know will work. The only downside with that is that it takes forever to ship here.

    Those are all the updates I have for now! I can't believe I am so close to finishing this project! It's been a ton of fun to make. All I need to finish it is the voltage booster and then I just have to download games and start playing!

  • devLog[4]

    Brandon05/29/2021 at 00:26 0 comments

    Hey guys, I'm back with another dev log! I've been working a lot on this project the last few days, and it is so close to being finished! Here's what i've been doing since the last update:

    I soldered the D-pad, A, B, X, Y, Start, and Select buttons to the teensy, and I also put the teensy into the case.

    I contacted the original developer of the case I'm using, and he added the missing front place file to his thingiverse here.

    I realized that the power supply setup I'm using currently can only supply about 3.7 volts to the Raspberry Pi and Display, which is not enough to power the devices. Because of this, i'm going to need a voltage step-up converter, which can boost the voltage from 3.7v to 5v. That component should arrive soon, and you can find it here. I'll also add it to the bill of materials list.

    I've also been working on getting my joysticks mounted to the case, which has proven more difficult than I first imagined, because the mounts in the case don't work with the joysticks I'm using. Because of that, i've been having to design my own mounts and glue them to the case.

    That's all the updates for now! I can't believe I'm actually almost finished making this thing. All I have to do is mount the joysticks and shoulder buttons, program the teensy, and solder the new boost converter and then this thing will be done!

  • devLog[3]​

    Brandon05/24/2021 at 03:03 0 comments

    Just a quick update, the case that I am using for this project, which can be found here, was missing one of the parts needed to complete it (the front plate). Because of this, I decided to attempt to design my own front plate, which can be found here. I am going to print it out tonight and test it and then update you guys tomorrow on whether it works or not.

  • devLog[2]

    Brandon05/24/2021 at 01:47 0 comments

    Hello again everyone! It's been a minute. I've been doing a lot of work since my last update, so let my get you up to speed.

    First, I tested my lipo battery charger, and it works great! It doesn't have any protection, so I'll have to be careful about that, but for now it will do fine. I may upgrade to a better battery circuit in the future.

    Next, I spray painted my case, and it turned out pretty good! I messed up the top, but that's not a big deal.

    I also downloaded and installed the operating system I will be using onto my raspberry pi. I'm using a modded version of retropie from Arcade Punks.

    And finally, I started wiring up all my buttons! I haven't wired them to the teensy yet, as I need to figure out the placement of all the components first, but I have a good start.

    I will be coming out with videos documenting my process very soon as well, so stay tuned!

  • devLog[1]

    Brandon05/14/2021 at 21:08 0 comments

    Great news! A bunch of parts I need for the project came in today! So far I have received the SD card, Blower fans, HDMI cable, heatsinks, tactile buttons, and jumper wire. I have also been working on the case for this project, and, luckily, I found a design on Thingiverse that might work. I would make one myself, but I am absolutely horrible at 3D design. Hopefully I'll get some more parts in before I leave for the beach on the 18th, but if not, I'll have an update for you guys probably on the 22nd or 23rd.

  • devLog[0]

    Brandon05/13/2021 at 15:37 0 comments

    Hey guys! Welcome to my first project log. Last night I purchased all the parts needed to make this project, and they should arrive in the next few days. You can check out the parts list to see everything I ordered, and I'll put up links to everything soon. I may add some things to the parts list later as I get a better Idea of other parts I might need or future upgrades, but for now I think that list has everything I need to get started. I am also planning on making a video series of how to make this on my youtube channel, so be on the lookout for that!

View all 9 project logs

  • 1
    Bill of Materials
    Raspberry PI 4$
    Teensy++ 2.0
    5" Display
    USB C Charging Board
    Boost Converter
    Boost Converter
    LiPo Battery
    HDMI Connector
    Micro HDMI Connector
    Ribbon Cable
    Micro SD Card
    Blower Fans
    Jumper Wires
    Perf Board
    Tac Switches


  • 2
    Bill of Materials Info

    If the links aren't working, please let me know and I can help you find the correct part.

    Parts needed that I did not purchase because I already had them on hand:

    DISCLAIMER: I used joysticks from a USB Xbox controller and I used speakers from an old laptop, so the ones I linked are not the ones I used. However, they should work fine. Also note that I did not purchase the cheapest option for each item, I was going for quality as well as shipping speed, so I ordered mainly from Amazon.

  • 3
    Setting up the Raspberry Pi

    *Instructions coming soon*

View all 8 instructions

Enjoy this project?



dearuserhron wrote 06/17/2021 at 21:26 point

Tell about Li-pol. Do you use single Li-pol to drive RPi? Do you use step-up DC-DC? There will be a lot of drag. Look here (two Li-ion cells and step-down dc-dc) #Insane Pi 

  Are you sure? yes | no

Brandon wrote 06/18/2021 at 19:12 point

I am going to be using one 3.7v lipo battery and the Helder RetroPSU to power my build. The RetroPSU boosts the voltage to 5v and outputs up to 6 amps which is more than enough to power the screen and Pi. Other cheap voltage boosters wont be able to power both devices, so the RetroPSU is pretty much the only option.

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates