Strange Arduboy display error [Solved]

Hello! I’m not super new to the arduboy, I’ve had mine since they sent out the Kickstarter ones. I’ve always used windows until recently when I started using a Mac (not by choice, just because it’s what I had access to). I tried to upload Glove using the Arduino software (I have pretty much every arduboy library installed as well), and when it finished uploading it a very strange visual error was readily apparent. All of the graphics were scaled down, tiled across the screen, and moving right a little for every game tick. The tiled graphics are also overlapping, with the signature flickering graphics where they overlap. I’ve tried uploading other games, and hard resetting, but it still has this weird display error. Does anyone know what this is and/or how to fix it?

More specifics:
I’m uploading it with the Arduino software, with the board selected at the Arduino Leonardo (and I couldn’t find a way to set it as an ‘Arduboy’). The PORT is odd and not like on my windows, as it’s “dev/cu.usbmodemFD121”. I’ve installed the libraries Arduboy, Arduboy2, ArdBitmap, ArdVoice, Aruboy-TinyFont, ArduboyPlaytune, and ArduboyTones.

Thanks for any help!

Have you tried uploading from a Windows computer?

What about pressing the reset button?

Have you been uploading everything from source?

Also is it possible that you selected a board other than the Leonardo at any point?


(There is a screen feature that’s supposed to scroll the screen contents but I think that should be disabled when the power is cut, so I don’t know if that’s related at all.)

I have pressed the reset button, I’ve been uploading from the source, I haven’t as I don’t have access to windows atm, and it is possible that I have at some point, but after checking and triple checking, adjusting and changing things to what they are supposed to be, it still has the odd error.

Testing from another computer might help to isolate whether the issue is in the computer or in the Arduboy.

Have you tried a different USB cable or plugging other devices in to the same slot? It’s possible that the serial transmission is being garbled due to a dodgy connection, resulting in the program not being transmitted to the Arduboy properly.

At the moment all I can really suggest is to try to rule things out since I don’t think anyone’s encountered this before.
Some pictures would also probably be of use if possible.

Got it. I will try a different system asap. I have tried different cables, and also other devices work just fine in that port. Thank you for the help so far! :blush:

Ok, then it’s probably not the port, so it seems likely that the problem is with the Arduboy itself.

Does ‘flashlight mode’ work at all?
Have you tried uploading a new sketch with flashlight mode active?

(I assumed you might have since you seem to know what you’re doing, but I thought I’d ask anyway just in case new sketches haven’t actually been uploading. If the graphics were messed up it might be hard to tell.)

No problem, it’s what the forums are here for.


If nobody here can figure it out then you can always fill in the contact form and see if Arduboy Inc will let you ship it over to see if they can fix it.

Obviously that would leave you without an Arduboy for a while, so hopefully someone here will figure out a solution first.

1 Like

OK, so I actually was able to borrow a windows computer for a couple minutes and get things set up, and using the same cable I was able to upload Glove, no problem. It most likely has to do with the computer or some sort of error with my libraries or something (at least, I assume so). Also, I haven’t tried flashlight more, because I actually don’t really know how it works (I may not be new, but I’m not really well versed in everything yet).

1 Like

If you could upload via Windows without issue then flashlight mode wouldn’t make a difference - it’s for solving the issue of being unable to upload a new program.

Basically you just hold up when you turn the Arduboy on and it’ll turn on all the screen pixels and the LED and put itself into an endless loop of idling until it’s turned off, reset or a program is uploaded to it.


In that case it almost certainly must be an issue in the computer itself.

It seems likely that the cable and port are fine, so it’s likely to be an issue either with the IDE install or the serial driver(s).

To make absolutely sure though, here’s a sample sketch that does some simple serial printing when you press the A button:

#include <Arduboy2.h>

Arduboy2 arduboy;

void setup()
{
  arduboy.begin();
}

void loop()
{
  if(!arduboy.nextFrame())
    return;

  arduboy.pollButtons();

  if(arduboy.justPressed(A_BUTTON))
  {
    Serial.println(F("Hello World"));
  }
}

Upload this via the windows PC. Use the Serial Monitor in the IDE to check that it gives the right output. From what you’ve said, that should work fine.

Once you’ve confirmed that works, try using the Serial Monitor on the IDE on the MAC (still keeping the same program uploaded from the Windows PC - don’t upload a new one yet).
Try it a couple of times and if it prints alright every time then that suggests that the serial connection itself is fine (as are the ports and cables).

If it prints alright, try uploading a program.
If the program comes out garbled - nuke the entire Arduino IDE (and related drivers if possible) and reinstall it.

If it doesn’t print alright, try some other USB ports/cables again (if there are any available) and if it still doesn’t work after that it’s probably the drivers for the serial port, in which case try reinstalling them (if possible). If reinstalling the relevant drivers doesn’t help, resort to nuking the entire Arduino IDE and reinstalling it.

1 Like

Can I get an explanation on how to use the ‘serial monitor’ thing? I don’t really know what that is or how to get to it :sweat_smile:

Also, just uploaded the sketch (without the ‘serial monitor’ thing to my knowledge); the arduboy logo comes down and then it freezes on the logo, all input doing nothing visible.

It’s the little thing in the top right of the IDE that looks like a magnifying glass. (Highlighted here in red.)

I presume you’ve only played games on the Arduboy and haven’t had a go at programming yet? Serial communication is usually only used for debugging games when they’re being written (which is sort of what we’re doing here anyway).

Basically the Arduboy ‘talks’ to the computer via the USB cable, and the serial monitor provides a way to receive what the Arduboy is saying.

The code I provided sends a message (“Hello World”) over that serial connection when the A button is pressed. However that’s about all it does, it doesn’t even attempt to clear the screen or draw anything, hence it appears as if the Arduboy is ‘stuck’ on the main logo. The Arduboy is still working, it just isn’t doing anything to the screen.

When you’ve got the serial monitor open, you should get a little “Hello World” printed to it every time you press A when your Arduboy is connected, which should look something like this:

(The window border probably won’t be purple though. :P)

1 Like

OK, so I uploaded the code, and I got the output in the serial monitor on the PC. I also got it to work on the Mac (with the serial monitor output), and there wasn’t any sort of graphical glitches on the opening logo (unlike with the other programs). This confused me, and so I re-uploaded Glove using the Mac, and I still got the graphical error. Any thoughts?

I also uploaded an example sketch to test if it was just my version of Glove on the Mac, but I still got a glitch, but it was different. The logo worked normally, but the other graphics on it were slightly garbled on the Y-axis (occasionally some of the graphics were mixed up on the Y-axis only)…?

That means the serial reception is working ok.

That’s expected. At that point the Mac isn’t the thing that’s loaded the code, it’s just receiving messages over the USB cable.

Without seeing how the graphics were messed up it’s hard to see what the issue could be.

Libraries can be found in the ‘libraries’ folder in your Arduino folder.
Try deleting and reinstalling the Arduboy and Arduboy2 libraries.

If that doesn’t work, deleting the whole IDE might be the next logical step, though that takes quite some time and can be a bit fiddly, so I understand that you might want to put that off if there are other options available.

1 Like

What version of the Arduino IDE do you have installed? It’s best to use the latest (currently 1.8.5).

1 Like

OK, so I reinstalled the libraries and everything works just fine now! Thank you so much for all the help! :blush:

2 Likes

If I’d realised that would fix it, I would have suggested that sooner instead of keeping it as a last resort.
Oh well, 12 hours is better than 24 I guess ¯\_(ツ)_/¯.

(I usually put off ‘reinstall’ as an option for anything that’s an executable installer because they tend to take quite a while and can be fiddly. Maybe I’m just impatient.)


As for final diagnosis: my guess is that somehow some of the files (most likely the ones related to compilation) got mangled either when you did the original download or when they were extracted and installed.
That’s quite unusual in this day and age, usually internet protocols are good at error detection.

1 Like

Similar glitch mentioned here:

…possible that your first install of the Arduboy2 library may have been a direct download from GitHub where this bug still exists?

Not that I know of, I downloaded the libraries from the ‘Manage Libraries…’ tab.