One Nerd's Journey

Putting a Raspberry Pi Zero in an Atari 2600 cartridge

Following my main RetroPie build, for even greater niche-ness, I thought I’d try and cram a Pi Zero and USB hub inside an Atari 2600 cart.

My favourite 2600 game of all time is Pole Position, so I used a copy of that. It has the advantage of being in plentiful supply, so I didn’t feel too bad about using it.

First job was to take the cartridge apart. This meant using a hairdryer to heat up the glue on the label, then carefully removing it. One screw needs to be taken out from the middle of the cart front, then there are six clips (on this style of cartridge shell) to pop open. I found starting at one end and using a gentle rotation got them away cleanly.

Next, I took the USB hub board out of its casing. The picture below shows the next step. I removed the cable retainers and mouldings from the USB and power extension cables. In the picture you can see a pair of cables before and after, if you like. If the ones you’re using don’t have rubber housings on the connections themselves (like the third cable down does) you’ll want to hot glue the connectors – those wires are so small, that unless you have world class soldering skills (I don’t) you’ll never be able to get them back on the pins if you break them. And they will break as they’re super-fragile.

I cut all of the shell supports out, except for the screw post. But you’ll notice in the picture below that I shaved a little off of two edges of that post. This was so that my USB hub and Pi both sat a little further back to allow the shell clips alongside the hub to still be effective, and for the HDMI adapter to sit within the shell. This pic was taken before I also took out the three rectangular struts in the middle of the top case – not totally necessary, but gives a little more room.

A notch for the USB ports:

Once I’d worked out the placement and routing of everything it was on to (messy, ugly, don’t-care) hot-glueing everything in. First the USB hub and USB>Micro USB cable:

After that, the power extension cable was placed, and I added a piece of PVC shrink-tubing on top of the bare USB plug. This was because I knew the Pi would sit on top of it. It’s thinner than hot glue, which is the main reason I used it. I could have shrunk it around the plug, but that would be an added layer of aggro should I ever need to take the thing apart.

Next, Pi in (it needed a makeshift standoff on the bottom left, for which I used one of the unneeded plastic light projectors from the USB hub), and everything else hot-glued in place.

The only conundrum was the the open-end of the cart. I messed about trying to cut the sliding PCB cover to suit, but it wasn’t ever going to work, so instead I sliced a piece of shrink tubing open, and after adding an offcut of plastic as a strip over the two Micro USB connectors, glued it on top of that and the HDMI adapter, and wrapped the bottom few mm around the bottom edge of the cart. It makes for a nice dust-protector, and when in use, rests on top of the HDMI and power cables, so offers some much needed ventilation.

And on that subject, I went for a Pi Zero (non W) as it runs slightly cooler than a W. It remains to be seen if it gets too hot, but if it does I’ll drill some ventilation holes in the sides of the case – I just didn’t want to do that initially as it would spoil the purity of the case.

All that was left to do was put it all back together. It’s a very tight fit, and some of the clips are very, very slightly loose (but still work) but the screw holds it all together nicely. I put some PVA on the label and stuck that back on, too. Finally, I created an end-label that matches the style of the original and stuck that on.

The completed build:

Addendum: I made an error in not cutting a slot for access to the memory card. I discovered this when it stopped working properly (unrelated to the card itself, but I had no way of troubleshooting that) – it’s more common that an SD card will die than the Pi itself so is the first step, really. In my desire to keep the purity of the shell, I had initially decided against the slot.

So, apart it came. Since this meant taking the label off again it didn’t really survive that well, so I decided to create some new artwork and labels and apply those. I also applied the main label the other way around for readability, as anyone who is familiar with Atari 2600 carts will now that it is upside-down when looking at the end label.

Once I’d sorted the problem (some rogue glue), I cut a card slot with a Dremel. It’s not that pretty, but it’s functional. A small piece of electrical tape was applied to one side of the SD card and folded over, sticking the loose end to the underside of the card. This provides a ‘pull’ that can be grabbed with tweezers should I ever need to remove the card. It still sits within the shell, so you nothing is sticking out of it.

And finally, I put it all back together and confirmed it was still working, before applying my new label.

As one final note, I configured a 3rd party XBox 360 compatible wired controller with RetroPie. If I defined ALL of the buttons, it would go dead between quitting games. If I only defined the D-Pad, four main buttons, and Start and Select it seemed to be fine. That’s not an issue specific to this build, but thought it may help some people in the same boat.