Posts | Comments

Planet Arduino

Archive for the ‘games’ Category

The ArduBoy, as you might have guessed from the name, was designed as a love letter to the Nintendo Game Boy that many a hacker spent their formative years squinting at. While the open source handheld is far smaller than the classic DMG-01, it retains the same general form factor, monochromatic display, and even the iconic red LED to the left of the screen. But one thing it didn’t inherit from the original was the concept of removable game cartridges. That is, until now.

Over the last year, [Mr.Blinky] and a group of dedicated ArduBoy owners have been working on adding a removable cartridge to the diminutive handheld. On paper it seemed easy enough, just hang an external SPI flash chip off of the test pads that were already present on the ArduBoy PCB, but to turn that idea into a practical cartridge required an immense amount of work and discussion. The thread on the ArduBoy community forums covers everything from the ergonomics of the physical cartridge design to the development of a new bootloader that could handle loading multiple games.

Early cartridge prototypes.

The first problem the group had to address was how small the ArduBoy is: there’s simply no room in the back to add in a cartridge slot. So a large amount of time is spent proposing different ways of actually getting the theoretical cartridge attached to the system. There was some talk of entirely redesigning the case so it could take the cartridge internally (like the real Game Boy), but this eventually lost out for a less invasive approach that simply replaced the rear of the ArduBoy with a 3D printed plate that gave the modders enough room to add a male header along the top edge of the system.

As an added bonus, the cartridge connector doubles as an expansion port for the ArduBoy. While perfecting the design, various forum users have chimed in with different gadgets that make use of the new port, from WS2812B LEDs to additional input devices like joysticks or a full QWERTY keyboard. Even if you aren’t interested in expanding the storage space on your ArduBoy, being able to plug in new hardware modules certainly opens up some interesting possibilities.

In fact, the project so impressed ArduBoy creator [Kevin Bates] that he chimed in on the topic last month to announce he would start looking into integrating the community’s cartridge modification into the production hardware. If all goes well, pretty soon there might be an official upgrade path for those who want to expand what this tiny nostalgia machine is capable of.

[Thanks to Roo for the tip.]

The ArduBoy, as you might have guessed from the name, was designed as a love letter to the Nintendo Game Boy that many a hacker spent their formative years squinting at. While the open source handheld is far smaller than the classic DMG-01, it retains the same general form factor, monochromatic display, and even the iconic red LED to the left of the screen. But one thing it didn’t inherit from the original was the concept of removable game cartridges. That is, until now.

Over the last year, [Mr.Blinky] and a group of dedicated ArduBoy owners have been working on adding a removable cartridge to the diminutive handheld. On paper it seemed easy enough, just hang an external SPI flash chip off of the test pads that were already present on the ArduBoy PCB, but to turn that idea into a practical cartridge required an immense amount of work and discussion. The thread on the ArduBoy community forums covers everything from the ergonomics of the physical cartridge design to the development of a new bootloader that could handle loading multiple games.

Early cartridge prototypes.

The first problem the group had to address was how small the ArduBoy is: there’s simply no room in the back to add in a cartridge slot. So a large amount of time is spent proposing different ways of actually getting the theoretical cartridge attached to the system. There was some talk of entirely redesigning the case so it could take the cartridge internally (like the real Game Boy), but this eventually lost out for a less invasive approach that simply replaced the rear of the ArduBoy with a 3D printed plate that gave the modders enough room to add a male header along the top edge of the system.

As an added bonus, the cartridge connector doubles as an expansion port for the ArduBoy. While perfecting the design, various forum users have chimed in with different gadgets that make use of the new port, from WS2812B LEDs to additional input devices like joysticks or a full QWERTY keyboard. Even if you aren’t interested in expanding the storage space on your ArduBoy, being able to plug in new hardware modules certainly opens up some interesting possibilities.

In fact, the project so impressed ArduBoy creator [Kevin Bates] that he chimed in on the topic last month to announce he would start looking into integrating the community’s cartridge modification into the production hardware. If all goes well, pretty soon there might be an official upgrade path for those who want to expand what this tiny nostalgia machine is capable of.

[Thanks to Roo for the tip.]

In this era of 4K UHD game console graphics and controllers packed full of buttons, triggers, and joysticks, it’s good to occasionally take a step back from the leading edge. Take a breath and remind ourselves that we don’t always need all those pixels and buttons to have some fun. The LedCade is a μ (micro) arcade game cabinet built by [bobricius] for just this kind of minimalist gaming.

Using just three buttons for input and an 8×8 LED matrix for output, the LedCade can nevertheless play ten different games representing classic genres of retro arcade gaming. And in a brilliant implementation of classic hardware hacking humor, a player starts their game by inserting not a monetary coin but a CR2032 coin cell battery.

Behind the screen is a piezo speaker for appropriately vintage game sounds, and an ATmega328 with Arduino code orchestrating the fun. [bobricius] is well practiced at integrating all of these components as a result of developing an earlier project, the single board game console. This time around, the printed circuit board goes beyond being the backbone, the PCB sheet is broken apart and reformed as the enclosure. With classic arcade cabinet proportions, at a far smaller scale.

If single player minimalist gaming isn’t your thing, check out this head-to-head gaming action on 8×8 LED arrays. Or if you prefer your minimalist gaming hardware to be paper-thin, put all the parts on a flexible circuit as the Arduflexboy does.

We all have a gaming system in our pocket or purse and some of us are probably reading on it right now. That pocket space is valuable so we have to budget what we keep in there and adding another gaming system is not in the cards, if it takes up too much space. [Kevin Bates] budgeted the smallest bit of pocket real estate for his full-size Arduboy clone, Arduflexboy. It is thin and conforms to his pocket because the custom PCB uses a flexible substrate and he has done away with the traditional tactile buttons.

Won’t a flexible system be hard to play? Yes. [Kevin] said it himself, and while we don’t disagree, a functional Arduboy on a flexible circuit makes up for practicality by being a neat manufacturing demonstration. This falls under the because-I-can category but the thought that went into it is also evident. All the components mount opposite the screen so it looks clean from the front and the components will not be subject to as much flexing and the inputs are in the same place as a traditional Arduboy.

cost = low, practicality = extremely low, customer service problems = high

     ~[Kevin Bates]

These flexible circuit boards use a polyimide substrate, the same stuff as Kapton tape, and ordering boards is getting cheaper so we can expect to see more of them popping up. Did we mention that we currently have a contest for flexible circuits? We have prizes that will make you sing, just for publishing your flex PCB concept.

[Thank you for the tip, c00p3r]

While you might see a CRT by the side of the street and think noting of it, Ryan Mason has come up with a novel use for five of them in a row called the Cathode MK1.  

This set uses the Unity game engine along with an Arduino board to spread games across five tube TVs arranged side-by-side. 

In order to keep project costs down, Mason’s gaming rig is restricted to displaying a game signal on one TV at a time. This makes gameplay even more interesting, especially considering that the way that each TV handles a loss of signal contributing to the experience. 

Several games are available for this unique system, including Long Pong AKA Pooooong, where a ball bounces from screen to screen as shown in the clip below.


Many people enjoy playing flight simulators or making the occasional orbit in Kerbal Space Program, but most are stuck controlling the onscreen action with nothing more exotic than a keyboard and mouse. A nice compromise for those that don’t have the space (or NASA-sized budget) to build a full simulator cockpit is a USB “button box” that you can plug in whenever you need a couple dozen extra knobs, switches, and lights.

If you’ve been considering building one for yourself, this incredible build by [nexprime] should prove quite inspirational. Now at this point, a box of buttons hooked up to a microcontroller isn’t exactly newsworthy. But there are a few features that [nexprime] packed in which we think make this particular build worth taking a closer look at.

For one, the powder coated 8.5” x 10” enclosure is absolutely gorgeous. The console itself was purchased from a company called Hammond Manufacturing, but of course it still took some work to turn it into the object you’re currently drooling over. A CNC machine was used to accurately cut out all the necessary openings, and the labels were laser etched into the powder coat.

But not all the labels. One of the things we like best about this build is that [nexprime] thought ahead and didn’t just design it for one game. Many of the labels are printed on strips of paper which slide into translucent plastic channels built into the front of the box. Not only does this allow you to change out the overlays for different games, but the paper labels look fantastic when lit with the LED strips placed behind the channels.

Internally, [nexprime] used a SparkFun Pro Micro paired with a SX1509 I/O expander. The electronics are all housed on professionally manufactured PCBs, which gives the final build an incredibly neat look despite packing in 68 separate inputs for your gaming pleasure. On the software side this box appears as a normal USB game controller, albeit one with a crazy number of buttons.

If this build doesn’t have enough switches and buttons for you, don’t worry. This Kerbal Space Program cockpit has banks of switches below and above the player, so one can more realistically scramble for the correct onet to flip when things start going sideways. On the other hand, we’ve seen slightly less intense builds if you’re not quite ready to take out a loan just to get into orbit.

If you are a Harry Potter fan, you might remember that one of the movies showed an Isle of Lewis chess set whose pieces moved in response to a player’s voice commands. This feat has been oft replicated by hackers and [amoyag00] has a version that brings together a Raspberry Pi, Arduino, Android, and the Stockfish chess engine in case you want to play by yourself. You can see a video of the game, below.

Interestingly, the system uses Marlin — the 3D printing software — to handle motion using the Arduino. We suppose moving chess pieces over a path isn’t much different than moving a print head. It is certainly a novel use of GCode.

There are a lot of pieces integrated to make this work. There is a Bluetooth connection between the Android and Pi. We saw code in Java, Python, C++, at least. We were sad to read that the team that built it can’t modify it anymore as it was a school project and the parts have been recycled for a new class of students. On the other hand, maybe someone else will make a copy and extend it further.

We are always surprised we haven’t seen more Harry Potter paraphernalia. There was the magic wand at this year’s Superconference. We also liked the Mad Eye Moody. There have been others, of course, but not as many as you’d think given the franchise’s popularity.

Before computer games had all these fancy graphics, text based games were a very popular genre. Rather than move a character on the screen, you’d type out commands for your player in sentence form which the game would interpret; decades before the “cloud” language processing technology that the likes of Amazon and Google currently use to power their virtual assistants. In some ways the genre was ahead of its time, but it didn’t survive the graphical revolution for home computers. Of course, these games still have some diehard fans out there.

[Dan The Geek] is one such fan. He loves text based adventure games like Zork so much that he wanted to create his own implementation of the core technology that made these games possible all those years ago. But he didn’t want to just do it on this desktop computer, there’s already projects that let you run these classic games on modern hardware. He wanted to see if he could run these classic games on a modern microcontroller, and create a authentic retro experience on a handy portable device.

[Dan] starts by explaining the technology used to make titles like these possible in the days when the wide array of home computer types required a nuanced approach. By separating the story files from the actual interpreter, developers could more easily port the games to various computers. In theory these interpreters, known as “Z-machines”, could be written for any computer that could compile C code, had enough RAM to hold the story, and had a terminal and keyboard. Not exactly the kind of system requirements we’re used to seeing for modern PC games, but it was the 1980’s.

In theory a modern microcontroller will meet these requirements, so [Dan] wanted to create his own Z-machine for one. But rather than “cheat” by using an SD card like previous Arduino Z-machines have, he wanted to see if there was a development board out there that could do it all internally. The answer came in the form of the  Adafruit ItsyBitsy M4 Express, with its 192 kB of RAM and 2 MB of SPI flash.

The Z-machine created by [Dan], which he’s calling A2Z, allows users to run Zork and other compatible interactive text games on the ItsyBitsy without any additional hardware. Just plug the board into your computer and you’ll be able to play the games over the the serial connection. He’s even implemented some retro color schemes to make the experience more authentic, like the blue of the Amiga or Compaq green.

We’ve covered previous projects that brought Zork and friends to the Arduino, your web browser via a virtual Altair 8800, and even some more exotic targets like custom FPGAs. You can play cave adventure, the game that inspired Zork, on the Supercon Badge.

Before computer games had all these fancy graphics, text based games were a very popular genre. Rather than move a character on the screen, you’d type out commands for your player in sentence form which the game would interpret; decades before the “cloud” language processing technology that the likes of Amazon and Google currently use to power their virtual assistants. In some ways the genre was ahead of its time, but it didn’t survive the graphical revolution for home computers. Of course, these games still have some diehard fans out there.

[Dan The Geek] is one such fan. He loves text based adventure games like Zork so much that he wanted to create his own implementation of the core technology that made these games possible all those years ago. But he didn’t want to just do it on this desktop computer, there’s already projects that let you run these classic games on modern hardware. He wanted to see if he could run these classic games on a modern microcontroller, and create a authentic retro experience on a handy portable device.

[Dan] starts by explaining the technology used to make titles like these possible in the days when the wide array of home computer types required a nuanced approach. By separating the story files from the actual interpreter, developers could more easily port the games to various computers. In theory these interpreters, known as “Z-machines”, could be written for any computer that could compile C code, had enough RAM to hold the story, and had a terminal and keyboard. Not exactly the kind of system requirements we’re used to seeing for modern PC games, but it was the 1980’s.

In theory a modern microcontroller will meet these requirements, so [Dan] wanted to create his own Z-machine for one. But rather than “cheat” by using an SD card like previous Arduino Z-machines have, he wanted to see if there was a development board out there that could do it all internally. The answer came in the form of the  Adafruit ItsyBitsy M4 Express, with its 192 kB of RAM and 2 MB of SPI flash.

The Z-machine created by [Dan], which he’s calling A2Z, allows users to run Zork and other compatible interactive text games on the ItsyBitsy without any additional hardware. Just plug the board into your computer and you’ll be able to play the games over the the serial connection. He’s even implemented some retro color schemes to make the experience more authentic, like the blue of the Amiga or Compaq green.

We’ve covered previous projects that brought Zork and friends to the Arduino, your web browser via a virtual Altair 8800, and even some more exotic targets like custom FPGAs. You can play cave adventure, the game that inspired Zork, on the Supercon Badge.

As if you already weren’t agonizing over whether or not you should build your own arcade cabinet, add this one to the list of compelling reasons why you should dedicate an unreasonable amount of physical space to playing games you’ve probably already got emulated on your phone. [Rodrigo] writes in to show off his project to add some flair to the lighted buttons on his arcade controller. (Google Translate)

The wiring for this project is about as easy as you’d expect: the buttons connect to the digital inputs on the Arduino, and the LEDs on the digital outputs. When the Arduino code sees the button getting pressed, it brings the corresponding LED pin high and starts a fade out timer using the SoftPWM library by [Brett Hagman].

It’s worth noting that the actual USB interface is being done with a stand-alone controller, so the Arduino here is being used purely to drive the lighting effects. The more critical reader might argue that you could do both with a single microcontroller, but [Rodrigo] was in a classic “Use what you’ve got” situation, and already had a USB controller on hand.

Of course, fancy lit arcade buttons won’t do you much good without something to put them in. Luckily we’ve covered some fantastic looking arcade cabinets to get you inspired.



  • Newsletter

    Sign up for the PlanetArduino Newsletter, which delivers the most popular articles via e-mail to your inbox every week. Just fill in the information below and submit.

  • Like Us on Facebook