How to flash a bootloader?

I put the python OpenMV on my arduino (using OpenMV IDE) but I don't know how to flash the original one back. I know where to get the files. Can someone help me?

3 Likes

What do you mean by "the original one"?

Ah, I see the link. You want to flash the standard Arduino bootloader.

The first thing I would check is whether the original bootloader is still there. I don't know anything about the Python OpenMV, so it may be a silly thing, but it's quick enough to try:

Press and release the reset button on your board quickly twice. If you now see the LED on the board pulsing, that means the bootloader is still present. You should now be able to select its port in the Arduino IDE and upload any sketch you like. That sketch would replace the OpenMV binary you flashed and you could then go back to using the board as usual, without needing to do the double reset before every upload.

If you don't get the pulsing LED, then you will indeed need to flash the bootloader. I'll go ahead and provide the instructions for that process in case it's needed:

You'll need

  • ARM CMSIS-DAP compatible debug probe.
  • A way to make a connection to the debug probe. These usually use a 2x5 0.05" pitch header/cable.
  • A way to make the connections to the SWD pads on the Nano 33 BLE. Options:
    • Pogo adapter like https://www.sparkfun.com/products/11591
      Even with this adapter, it's a bit challenging to get the pogo pins aligned with the small test pads on the Nano 33 BLE, but if you keep at it you'll get it eventually. Better would be to have a jig like this, but if you're not going to be doing this regularly then that's probably overkill.
    • Some people have managed to use a regular 0.1" pitch 2x3 male header pressed down on the test pads to make the connections. I think that would be a bit more challenging, but it's cheap enough and something you might already have on hand.
    • Soldering wires to the test points.

Instructions

  1. Start the Arduino IDE.

  2. Select Tools > Board > Arduino Nano 33 BLE from the Arduino IDE's menus.

  3. Select Tools > Programmer > ARM CMSIS-DAP Compatible from the Arduino IDE's menus.

  4. Make the connections between the debugger/programmer and the Nano 33 BLE:

    Programmer Target
    Vref +3V3
    SWDIO SWDIO
    SWCLK SWCLK
    GND GND
    RESET RESETN

    Here's the pinout of the test pads on the Nano 33 BLE:
    Nano 33 BLE SWD1. Connect the USB cable of the programmer to your computer.

  5. Power the Nano 33 BLE (you can do this via the USB connector on the board). The debugger doesn't power the board.

  6. Select Tools > Burn Bootloader from the Arduino IDE's menus.

I had exactly the same problem than TheNougator. Following in0's advices I press the push button (even if I wasn't sure it was the reset one), and the orange was pulsing and it worked. Thank you very much !