Building an ArduBoy clone


This is probably really stupid! I’m definitely a beginner here - I have Arduino experience but it’s for completely different things. I wish to create a clone so I can check out others games and begin creating my own!

I have my own TFT LCD shield (Elegoo I think make it)and an Arduino Uno (Plus access to a mega if I need) and I want to build something like an ArduBoy with it.

Anyone have any threads to get me started? I’ve downloaded the libraries but I can’t figure out how to used my own screen etc.


Thanks! Very useful
I suppose a better question for now would be: How do I define my TFT screen?
I’ve found ‘lcdBootProgram’ but I can’t figure out what to change to get my different screen to show up? Any tips?

First off, you’re going to want to modify the Arduboy2 library, which most games use, not the original Arduboy library, which is no longer being maintained.

You’ll have to modify bootOLED() to properly initialise your screen instead of the SSD1306 based controller that the Arduboy uses. You also may have to modify paintScreen(), paint8Pixels(), drawPixel() and other display control functions that are dependent on the specific display controller used.

There is also some code that is specific to the ATmega32U4 processor, so modifications for the ATmega328P used by the UNO, or the ATmega1280 used by the Mega will be required. I’ve done some porting of the original Arduboy library for the 328P but haven’t done anything for Arduboy2.

Brilliant thank you! I’ll give that a go tonight

Hey, just trying this now. Any tips on what needs changing? I feel like I’ve just been staring at it… I’m probably missing the obvious!
I’m also getting a 404 on the 328P GitHub link for some reason

Sorry, I must have deleted my fork of the original Arduboy library, forgetting I had added the 328P branch. I’ve now restored it.

If you mean for the display, you’ll have to figure out how the original display is controlled and then what initialisation and commands are required to do the equivalent for the new display. If the controller on your display isn’t similar to the original, it could be a pretty big job.


Yeah it’s an Elegoo TFT screen (cheapest screen I could get at the time) and the code I’ve been seeing seems to do it all pretty differently which is a shame.