Image Image Image Image Image Image Image Image Image Image

This 8-Bit Life | September 26, 2016

Scroll to top


No Comments

Raspberry Pi used to build a teeny-tiny MAME Cabinet - This 8-Bit Life

Leland Flynn

Hardware hacker¬†extraordinaire Sprite has put together something pretty special. I’ve seen plenty of people running MAME (Multiple Arcade Machine Emulator) or various other video game emulators from their Raspberry Pi’s and even using them as handy, portable gaming consoles. But, being a child of the arcades I took one look at this tiny MAME cabinet and instantly got excited.

I’ve had intentions myself of building a custom handheld game console with one of my Pi’s and thanks to some hard work on Sprite’s part I will have a lot less to worry about. What he’s done to drive the 2.4″ TFT LCD for his cabinet is pretty impressive. He re-used an older Linux Kernel module that he’d written to drive this panel by way of an 8-bit framebuffer. This allowed him to send video out over the Pi’s GPIO pins (General Purpose Input/Output) rather than rely on bulky connections from the HDMI or RCA ports. If you’re interested in using his work so that you don’t have to re-invent the wheel with your projects he’s made the code for his module available on his site


The joystick and buttons were a simple matter as well. He loaded up and already existing firmware on a micro-controller, soldered his controls to it, and was able to use this as USB HID (Human Input Device) in Linux. This was a really elegant solution, especially when space was at such a premium.

The case was simple enough. He made a “finger box” in Inkscape that would fit all of his hardware and then cut it out on a laser cuter. As with the rest of his work you can of course download the .svg files of the case and cut one yourself.

It seems that portability was always something on Sprite’s mind with this build as well. I mean what good is a tiny arcade cabinet if you can’t take it with you? But of course you’re going to need power. Luckily he had some old cell phone batteries lying around. His charging circuit does quite a few things here that I won’t pretend to know enough about to give an in-depth explanation of. Suffice it to say that it is capable of charging from the Raspberry Pi if it detects that the USB is plugged in and seamlessly begin drawing from its batteries when the cable is removed.

I would have remained thoroughly impressed with this project even without the ability to play it anywhere and not rely on a power source. I might have chosen a simpler option like a pre-built rechargeable emergency cell-phone battery, but then I’m also not as skilled as Sprite here.

The final big piece of the puzzle here is also probably the best touch. The marquee that sits above the screen is an important part of an arcade cabinet. I can’t really explain why but something about the glow of that logo in a crowded arcade can attract patrons like moths to the proverbial flame. Most MAME builds I see have some garish, home printed image slapped behind plexi-glass. Not only did Sprite not make the marquee lackluster, he packed in features for it as well.

He used a 128×32 OLED panel to display the logo of whatever games is currently being played. To handle this he wrote a simple little program that runs every time a new game is loaded, searches a directory for an image with a related name, and then displays it on the screen. What you end up with is a high quality marquee that adds just a bit more flavor to this already awesome cabinet.

This entire build is an impressive display of knowledge, skill, resourcefulness, and a love of games. I mean c’mon, it has rechargeable batteries so you can take it on the go. It even has a marquee at the top to display the logo of the game that you’re playing! ¬†If you want an interesting read or even want to make one for yourself, Sprite has a very detailed build-log on his site, schematics of the custom circuits, and downloads for all of the software he wrote to make it all work. Be sure to take a look here.

Like this build? Have thoughts or something similar you’d like to share. Let me know what you’re thinking in the comments below!



Submit a Comment