$12 Arduboy compatible system

(Sean ) #61

Hi I believe you sent me the link to the atmega 329p instead of the atmega 328p

(Scott) #62

Sorry, I just named the branch wrong. Here’s the same code with the branch name corrected.

(Kevin) #63

I just wanted to jump in here and say I love to see all this work here, it’s so cool to see everyone helping each other out. These kind of forum posts are exactly how I got started. Keep it up everyone!

(Sean ) #64

Really nice schematic! Btw I would like a kicad copy if that’s OK. Also, can you please send me a link to the website you got your spi screen? Or at least the name? Thanks!


Here is the newest schematic (v5), compatible with the retail Arduboy 1.0. I had added components in v2-v4 but removed them to have a very minimalistic style and easy soldering:

For the display, look for SSD1306 0.96" OLED screens on eBay or Aliexpress with the correct pinout. But sometimes you receive screens with the wrong diagonal (1.3"), PCB color, pixel color or pinout. Tell me if you find a more reliable source.

(Sean ) #66

Yeah I’ve had the same problem from aliexpress lately and it’s been holding up my project. I hook everything up, turn it on and nothing comes on. But with my spi screen, I have scl and sda instead of DO and DI respectively. It says its compatible with IIC but I don’t want that.

(Sean ) #67

I believe I have sorted the problem

(Sean ) #68

Thanks so much man! You have helped me so much! Couldn’t have done it without you.

(Matt) #69

Thanks for posting this thread, it has genuinely inspired me to get off my butt and do something cool.

I ordered my Arduboy from the Webstore a couple of weeks ago and I had already been to these community pages, so I was fully aware of how long I might wait until delivery. I was happy to wait as long as needed because the Arduboy is just cool!

I’m in the UK and this thread inspired me to try building my own “Hackduboy” so that I can start coming up with cool game ideas and testing them right away. So I did it.

1 x Clone of Arduino Pro Micro (actually a clone of a clone!) [£5.19 delivered, ebay]
1 x 0.96" SPI While OLED 128x64 [£5.76 delivered, ebay]
2 x Piezo Electric Speaker [£1.49 for both delivered, ebay]
1 x 4 Channel Logic Level Converter [£1.95 delivered, ebay]
1 x 3.3v Regulator for OLED [just found in spares]
some breadboard, microswitches and wire [just found in spares]
[TOTAL = £14.39 + some bits I had already]

Everything was delivered in 3 days, after the hardware build and some ‘#define’ tweeks everything works! :slight_smile: . So now I can start writing those games. I would recommend this process to anyone who has ordered an Arduboy and is itching to start. It’s nice to get familiar with the hardware and for me it has just made me more excited about getting the “real Arduboy” in the post.

You can probably tell that i’m a happy bunny right now :stuck_out_tongue:

(Scott) #70

Could you post a close-up photo of the back of the OLED display, or examine it yourself? There’s a good chance that it has an on board 3.3V regulator.

If this is the case, then it may be better to power the display’s VCC pin from 5V and only use the output of the 3.3V regulator that you added for the LV power pin on the level converter.

(Matt) #71

I’m not 100% convinced there is a 3.3v reg but as I already had one I thought it would be best to be safe and not risk blowing the display.

(Scott) #72

The three terminal chip at the upper right, marked 662K, is a LM6206N3 3.3V regulator. Its input is connected to the VCC pin and the 3.3V output powers the display.

The reason that I say you should put 5V on the VCC pin is that the regulator requires a voltage higher than 3.3V on its input in order to provide a regulated 3.3V output. If you feed it a voltage less than the minimum “dropout voltage” then you’ll get less than 3.3V out.

So, if the display’s VCC pin is at 3.3V, the display’s internal supply will be less than 3.3V but the input signals that you’re feeding it will still be at 3.3V from the level converter. It’s better not to have input signals that are at a higher voltage than the voltage powering the display logic.

Putting 5V on the VCC pin will result in a full 3.3V output from the on board regulator, thus matching the voltage of the inputs.

You should still use your external regulator to provide 3.3V to the LV pin of the level shifter.

(Matt) #73

Sure. I will do. Thanks for the pointer.

(Kevin) #74

Wicked awesome man this is incredible!

Is that stereo?

@ekem can you give this man one of those internet badge things? :100:

(Matt) #75

Thanks, and yeah! The speakers came as a pair so I figured I would go full stereo :slight_smile: . The OLED is a 0.96" version so some of the games are teeny weeny (blob attack), but I literally can’t wait for my Arduboy in the post. I only pre-ordered 3 weeks ago from the web store, so I understand I’m in for a lengthy wait.

Any rough idea when you might get around to the web store pre-orders? 2016? :grin:

(Raphael) #76

Hello everyone!

I’ve recently ordered my Arduboy from the webstore and I think I’m gonna get it in my hands soon enough. But since I always love cool projects, for as simple as they may be, I bought everything necessary to build my own homemade Arduboy, or “Hackduboy” as some have said. :slight_smile:

I know a bit about electronics and programming, but have never messed with any Arduino related thing.

So, I’ve got an Arduino Leonardo, this OLED https://cdn-shop.adafruit.com/1200x900/938-15.jpg, a piezo speaker and buttons.

I want it to be as compatible as the production Arduboy, but I’m not so sure of how to connect everything, and I’m afraid I can damage something if I do it wrong.

Can someone help me, please? :grin:

(Scott) #78

To be fully compatible you would also need a common anode RGB LED and three suitable dropping resistors for it.

Wiring for an Arduboy compatible using an Arduino Leonardo and Adafruit 938 (or 326) OLED display:

Some of the display pins need to be connected to the Leonardo’s ICSP header, which is the 3x2 pin connector on the edge opposite from the power and USB connectors.

Display Leonardo
DC 4
Rst ~6
CS 12
3v3 (not connected)
Vin 5V or ICSP 2 VCC

Either speaker lead can go to either pin. If the volume is too high, you can put a resistor between one of the speaker leads and the Leonardo pin.

Speaker Leonardo
Lead 1 ~5
Lead 2 ~13

One side of each button goes to GND. The other side of each button goes to:

Button Leonardo
Up A0
Right A1
Left A2
Down A3
A 7
B 8

The common anode of the RGB LED goes to 5V.
The cathode of each individual RGB LED should connect to its own appropriate dropping resistor. The other lead of the resistor should go to:

LED resistor Leonardo
Blue ~9
Red ~10
Green ~11

For the RGB LED that I used, similar to this one, I found the following resistor values to work well with regulated 5V power: Red 1K, Green 3.3K, Blue 1K

First time programmer, DIY arduboy
(Raphael) #79

Thank you very very much, man! It all works perfectly well!

Now that I’ve tested it using a breadboard, I’m gonna make a box or something of the kind for handling it better.

If anyone’s interested, I’ll post some pictures of what I’ve done when I’m finished.

(Renty B) #80

Hi I want to buy Arduboy.
But is Sold out

So I just decided to make a system compatible with Arduboy.

I have Arduino pro micro and SSD1306 8pin Disk play

But I can not find How to connect so I want to know How to connect or advice

(Scott) #81

First, I assume that the Pro Micro clone that you have is a 5V/16MHz version. If it’s a 3.3V/8MHz one, it probably isn’t suitable.

Second, the Pro Micro doesn’t have all the pins available that the Arduboy uses, so you won’t be able to make it fully Arduboy compatible. You would be better to use an Arduino Micro, as I have with my latest home made Arduboy, or an Arduino Leonardo.

If you want to try to use the Pro Micro:

Pins on the Arduboy that the Pro Micro doesn’t have:

  • One of the two speaker wires goes to Arduino pin 13. You can tie the second speaker pin to GND but some sounds may not work properly, and you may hear some sounds when the speaker should be muted. Or, you could just leave off the speaker and not have any sound.
  • The display CS pin goes to Arduino pin 12. The display CS pin can just be tied to GND since there are no other devices on the SPI interface.
  • The green LED in the RGB LED goes to Arduino pin 11. If you don’t want to add an RGB LED then you don’t need pin 11. Otherwise, you could use pin 3 but you would have to customise the library.

So, the best you can do for wiring a Pro Micro as an Arduboy is:


Display Pin Pro Micro Pin
Data 16
Clk 15
DC 4
Rst 6
3v3 (not connected)

Buttons - Tie one pin of each button to GND and the other pin to:

Button Pro Micro Pin
A 7
B 8

Piezo Speaker:

Speaker Wire Pro Micro Pin
1 5

RGB LED - Tie the anode to VCC. The cathode of each LED should go to an appropriate dropping resistor and the other side of the resistor should go to:

Resistor for Color: Pro Micro Pin
Blue 9
Red 10
Green 3 (with custom library)

Arduboy Shield