RetroPie - Handheld

Reviving my Atari Lynx games on modern hardware

Similar projects worth following
Many years ago I bought (of my first real wage) an Atari Lynx.

It was the first handheld game console with a color screen, and I absolutely loved it. And I still own it, but every time I pick it up it's a bit disapointing. And that's mainly due to the screen, which was a marvel at the time, but does not really hold up to modern standards. Now there is the McWill upgrade which will replace the screen with a modern high-contrast LCD, but at 100 Euro's that's quite expensive, and actually almost more than the console is worth.

So while I'm still trying to decide if I should do this, it may be cheaper and more fun to try and build a Lynx-like console myself, using a Raspberry Pi.

Yes, this has been done before, and they are comercially available as well, but let's face it: building it yourself is the most fun.

Buiding a RetroPie based handheld has been done before, and they are comercially available as well, but let's face it: building it yourself is the most fun.


Pi Portable Console on Hackaday

GamePi by araymbox

The FreePlay Zero

PiCicle kit, available on Tindie

Well, simply Google 'retropie handheld' and you'll see what I mean.

But they all lack one specific feature: the are not designed by me ! ;-)

Since this is a holiday project (during lockdown) I'll try to use only parts that I already have.

So when starting the design I made a list of criteria that it has to meet:

  • Use parts that I already have.
  • Minimal controls, like the Lynx : only a D-pad, two action- and two Option - buttons.
  • No speaker, just headphones
  • Battery powered

Let's start with some inventory, and see what I have

First: the screen. It's a 5 Inch HDMI Display, 800x640, with touch controller. I lost the packaging, but it is probably  a 'Elecrow HDMI 5 Inch 800x480 Resistive Touch Screen TFT Display for Raspberry Pi' . This one from Waveshare looks very similar, but it has mounting holes on the corners so it will not fit my housing without a bit of modification.

Next: A Rasberry Pi 3 A+. This fits directly to the screen (unlike the RPi Zero), yet is not a bulky as a standard Pi 3 since it lacks the extra USB connectors.

Since the IO pins on the Pi are now difficult to reach, (and because it's easier to interface ), I'll use an Arduino to read the buttons and joystick and simply emulate a USB input device. Someone calling himself 'GAMELASTER' already created a neat sketch for this, including some instructions on how to test and build it.

Most of the handheld designs get their power from a USB powerbank. First tests however showed that the LCD screen / Pi 3A combination does not boot from from a small powerbank, and when using a bigger one still keeps giving 'undervoltage' warnings.

So I think I'll use a pack of two 18650 cells. When placed in parallel they will provide approximately 19 Wh, which hopefully be enough to power the set for some time. To connect and charge the batteries I used a TP4056 module, which is capable of charging 2 cells.

(Photo taken from ACOPTEX blog)

This will give us 3.7 V, so it has to be boosted to at least 5.1 to be usable. A MT3608 boost converter takes care of that. This unit can deliver 2A, so that should be enough. And it is, once connected to the Raspberry Pi, it boots fine and there is no more warnings about low voltage.


Arduino Pro Micro code for the controler. Supports the D-Pad and all 6 buttons.

ino - 1.28 kB - 01/04/2021 at 21:37



All STL files of the housing and buttons.

x-zip-compressed - 2.62 MB - 01/03/2021 at 15:02


PCBS With Switches Outlines.pdf

Outlines and location of the switches on the PCB perfboard.

Adobe Portable Document Format - 14.60 kB - 01/03/2021 at 15:01


RPi Handheld.rsdoc

Full 3D design of the complete unit. Created in DesignSpark Mechanical, the free 3D CAD package from RS.

rsdoc - 10.50 MB - 01/03/2021 at 12:42


  • 1 × 5 Inch HDMI LCD screen for Raspberry Pi 5 Inch LCD screen from Elecrow: 'Elecrow HDMI 5 Inch 800x480 Touch Screen TFT Display for Raspberry Pi'
  • 1 × Raspberry Pi 3 A+
  • 10 × Soft Silicone Top 6mm Push-button
  • 1 × Arduino Pro Micro Arduino Pro Micro - 5V/16MHz
  • 1 × TP4056 Mini-USB Li-ion charger 1A

View all 14 components

  • 1

    Print the housing, consisting of the Front, Mounting Frame and Backpanel, and print the buttons and D-Pad using a different color. All parts are available as .STL files in 'files' section as 'RPI_Handheld_STL', or on Thingiverse:

    The size of the housing is such that it will exactly fit a 210x210 mm build plate, which is the standard for most 3D Printers. None of the parts will need support, and a layer height of 0.1 or 0.15 will give good results.

    After printing the front section, remove the two vertical supports in the hole for the power switch.

    Insert the knurled nuts:

    I used a soldering iron, set to 200 degrees and just slowly pushed in each nut.

  • 2
    Insert the Screen and Raspberry Pi
    Then fix the screen by adding the 'Mounting Frame'

    Use 2 or more M3x6 screws to fix the mounting frame.
  • 3
    PCBs with switches

    Use the 'PCBS With Switches Outlines.pdf' as a template and cut the perf-board for the switches.

    The holes should be 3 ~ 3.5 mm. Note that the mounting holes are also on the 2.54 raster so it should be easy to drill them in the right position. ( the photo shows some extra holes, but that's because I re-used an old board)

View all 7 instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

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