The Arcade Way Back Machine

This is ION’s iCade cabinet, introduced in 2011 for use with the first versions of Apple’s iPad tablet. Basically it’s a set of arcade controls (4 way joystick + 8 buttons) that connect to the iPad via bluetooth. At launch there was a companion app, “Atari’s Greatest Hits” that offered Atari’s early arcade hits: Centipede, Missile Command, Lunar Lander, etc. It all works, but with a current Raspberry Pi computer and the excellent, open source RetroPie software, you can do so much more with this hardware.


Here’s an example of what you’ll end up with after completing this project:


RetroPie is a topic by itself; you’ll want to read up a bit on the software after you get the hardware sorted. It’s a beautifully made collection of software that puts a nice (and very configurable) front-end to a collection of gaming system emulators. You can check out the full list here but I count over forty different consoles. RetroPie has modest hardware requirements, it will run on the Raspberry Pi and other platforms, including Odroid single board PCs and full size AMD/Intel based PCs, too.

OK let’s get started. Here’s the bill-of-materials for this project:

  • ION iCade (eBay listings) – prices range from $20 and up as I write this.
  • Zero-Delay USB encoder board (Amazon link) — this one costs $9.99 on Amazon.
  • Raspberry Pi 3b or 4 recommended — around $40 w/ shipping. Don’t forget a microSD card if you don’t have a spare.
  • 10″ LCD Display Panel, 1024 x 768px for 4:3 aspect ratio (Amazon)   — around $80 but this model goes on sale periodically and look out for “open box” units on Amazon. These are somewhat hard to find. More common 16:9 aspect ratio panels are much easier to source and much cheaper. I wanted this size because it fits the iCade cabinet almost perfectly and preserves the 4:3 aspect ratio of the classic games from the NES/SNES era.
  • 5V 3W DC Audio Amplifier (Amazon) — around $5.
  • 2″ 3W audio speaker (Amazon) — around $10 on Amazon. I used an old Radio Shack speaker I had on hand, but almost anything around 3W will work fine.
  • OPTIONAL: 12V DC 5A Power Supply (Amazon) — around $12. I got this only because I wanted a single power supply for the entire cabinet. A friend of mine achieved the same result by attaching a mini power strip to the cabinet, and using standard, separate power adapter for the RPi, LCD panel,, etc.
  • OPTIONAL: LM2596 Adjustable Voltage Regulator (Amazon) — around $8. As with the above power adapter, you only need this part if you want to use a single 12V DC power supply and convert the 12V to 5V to power the Raspberry Pi and audio amplifier. Otherwise, if your Raspberry Pi power supply has enough capacity (above the 2.5A or so required to power the RPi) you can share power between the RPi and the audio amplifier.

I’m not listing a few other miscellaneous items I used for my build: a small amount of wiring to connect the components, acrylic for the marquee, vinyl sticker printer paper for actually printing the marquee, and a few extra components, such as the 12V power adapter and prototyping PCB board i mounted the power jack to. I mostly had these parts already.

I designed and 3D-printed a lot of parts for this project (3D printing is especially suited for these kinds of projects): mounting brackets for the RPi, speakers, LCD display controller board (hidden behind the display), audio amplifier, and rails to hold the LCD display. I’ll post a link to the .stl files if anyone is interested; please contact me via comments.

The first step is to remove the plastic controller case from the rest of the cabinet. Note that there are a couple Torx screws used to close the case. Inside, you’ll see a small PCB with connectors and wires to twelve switches (4 on the joystick). Remove the PCB and disconnect the switches; you won’t re-use any of these parts.

The USB encoder board linked above comes with a USB cable to connect to the RPi’s USB port. Wire the joystick switches to Up, Down, Left and Right connectors, and the eight button switches to the X, Y, A, B, L1, R1 (shoulder), Select and Start connectors.

IMG_0583 Don’t worry about power for this board; it draws 5V from the RPi’s USB port. For reference, here’s the SNES controller, this will work for many different consoles and arcade games. You’ll do a one-time mapping of buttons the first time you run RetroPie.


At this point, I did a bit of extra work by soldering a DC power plug to a prototype PC board and running two sets of leads off the board: one set to power the LCD panel directly (12V) and another to connect to the DC-DC converter to get 5V from 12V, to power the RPi and audio amplifier. I also ran long leads from the LED that illuminate the “coin slot” on the front of the cabinet. These are connected to 3V3 and GND GPIO pins on the RPi. There’s a built-in resistor on the LED assembly in the case.

You can remove the little stand that originally held the iPad in place; do this will open a hole through which you can run the USB encoder cable, and the three power cables. I left the encoder insider the case, closed it up at this point, and re-attached to the rest of the iCade cabinet.


Don’t forget to adjust the output of the DC-DC converter (to 5.1V) before connecting to the RPi or audio amplifier.

From this point on, assembly was straight-forward. I designed and printed left, right and bottom “rails” for the LCD panel to slide into, and glued these to the interior sides of the case. Behind the panel (and not shown below) I created a bracket to hold the LCD panel controller board against the back inside panel in the iCade.


On the back side of the iCade case, I wired the components together and attached everything to the back side panel using 3D-printed brackets. The end result looks like this:


It’s a bit messy looking and if I did it over again, I’d try to source shorter HDMI and USB cables. I used what I had on hand. Note that the RPi4 no longer uses a full-size HDMI out connector, so you might need a “D” type HDMI to full size cable if you go with the RPi4.

The last construction step was to cut a piece of acrylic sheet to fit the space at the top of the cabinet for a marquee. Originally, I wanted this to be lit, but I couldn’t get it to look right, so I settled on designing and printing an opaque marque label. I used vinyl sticker “paper” that works well with inkjet printers. Here’s the graphic.


I attached this to the front of the cabinet using small, 3D-printed L-shaped brackets. I can include these in the set of .stl files for this project, if anyone is interested. With the marquee in place, here’s what the finished cabinet looks like:


The last step is to burn the RetroPie image (.img) to a micro SD card, boot up the RPi and go through the one-time control mapping process. I use Win32DiskImager for this. Copy over your game ROMs and you’re ready to go! The RetroPie web site (linked above) will walk you through the process of getting started. There are lots of customization options but burning the image to an SD card, getting configured and copying over some ROMs will have you up and running with a fully functional arcade machine.

Have fun!