The goal of this project is to build a two-player ‘cocktail’ style game, with a 64×64 LED display, and arcade controls. The game system has stereo sound, and sits on a tabletop to save space and materials. The number of included sample games is small, but will hopefully grow over time.
This was not an easy project for me to make, and will require some design work on your part in order to successfully build it. Some of the parts can come in various flavors, and it can be hard to tell if you will be getting just the right thing. My advice is to go in this order:
- Read all sections carefully. Do not simply order everything on the parts list without understanding why you will use it.
- Order all the parts you think you will need, from a given supplier. Let it come in, inventory what you have, test fit things together.
- If the parts seem to fit, move on to the next supplier. If a part isn’t what you expected or needed, maybe something similar can be added to your next order.
- If a part needs a larger space, or a bigger hole, than is accounted for in the acrylic cutting, adjust the files as needed.
- Finally cut the acrylic and hold your breath that everything fits.
This is the pile of leftover, unused, and unworkable parts that I created while designing this project. This suggests that this is not an easy build.
What is it good for?
I’m glad you asked. With a 64×64 resolution, what sort of games can fit in such a limited space? A surprising amount, although the graphics will be very crude. This is something that you can turn into your advantage. Not an artist, but always wanted to create a game? With graphics this primitive, no one is a great artist.
Extremely low-resolution games have shown up in many places. If the game is fun, HD graphics aren’t needed to express it. Think of your favorite game, reduce it to it’s bare essentials, use colors instead of resolution, and see what you can make go.
How does it work?
There is a set of software for the BeagleBone Black, called LEDscape, which uses one of the secondary CPU units (called a PRU), to drive attached LED matrix displays. By disabling the BeagleBone Black’s HDMI port and a couple of other resources, enough pins can be freed up to drive 64 LED matrix displays.
I didn’t want that many panels, 4 would do, so I spent some time finding a way to get it to do LESSthan the maximum. I made a fork with the LEDscape software configured to support one chain of 4 displays, and included some sample games along with some software to read the control panels.
A link to the repo with the original code can be found in the downloads page, along with a link to my own fork, which is preconfigured for this project.