My personal homemade arduboy

Arduboy uses a 32u4 and SPI OLED so it’s not ideal.

Then again you’re in luck @MasterOfGizmo maintains some of the libraries for Nano + i2c

1 Like

For a close to Arduboy compatible:

Your Arduino board is a Nano, which is based on an ATmega328P processor. You’ll need one based on an ATmega32U4, such as a Leonardo, Micro, or SparkFun Pro Micro. (The Pro Micro doesn’t bring out all the required pins, so there will be some limitations.)

Your display has an I2C interface. You’ll need one with and SPI interface.

The MicroSD card adapter will not be useful.

For your hardware, you could look at this project for some Arduboy games:

1 Like

Sorry, for two posts with almost the same content. I was typing my post while another Scott posted before me.

OK thanks for your both response. I’ll wait a few then to buy the good oled screen and a Leonardo.
I’ll not buy them now as they could arive after i have to move to my new location. So i’ll continue this project in 3 months then as i would have a compatible Arduboy. Many thanks and please continue to help me to construct it at the end of March :wink:

1 Like

Hum for card, this one could be fine ? else i have this one:

For screen: This one would works if i don’t make mistake ?

That will not work very well… It does not break out enough of the pins.

That will work, but will require either alternate wiring (see the Arduboy Homemade Package for more details), or some very fine soldering skills to break out a few of the pins that aren’t already broken out.

That screen will work fine, but it will need the SSD1309 patch. It is a bit pricey. Are you stuck with GearBest, or can you use AliExpress?

If you can use AliExpress, here are some cheaper options:

All of these have free shipping to the USA, but your shipping costs may differ, and there may be cheaper ones to your location.

OLED displays (all of these use the SSD1309 chipset which requires a code patch)
1.3" - $3.05 -
1.54" - $9.00 -
2.42" - $16.20 -

Arduino Pro Micro - $2.87 -
Either one will work, but the first one will be easier to solder to the IC’s pins if you don’t want to use the alternate

I’ll have a look on AliExpress, just the first seller i have used to search. But yes alot more choice on AliExpress

card and screen seems fine ? (I go sleeping but will ead it tomorrow :wink: )
Our post has crossed. Thanks for the answer you already posted before i send mine.

Display 1.3 and card ordered else it’s made too long to wait :wink:

I like the deadly serious expression on your face.
Building Arduboy clones is clearly serious business. :P

I like your choice of buttons, they look fun.

(Sorry, I don’t have anything useful to add. I know C++ almost inside out but I’m useless with hardware. :P)

1 Like

I used the same style on my first build. In general, they look great, but are very ‘clickey’ and hard feeling.
Hopefully yours are better quality than the ones I used because after a few months of use, one of mine is now ‘sticky’.


Thanks all. I have try first to build it with all i have as i like this hardware and it’s fine to me as it’s don’t need a high level electronical to make something… So buttons is the ones i have. Later i could maybe make another Arduboy and buy other buttons. For the first one, my idea is to build first an first totally functionnal harduboy and learn to use it, charge system, charge games, compile games and next to try to had the cardbridge system (very cool easy way to upgrade / connect with external hardware as arduboy is a very console to manage even domotic systems, maybe even better than my Makerbuino as it’s powerfull and cost less maybe about 15€ or 20€ with a case, if you make a budget of 25 you are sure to be in in all cases and you have hability to have a clear display, enough memory and i/o, alot more power that you need. So i think i’ll have an arduboy for electronical control and one to play. I have just to wait that the hardware come now and will follow your instructions to make connexions. My breadboard is enough i think, but say me if i need something else that i don’t have show or even hardware stuff i could add as optional as i have alot electronical material and could search for components for later. The only thing i don’t have and would so much have is a 3D printer …


Assuming it’s a SSD1306 it might be possible to convert your IIC I2C OLED display board to an SPI one.

You need to cut a trace and add 2 wires if you’re confident enough with a box cutter and a soldering iron.

I can’t see on the photo clearly but:

Pin 17 (CS#) on the ribbon needs to be disconnected from ground (cut trace on board as far as possible from ribbon or remove 0 Ohms “resistor” if there’s one, I can’t see on the photo) and a wire attached to it to become your CS# (chip select pin) wire.

The SA0 (the address select) resistor needs to be removed and the pad that goes to the ribbon cable becomes the D/C# pin (data when high, command when low)

SCL is SCLK (clock in both cases)
SDA becomes MOSI

I think you can leave the I2C pullup resistors on the SDA signal and it’ll still work as SPI fine.

The one that’s smack in the middle is RES# (Reset, pin 16), next to it on either side you have CS# (pin17) and D/C# (pin15)

Those are the two wires you need to hook into for SPI. You can follow the trace on the board. D/C goes to the address select resistor.

The other is CS# which should be going straight to ground. The big question is if it’s possible to disconnect it from ground or if it’s connected behind/under the flexible cable.

Removing the flex cable is a whole other level of skill (but practice makes perfect… I’ve destroyed a few before finally getting the hang of it).

Or you can order a 3 EUR (free shipping) display board from China that does both I2C and SPI (and wait 2-3 months :smiley: )

Or you can do both and if you ruin your I2C board you got another one coming in :wink:

1 Like

It is possible to use the i2c display:

I’m trying to plan my next trip to China to buy 100 pcs of all these modules and make little kits for sale out of them.


Amazing. I have received my hardware anyway. I’ll try to begin to mount it this weekend i think. I’ll have some time this weekend. Thanks for these informations. I’ll first try to do one based on the classic arduboy after i’ll be able to try the version with nano and I²C display that i have as i think not only that it’s can be usefull for playing but it’s a great hearth for a home control system (domotique in french) by adding a communication module to exchange with other modules in the house but it’s will be another project as i have too few free time, first goal: doing a normal arduboy and be able to play all your great games.
I like too much the spirit of the Arduboy community even i like alot gamebuino and the fact to be able to choose game from the SD cards as it’s will probably able on arbuboy from the cardbridge (it’s maybe already possible as i can have miss it, other way could be to have a game server on a system and be able to change game by wireless upload on the arduboy but this is an other project too :smiley: ).
Thanks rv6502 and bateske for your answer and i repeat it again but this community is amazing and i like alot his spirit.

No, you can leave CS# grounded, as long as you don’t want to connect anything else to the SPI interface. This just leaves the display permanently selected.

The display I used for my breadboarded system has no CS# pin (it’s grounded on the board) and it works fine.

It looks like @Jean-Charles_Lebeau won’t be attempting to convert an I2C display to SPI, since he got a proper SPI display. However, if anyone else decides to attempt this, based on @rv6502’s notes above, here is some additional information:

  • The flex cable pinout @rv6502 gave is not the one commonly used for these displays. The correct pinout is given in the datasheet for the display used for the Arduboy.
  • The display’s control chip will also have to be set for an SPI interface instead of I2C. This means isolating BS1 (which will be pulled high somehow) and connecting it to ground.
  • The I2C displays normally don’t bring out the RES# (reset) line. They reset the display upon power up using an RC circuit attached to RES#. This should work OK for SPI as well, as long as a program doesn’t have code to reset the display after initial power up, for some important reason. However, for better compatibility, you could bring out RES#, which possibly may also require removing the capacitor and maybe the resistor from the RC circuit.
  • Most displays made for SPI include some (sometimes not very good) circuitry to make them 5V compatible, since the display chip is designed for maximum 3.3V operation. A converted i2C display won’t have this protection, so if you intend to feed it signals from 5V outputs, you will need level shifting circuitry.
1 Like

Guys, to begin to do my console, i’ll post pictures of the hardware i have bought and please could you send me le list of the connexions i have to do by steps to be able to test the more i can by steps ? It’s just a question because i’m near sure that it’s somethere in the old posts but maybe not with same hardware or in multi posts, so if someone agree to resume it when i’ll have post pictures, it’s will be easiest and more safe for me…
(I’m dreaming or some of you know pins without having to look on a ref card ?)

Ah right. it’s the BS[2:0] pins that need to be changed to pick the interface mode.

1 Like

I edited my post above with further conversion notes.

1 Like

@Mr.Blinky lists all pin connections in the Readme of his board package.


Small tip: when looking at a markdown file on GitHub you can get a section specific link by clicking on the chainlink symbol to the left of a header.

E.g. a more specific link to the pin wiring table.