SOLVED - I made my first arduboy but now I can't upload anything to it

Hey everyone, I am new here. I made my first arduboy today using arduino nano and arduboy2 library. I made it on a breadboard first and I uploaded a demo (ArduBreakout) and it worked. So I soldered everything and now I have my first working arduboy.

So please forgive me if this is a very noob issue but I couldn’t find a solution online.
My arduboy accepts nothing, I can’t upload even a basic button testing app. I tried flashlight mode but it didn’t work. It stays on arduboy screen until I stop holding the up button, but I can’t upload anything whatsoever while holding the button. And when I stop holding the button, it normally boots breakout.
it says “Error compiling for board Arduino Nano.”
I also tried holding down button while booting and it was same with holding up button.

As far as I can tell, everything (Buttons, sound, leds, screen) works. It only has this issue so I am stuck with a breakout machine. I hope some of you knows what to do. Thanks in advance

P.S: I am using a mac if this helps, I tried uploading on a windows laptop too and everything was same

2 Likes

I don’t know what the exact issue you’re having is, but the Arduino Nano (ATmega328p) has a lot less RAM and stuff than the ATmega32u4 (the Arduboy chip).

i2C OLEDS are also a lot slower than the normal SPI OLEDs the Arduboy uses.

You gotta use this library instead:

2 Likes

That’s not an upload error, that’s an error with actually trying to compile the software. I.e. you’re probably not even getting to the point where the software would be uploaded.

Whatever copy of the library you’ve got, uninstall it and install the one @Ard_Flamingo linked to.

2 Likes

I am using this library, I flashed ArduBreakout using this (it was included on the library, I didn’t download it myself) and it works but I couldn’t install anything after that. Only worked for that one time only

Okay I know what exactly your problem is. Its the nano I also tried once when I didn’t know much about arduino and software issues but I am telling you you cannot upload Arduboy games to it like the big games like RPG games or adventure type games or any other arduboy games cause they also use different libraries although you can upload some games made for uploading on the nano or on the atmega328 chip that the nano uses and I know some exciting games that I used to play when I had a game console with Arduino nano and the games are :-

1: “Tamaguino” (A tamagotchi colne for virtual pet game) by alojz jakob who made this game
and you can find the codes and build video on his youtube video or click here to see this
video Arduino Based Cartridge Game Handheld Console - Tiny Game Corner - YouTube
2: “A MAZE” this game is also made by alojz jakob and it is a maze game with different
levels. The video I gave above also has the links for this maze game.
3: “Arduino Star Wars” this is a shooter type game with a theme song of the star wars and
you can find the build video and code in this video Arduino Star Wars Game - how to make - YouTube
4: “DOOM” This is clone of Doom game and here you can see the video with instructions and
code DooM on Arduino UNO with sound (instructions in description) - YouTube or watch this one Play Doom on Arduino Uno in 3D with only 3 components make it in 5-Minute - YouTube

Right now I could only remember these games I I also Played some other cool games like the running type game for example mario type games and a lot more you can find these games by either searching on the internet or yotube and enjoy for game console with Arduino Nano But I can tell you that the nano can not handle the Arduboy games. If you can find a way to do it let us now. Wish you good luck :slightly_smiling_face:

I was able to reset my nano using and arduoino uno (I used arduino as ISP method) turns out my bootloader was gone. I tried to upload shadowrunner and it worked, Just tried to upload arduventure and it works too. Thanks for game suggestions

1 Like

Hey everyone, I solved the issue. I used an arduino uno and soldered its pins to nano, then I flashed arduino nano with it and cleared everything. Then I made a fresh install and I can upload games now. I will leave the link of tutorial for anyone having same issue. It is described well in official site.

I finally have a normally working arduboy and I am really excited. Thanks a lot for all your help.

5 Likes

Amazing! But what are the schematics for the arduboy with arduino nano? Did you burned the bootloader with Homemade Arduboy version or something else? what were are connections for your Oled display with nano? Did you use the SPI oled or the I2C?
JUST VERY CURIOUS TO HEAR THE ANSWERS FROM YOU!

Thanks! I always use this one Instructables thing but this is much better.

Check the link I sent previously:

As the OP specified, they’re not using the Homemade Package.

I sent you the library, but to clarify for the future, I’m pretty sure there is only one possible way you can wire the screen.

Schematics are in the link @Ard_Flamingo shared. I made whole circuit based on it. But the high resolution version is kind of hard to find (it was on same page but you have to search it in the files so I will just try to upload high res version here if the site lets me


Credits to harbaum (Till Harbaum) · GitHub, of course.

After you complete circuit you can git clone codes or download as zip from github page. If it is not zipped, you can zip it yourself too (Zip the folder itself, not the files inside the folder)

In the same github page, there are two more libraries harbaum shared. You should download and zip them sepereately too.

After that you should have 3 seperate zip files, delete everything arduboy related from your arduino IDE and install this zip files using sketch/include library/install .ZIP library option from menu bar.

Close and reopen arduino IDE and if it asks for you to update libraries don’t let it because we are using a different fork of library.

From menu bar, select file/examples and you should see the three libraries you just installed here. Select anything from arduboy2 (I used SetSystemEEPROM because I was afraid to use breakout again) and install it to your nano.

After that your arduino nano should be ready to install games (Not every game like you said, generally smaller games work better and larger games might not upload at all) you can install the games from their github pages using the same download option then you might need to put it in your documents folder (Idk why but some games require this, some don’t) find the .ino file, (In this case, arduventure ino file name is ARDU_AB.ino) open it with arduino IDE and upload to your arduboy.

I tried some games, Arduventure, shadow runner and castle boy worked fine with no issues as far as I can see.
Circuit dude was booting and it was playable but it was freezing after 1-2 minutes and I had to reset everytime it froze so it was not a optimum experience
Starduino, catacombs of the damned, micro city and ardynia don’t installed and gave errors when I tried to upload.
Theese are all the games I tried. Let me know if you can find more games that work good

Edit: I couldn’t find a way to install .hex or .arduino files so if anyone can explain how to do that, that would be big help

Edit 2: I was able to run some games with changing some codes, games generally don’t run due to sound issues so I turned some sound codes to if (1==0) to make them false and then midnight wild ran without sound, ardyna was the same, I deleted some sound codes (but I didn’t delete all function, I just turn them to empty brackets) and ardyna seems to run fine too (also without sounds)

I will leave the edited codes if anyone wants to try, they sometimes freeze but I hit reset and I can continue playing
Ardynia and MidnightWild.zip (3.2 MB)

1 Like

Thank you very much for your kind information but I understand now that you cannot upload all arduboy games on the nano right? We need a pro micro or leonardo board to actually build a arduboy. Plus I think the price of Aruino nano is more than the pro micro in my country. So pro micro is great choice for me. But thanks again to send me these information on how to upload arduboy games on nano.
Regards,
Zuhayer

1 Like

Your mileage may vary:

Do you mean .arduboy?

If so, those are just renamed .zip files.
If you’ve got a tool like 7Zip you can extract the contents as they are and you’ll find at least one .hex file inside.
If you don’t have anything as sophisticated as 7Zip, you can try changing the extension to .zip.

There are tools that can deal with .arduboy directly but I’m not sure which ones offhand.

Weird, pro micro is around 2x the price of nano in my country. It was the first reason I went with nano (at least for my first attempt)
If you can make one with pro micro that can run everythin, let me know. I might try to build one too
Also I edited and leave a changed code on my last reply so check out last pharagraph if you want to install ardynia to nano

Yeah that’s right pro micro is actually less price than arduino Nano R3 in my country. But not that much less but it is less than Nano though.

About building the Arduboy with an pro micro I did make one few days ago in a breadboard but I am still recompiling the codes for my oled display which is SH1106 1.54 inch spi display. So have to recompile around 300 or 400 games still. I am using the FX chip which is actually a Flash cart chip W25Q128 with a memory of 16mb. Capable of storing about 500+ games so actually I made the circuit using the help of homemade arduboy schematics for the Arduino Leonardo/Micro diagram and connect the flash chip using the Mr.blinky Flash cartridge forum where he gave the digram on how to connect. Took a while to understand how to upload games on the flash cart. But now I understand and I am making my own flash cart image file to store the recompiled games for my sh1106 display. Here is the breadboard image:-


Also had to solder how tiny wires to the microcontroller according to the standard wiring diagram cause pro micro does not have all the pins.

Edit: Wire your homemade arrduboy using the Arduino Leonardo/Micro diagram if you want to upload “normal” arduboy games.

This looks really good, can it run games that uses fx chip abilities or is it just using it as a storage?
and also could you get all the compatibility with soldering wires directly to microchip, Just like a real arduboy fx?

Yes just like the original one BUT! I have used a different oled display so the games that are like very old and just uses old Arduboy library (not the latest Arduboy2) they do not run if i try to run the display just crashes and the games that uses Arduboy2 I just have to recompile them to my sh1106 display that’s all. BUT there are also some games that does not use any library just all from scratch they also don’t work cause no Arduboy2, no game.
So best if you buy a ssd1306 spi oled that’s the original and can run any arduboy games like anything no conditions.

Yes it runs games that use Fx abilities like the price of Arabia it will not work on your Nano or even Leonardo if it does not have a fx chip that is W25Q128 memory chip the price of Arabia game consists of a .bin file named princeOfArabia.bin just have to add it to the csv file along with the hex file of the game and it will run the game. Prince of Arabia is a very cool and interesting game like you have to give it a try man.

Thanks for the kudos. :grinning:

Thanks man, I just ordered a sh1306 display and a pro micro. No one is selling W25Q128 in my country (Turkey) but I might order it later from aliexpress or amazon. For now, I will try to build a fully compatible arduboy, then I will get a chip and upgrade it to FX. I might try to solder additional wires directly to ATMEGA32U4 chip but I am afraid I am not as talented in soldering

Funny, when I asked about FX chip enhanced games I was thinking about this game because I love original prince of persia. Didn’t try the arduboy version but I am sure it is a fine game

1 Like

There exists a DIP8 version of all three chips.

https://www.amazon.ca/s?k=w25q128+dip8&crid=6FHREGXVAWIA&sprefix=w25q128+dip8%2Caps%2C126&ref=nb_sb_noss

(For reference)