All video games are inherently a product of the constraints of the hardware they run on. We often think about that in terms of the resolution and framerate they run at, the specific graphics effects they’re capable of rendering, and what kind of online features they support. But far more basic factors can have a much more dramatic effect. Many Nintendo Wii games, for example, simply weren’t possible without the gesture controls that the innovative Wiimote introduced. The same is true of Toggle Boss, which is a surprisingly great Arduino hardware game that is played entirely with toggle switches.
This small handheld game has only a few obvious components: a monochrome OLED screen, a couple of LEDs, and three toggle switches. Those are standard toggle switches that can only be set to one of two possible positions. You wouldn’t think that a few toggle switches would facilitate entertaining gameplay, but Toggle Boss actually looks like a lot of fun. A couple of games are currently available on Toggle Boss, but the first is our favorite. In it, your character automatically runs across a series of 2D platforms. Up to three special elevator platforms are placed among the static platforms. The toggle switches set the positions of those elevator platforms, and your job is to move them so that your character can reach the star that is placed somewhere in the level.
All of the code for Toggle Boss was programmed in Arduino, but it’s actually running on a NodeMCU ESP8266 board. It doesn’t seem to require the ESP8266’s WiFi capabilities, so it’s likely that the NodeMCU was chosen for its low cost and relatively speedy processor. The display is a generic 0.96” OLED screen with a standard 1306 driver. It’s unclear if a battery is present or if power is provided via a USB cable. All of the electronic components are housed within a simple 3D-printed enclosure. If you want to build your own Toggle Boss — and hopefully create additional levels for the first game — all of the necessary files and code have been uploaded to GitHub.