First time programmer, DIY arduboy

(Andrew Crawford) #4

Oh yeah sorry, should’ve mentioned, I’m using an Uno.

And thanks for the info, will try to just get some standalone buttons instead



You can’t use an UNO for Arduboy. It has a different MCU. You need a Arduino with an ATMEGA32U4 like the Leonardo, Micro or Pro Micro.

1 Like

(Andrew Crawford) #6

Ah damn, well thanks!



You can use a Uno for a DIY Arduboy - you would just need to do a fair bit of work adapting the libraries, so it might be challenging for a “first time programmer”.

The ‘Tetris® MicroCard’ uses an ATmega328, just like the Uno - and so did the first prototype Arduboy:



This is probably going to be the most helpful place to start:

1 Like

(Andrew Crawford) #9

Thanks, much appreciated! Will probably just look at getting something with an atmega32u4 so as not to reinvent the wheel, unless it can just make a gamebuino with what i have instead. Thanks for the info!

1 Like

(Pharap) #10

The problem with using a different Arduino board is more to do with pin placement and memory amounts than anything else.

If the memory quantity is greater or the same and the board uses the AVR instruction set and supports the right assembly instructions (e.g. MUL, ADIW) then theoretically the library could be ported just by changing the pin defines.

But likewise, just grabbing a Leonardo-like board with a 32u4 would be guaranteed to work with no extra fiddling beyond wiring things up properly.

1 Like

(Andrew Crawford) #11

Yeah, understandable. For getting my feet wet that might be a bit much for me to take on yet, but I just ordered a pro micro clone with a 32u4, will revisit this when I get that in the mail. Thanks!

1 Like

(Andrew Crawford) #12

Well, i just got the clone board in the mail, and screwed myself getting one with a 328P on it. Was definitely my fault as opposed to a bad vendor; saw 32u4 in the product name but the part description was correct, shouldve read closer. Gonna try to return it so I can get the right part, but how feasible would it be to try to use this instead? Just out of curiosity. Id imagine itd be about the same as what was previously mentioned (changing the pin defines in the library), but would it be any simpler than, say, trying to use an Uno? If its not too far off, and i could get a little assistance, i might just try to use this, as Im trying to learn programming as well and that might not be a bad way to start (as i have a lot of textbook understanding of programming so far, but no practical application yet). Thanks!


(Scott) #13

It would be almost the same as trying to use an UNO, since the UNO is also based on the 328P.


(Andrew Crawford) #14

Oh alright, shouldve figured as much since thats what counted, i just wasnt sure if itd be comparable to the pins on the output end. Will post again in a few more weeks -_- Thanks!

1 Like

(Pharap) #15

As I said before, the important bit is that it supports the same assembly instructions, has at least as much memory and possibly supports some of the other on-board things (like timers).
Everything else should mostly be a matter of remapping pins.

1 Like

(Scott) #16

Differences in timers and other peripherals embedded in the processor actually present the most difficulty in porting for a 328P. Not just for the Arduboy2 library but also ArduboyTones, ArduboyPlaytune and other commonly used libraries.

The fact that the 328P only has 2K of RAM instead of the 2.5K in the 32u4 can also cause issues with some sketches.

1 Like

(Mike) #17

Sounds like the vendor was keyword spamming the title, which is a violation of most online markets rules, and this not your fault at all. While I try and avoid such issues, I find this practice abhorrent, and have no qualms at all about doing whatever I can to get things fixed, up to and including calling the bank and having them reverse the charge since what they sold me wasn’t what the title said it was.


(Andrew Crawford) #18

Thanks for all the info! Alright, so now I’m ready to get going. Got a Leonardo, buttons, a breadboard, an SSD1306 compatible (and tested) OLED, and a variety of resistors that range in value. Where should I go next?

1 Like

(Scott) #19

Make sure your display is 5V compatible. Otherwise, you may need level shifters, as I’ve used for my Arduino Micro based clone.


(Andrew Crawford) #20

Alright, sorry for the long delay, but Im ready to get started now. Ive got a 5v compatible oled, thats been tested using the same libraries as the arduboy, and I have buttons, a wide range/quantity of resistors, a breadboard, and a leonardo. Im not too terribly concerned with sound, or an led (unless its necessary), but not sure where to go from here. Just a point in the right direction is a big help. Thanks!


(Scott) #21

Everything you need to know is in the main DIY topic and you should ask any further questions there.

Resistors are only needed for an RGB LED, and possibly to reduce the volume of a piezo speaker. To wire a Leonardo:

Note that your display may have different names for the pins:


(Scott) closed #22

(Kevin) unlisted #23