How To Use Flashlight Mode To Fix Bricked Arduboys

@Mr.Blinky’s approach (at least the use of DOWN as the button) was agreed upon between @Mr.Blinky and me when I was implementing the USB elimination feature in Arduboy2. :slightly_smiling_face:


The ‘E’ command will set the bootloader timeout to half a second. You can repeatedly write this command to keep the bootloader from timing out.

It’s a matter of whether the added memory used would be outweighed by the few cases where it would help, especially given the existing recovery methods and @tuxinator2009’s upcoming utility.

So we have Arduboys which are amazing, and Bricked Arduboys which don’t work, so will there be Concreted Arduboys which are powered by Dog food?

Oops …sorry!

1 Like

The way Arduino works now, when you press upload it looks for any arduino on all ports and attempts to flash it. So what you can do is press upload, and it will spam attempts for about 3 seconds, all you have to do is press reset during that time window and it will instantly start uploading.

This didn’t used to work before because if you did not have the correct port selected it wouldn’t attempt the upload spam, and you would have to press reset first allow arduino to find the port, then press upload.

Interestingly enough, that method, of pressing reset first, doesn’t actually seem to work anymore I’ve only been able to catch the reset button when it is first pressed.

Also, what specifically the button combo is to get to the bootloader in the FX isn’t totally finished, up-down is just the best idea we have got probably go to a vote.

So it should probably change this post too to say depreciated and make a new post about holding DOWN when you try to upload and nothing happens, which is the more common problem… but if the arduboy resets but doesn’t actually enter bootloader then that is when you need to use flashlight.

Or just replace this guide entirely with a brand new flow-chart-like ‘infographic’.

A volunteer? ;p

not this crazy rom and alternative catarinas mumbojumbo

PS: I think I should correct the tooltip that pops in my uploader when it fails, to reflect this new flashy era of UP, DOWN, left right bootloader stuff


I just got my first Arduboy yesterday and had a devil of a time getting a good upload after loading up Fire Panic… flashlight mode kept failing, as Arduino IDE would reset the USB line, which would cause a reboot of device out of that mode. I ended up using the reset button method as I didn’t know about holding down.

This is why the Arduboy2 library documentation for removing the USB code states:

If it is used, the sketch documentation should state clearly what will be involved to upload a new sketch.

@filmote, Are you listening?

1 Like

Sure … I always detail when the USB code has been removed in the forum notification for the game. Here is one taken from Kong as an example.


The USB stack has been removed from this game. To load a new game, you can press and hold the down button while on the Kong II title screen to return to the bootloader. Do this just as your new game is about to be flashed to the Arduboy.

1 Like

This was for Fire Panic. I don’t see anything there.

1 Like

I’m gonna be so happy when the FX comes out and does away with these kind of problems entirely.


You could have solved the “bootloader magic key” problem, that requires flashlight mode, ages ago by using a slightly modified bootloader instead of the stock Leonardo one.

You didn’t look hard enough :slight_smile:

I have edited the listing and added this text. I have added it to other games previously.

1 Like

Yeah, for Fire Panic I was just going based on the description at and using the downloader which didn’t mention anything… I’m sure if I read through the thread I’d had found it.

Hrm, maybe @eried could add “removes USB bootloader” to the game info?

If it defaulted to assuming that a game doesn’t remove the bootloader then only the handful that actually do remove it would need to be edited.

He could do … other than the move to FX, loaders like @tuxinator2009 get around the problem nicely.

Its funny as its not just the USB-docked code that produces problems. I regularly have problems loading games onto my Arduboy and its not consistent. When developing Lion Tamer I was able to flash the game many, many times then all of a sudden I needed to press the reset button to get later iterations on. Now its back to normal with being able to flash again … strange!

Was that with or without USB code removed. If the USB code was left in, it could have been the bootloader “magic key” problem. That could come and go as your RAM memory map changes from iteration to iteration. Did you retain either flashlight() or safeMode() during development, so you could hold Up on boot, as per what this topic is all about?