Main Content

Play Arduboy games on the big screen with the Arduboy Home game console. The tiny OLED display of the Arduboy has been replaced with VGA output, and the Home has a separate, handheld controller. The home console is compatible with the existing Arduboy game library.

An Arduboy game is compiled and loaded onto an Arduino Micro. The compilation uses an Arduboy2 library that I modified to support VGA output. Only the library has been modified—games are compatible without change.

The primary changes to the library are in the Arduboy2Base::display() function, which normally writes to an OLED display over SPI. I changed the function to write to my custom VGA output device. I also removed the code that PWMs the RGB LEDs in Arduboy2Core::setRGBled. I have no need for the LEDs in my console, and need to repurpose the pins for VGA digital I/O, so I can’t have them PWMing.

I’ve tested a half dozen or so games, which all work flawlessly. Because I made changes to the core display function, I would expect this modified library to work everywhere, but haven’t extensively tested the game library (there are over 200!).

VGA output is achieved with a TinyFPGA BX. I used a modified version of my MiniVGA VGA generator. I had to change how pixels are updated to require a lower pin count such that it would work with the ATmega32U4. The code is here.”

Link to article