General Question/Curiosity re. Bootloader

Just helped someone in the FB group solve the “Arduino does the 1-10 count and stops” issue and it had me curious… why is it that every now and then a board just wont flash without forcing bootloader via the two buttons? Just curious.

1 Like

Does this page answer your question?

If not, let me know. :slight_smile:

1 Like

It helps, but fleshes out a lot of what I already knew. Reading between the lines, it sounds like the reason the poet’s request to start bootloader is what im talking about, but the failures to launch bootloader dont happen for ant specific reason(s). Is that true, or is there actually something that you have pinpointed that causes that failure? Because if it was a random occurrence then theoretically simply unplugging and re plugging the usb and trying again should get it to work, but there are many times it doesnt and you MUST use the buttons.

My slightly more in-depth explanation for my curiosity is I have a saber I want to update that is experiencing this, and to get to the buttons I’d need to undo a pair of rods and nuts AND desolder the entire board lol

Well, now that you’ve read how it’s supposed to work, we can enumerate the things that can fail:

  1. People don’t select the right port in Arduino → Tools → Port
    1a. the port isn’t there because of a driver issue
    1b. the port isn’t there because the board crashes on startup (possibly because of a corrupt sd card)
    1c. because people forgot to select the right port
  2. Even though the right port it selected, the board doesn’t go into bootloader mode
    2a. This is usually because the board crashes or freezes after the port shows up, either because of a bad programming, or because of a corrupt/bad sd card
  3. Board boots into bootloader mode, but computer takes more than 10 seconds to recognize it and so the timer runs out.
  4. Board boots into bootloader mode, but driver or permission issues makes it fail to find or open the device for programming.
  5. Corrupt binaries or antivirus shenanigans can basically make any of the steps above fail in weird and different ways as well.
  6. Sometimes these problems combine with bad/broken hardware, which makes things even harder to figure out.
1 Like

Interesting! Thats very helpful. Like I said it was mostly for the sake of curiosity, but if there’s any troubleshooting methods you have to share that would also be good to know.

Most of the time troubleshooting is like:

  1. did you select the right port?
  2. did you run zadig?
  3. try formatting or replacing the sd card
  4. try reporgramming the board (using BOOT+RESET)
  5. try reporgramming the board with default_proffieboard_config.h
  6. try a different computer

If none of the above helps, then something very unusual is going on.
WIth a little experience and educated guessing, you might be able to figure out which of the above is the problem without trying any of the other steps. :slight_smile:

1 Like

Sounds great. Thx as always!