Arduino board package for Arduboy and Homemade versions


I’ve been working for a while on an Arduino board package that makes it easy to build/upload sketches for Arduboy and homemade Arduboys with different Arduino boards and displays.

In a nutshell.

  • You can build a sketch for Arduino Leonardo, Arduino/Genuino Micro, SparkFun Pro Micro (or clones) as well as for the original Arduboy and DevKit.

  • Support for multiple displays SSD1306, SSD1309, SH1106 and displays with alternate resolutions SSD1327 (128x96), SSD1329 (96x96)

  • Option for using optimized Arduino core freeing more space and adds bootloader and reset button support to sketches.

  • Cathy3K bootloader support gaining 1K more space for sketches.

The package and install instructions can be found on my GitHub

Dark&Under - a dungeon crawler
Circuit Dude [2.1] - Awesome Puzzle Game With 50 Levels!
RGB LED pin modification for Pro Micro [SOLVED]
Arduventure - 12th TEAM a.r.g. game
Arduboy2 - The now recommended alternative to the Arduboy Library
Arduboy custom bootloader

Hi Mr.Blinky

I’m planning on starting my own homemade Arduboy build, and I’m trying to decide which display I should order.

Does your comment above mean that an SSD1305 display should work “out of the box” with your board package? Or does it mean that I need to customize the libraries somehow?


EDIT: Ok, I have no idea what happened here, but I tried to reply to this: “Just requires 3 bytes of extra data in the display initialisation in the Arduboy(2) libraries” in here:
[Poll] New Arduboy: B&W or Color Screen?

[Poll] New Arduboy: B&W or Color Screen?

My comment was for SSD1309 display. I didn’t get to test a SSD1305 yet but from what I saw from the datasheets It should be compatible.

With the homemade package you don’t have to modify the libraries. You can select the board type and display type from the tools menu.

Currently my favorite alternative display are the ones with SSD1309 controller. They come in sizes of 1.54" and 2.42"

Because if you’re using an Leonardo, Micro (if you don’t care about the Rx,Tx LEDs being reversed) or a Pro Micro with ATMEGA in TQFP-44 package (you can break out the missing pins by soldering tiny wires) you can patch original hex files on the fly with my python uploader script


Cool, thanks! I’ll get me some 1309s and Micros and get to work.


Ok, so I’ve been trying to figure out the wiring for a home-made Arduboy based on an Arduino Micro and one of these displays:
(For future reference, the display has seven pins: GND VCC SCL SDA RES DC CS)

I’ve been unable to find clear documentation on how the display should be connected. Here’s my current guess:

display   /   Arduino Micro
GND           GND
VCC           5V
SCL           ICSP SCLK
SDA           ISCP MOSI
RES           6 PORTD7
DC            4 PORTD4
CS            12 PORTD6

Does that seem correct?


Yes. But you do not need to take SCLK and MOSI from the ICSP header. With the micro USB connector pointing up, they’re the bottom left and right pins.


I’ve updated the package with the following changes:

board support:

  • Added support for Cathy2K bootloader
  • Added updated Cathy3K with write to flash cart support
  • Moved Homemade Arduboy board option up
  • fixed typos

Arduboy2 library:

  • added generateRandomSeed() from current master
  • Added flash cart hardware pin defines
  • SPItransfer returns SPI data
  • fixed sprite glitch when HEIGHT > 64

Arduboy core:

  • Rx LED will light up when bootloader or reset button combo has been pressed for over 1.5 seconds to inform the user the button combo can be released

To update the package:

  • Go to Tools > Boards > Board manager
  • In the text box type homemade or Arduboy homemade
  • Click on the Arduboy Homemade package and click the Update button.

(Scott R) #9

Awesome stuff i’ll be all over this at the first opportunity.



Updated the package with the new Cathy 3K v1.4 bootloader that has support for external flash storage, the built in flasher menu and a few extra tweaks.


Updated the package to version 1.2.5

Added alternate resolutions for SSD1327 and SSD1329 displays to Arduboy and Arduboy2 libraries:

Arduboy (128x64) resolution for SSD1327/29 :

  • Display 128x64 on 96x96 (left and right 16 pixels off screen, black bars at top and bottom)
  • Display 128x64 on 128x96 (with black bars at top and bottom)
  • Display 128x64 on 128x128 (with black bars at top and bottom)

Native resolutions for SSD1327/29 :

  • 96x96
  • 128x128

Alternate resolutions for SSD1327/29 :

  • 128x64 rotated 90 degrees counter clockwise(portrait mode) on 128x128 display (with black bars at left and right)
  • 128x96 on 128x128 display (with black bars at top and bottom)
  • 96x96 on 128x128 display (with black surrounding border)

Added bootloaders with SSD1327 and SSD1329 128x64 display support

Added @Pharap 's Fixed Points Arduino library

updated Arduboy-TinyFont library

(Pharap) #12

Huzzah! 1943 and Physix for clones!

I presume TinyFont is @Botisaurus’s TinyFont and not some other TinyFont?


So @Botisaurus is Boti Kis / yinkou !? Yes! it’s his library

(Boti Kis) #14

Yes that’s me. Wish I could change that GitHub name :joy:

(Pharap) #15