How To Use Flashlight Mode To Fix Bricked Arduboys

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

4 Likes

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?

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.

FLASHING A NEW GAME

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.

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

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

2 Likes

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 https://arduboy.ried.cl/ 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?

You will be glad to know that Lion Tamer does not remove the USB stack - there is no need!

I did keep flashlight() mode.

I am not sure why the Arduboy can be so temperamental. I guess it could also be the computer, it has its moments too.

I can’t recall any time when I’ve had problems uploading, using flashlight if necessary, or holding Down if USB has been removed. That’s with both of my Arduboys and my Arduino Micro based breadboarded system. And that’s also using at least 4 different PCs and numerous cables. However, all the PCs I’ve used have been running Linux.

The machine I use is a Mac but I have a Windows laptop that I sometimes use and have the occasional problem with also. I can always flash something eventually but occasionally I have had to resort to flashlight mode or pressing the reset button for even ‘normal’ games. I hate doing that as the reset button is a fragile little thing!

Yeah, I definitely got my Windows laptop in a mode the other day where it just said the USB serial port was misbehaving and wouldn’t talk to my Arduboy again until the laptop was rebooted. I pulled out the Linux netbook and it was OK, but I still couldn’t quite get the board flashing until I used the reset button.

5 posts were merged into an existing topic: Detecting if USB has been removed by examining the .hex file