Using a Nano with a I2C oled

Hi there!

I would like to build a Arduboy myself with parts i already have laying around. Which is a Arduino Nano and an OLED display that is the exact same as the one on the Arduboy, but it uses the I2C interface instead of SPI. Has anybody moddified the library to work with this display? btw it is a SSD1306 display

Thanks in advance! :slight_smile:

Hey, I actually built this exact same project (Nano, I2C SSD1306, LiPo, fits in a Tic-Tac box). I didn’t even try to get Arduboy games to run on it, though… the I2C display seems to have a much lower refresh rate than the SPI version. Also, the Arudoboy’s 32u4 has a bit more SRAM (2.5kb) than the Nano’s 328P (2kb).
And another minor problem: the buttons will have to be remapped as the 328P does not have PINE and PINF.
If your intent is to write your own games, these things won’t be an issue. On the other hand, if you just want to play other people’s games, it’s probably going to be quite a hassle and you might be better off just getting a Pro Micro (not Pro Mini!) and an SPI screen.


I ported a fair amount of the original Arduboy library for the 328P but haven’t done the same for the Arduboy2 library which most recent games use. Also, none of the sound or other support libraries have been ported.

1 Like

Did you moddify the Arduboy library to work with the display or are you using like a adafruit library to drive the display? If you moddified the Arduboy library, can you post the code?

Thanks! I’ll check out the moddified library :slight_smile:

I used the adafruit lib, it comes with an I2C example that works without modification.

1 Like

This will get you started with exactly the parts in question: