The Arduboy is an adorable & super thin gaming board that features an Arduino-compatible ATmega32u4, 128x64 monochrome OLED screen, buzzer, and 6 buttons.  It's an amazing platform for writing small games, within the limits of the 8-bit microcontroller it uses!

What do you get when you cross Arduino with a Game Boy? Arduboy! The game system the size of a credit card! Create your own games, learn to program or...
Out of Stock

Since Arcada boards, like the PyGamer and PyBadge's are also Arduino compatible, its easy to compile any Arduboy games for these boards. The PyGamer/PyBadge have much faster processors with more memory and a larger screen, but we will not be 'emulating' the Arduboy games - we really will just re-compile them.

Since it has a higher resolution screen, we'll mimic the OLED by having the 128x64 display in the center of the TFT with white LEDs on black. The buttons work the same, and the buzzer will be replicated by the built-in buzzer or speaker/headphones. For the EEPROM emulation, we create a 1KB file on the Flash storage built into Arcada boards. And that's it!

The chip on the Arduboy (ATmega32u4) and Arcada boards are totally incompatible so we cannot use the 'bootloader' distribution system for Arduboy. Each game must be compiled a-new. However, once it is compiled, you can share the UF2 for your particular board

What can I use?

We use the Arcada Arduino library to interface with the hardware, and can run on:

What fits in your pocket, is fully Open Source, and can run CircuitPython, MakeCode Arcade or Arduino games you write yourself? That's right, it's the Adafruit...
In Stock
What's the size of a credit card and can run CircuitPython, MakeCode Arcade or Arduino? That's right, its the Adafruit PyBadge! We wanted to see how much we...
In Stock
What's the size of a credit card and can run CircuitPython, MakeCode Arcade or Arduino even when you're on a budget? That's right, it's the Adafruit...
In Stock
This is your standard USB A-Plug to Micro-USB cable. It's 2 meters long so you'll have plenty of cord to work with for those longer extensions.
In Stock

Step 1. Install Arduino IDE, drivers & board package

Before you start, you'll need to follow the guide for your particular board to install the Arduino IDE, drivers and board support package so that you can upload code to it via Arduino

Step 2. Install Arcada Libraries

We use quite a number of libraries to access the display, sound, buttons, etc.

Visit the Arcada library page to install all the libraries listed (yes that's a dozen!)

Step 3. Install Adafruit Version Arduboy Libraries

In addition to the Arcada libraries, you'll need the Adafruit-tweaked versions of all the Arduboy libraries. We will install these manually, not through the library manager, so download the Zips and then select Add .ZIP Library... to install each one

These replace the existing libraries but add support for Arcada boards, for that reason, you should remove any existing libraries you have with these names!

OK, let's test out that this worked. Restart the Arduino IDE and select the board you'll be uploading to, then open the Arcada Arduboy2 examples. Start with HelloWorld

Once you've got that working, and Hello World appears on the screen, move onto Buttons demo, try moving the text around with the D-Pad/joystick and A+B buttons

Finally - load up the Breakout demo to play a real game!

There's over 100 games available, and we don't want to play any favorites! We did try a couple games that are good demonstrations of the Arduboy platform. Here are ready-to-go UF2s you can drag-n-drop onto the BOOT bootloaders of a PyGamer or PyBadge


This Castlevania inspired 'de-make' has a whip-wielding protagonist, and floating skulls of doom!

This guide was first published on May 27, 2019. It was last updated on May 27, 2019.