Arduino Nano ESp32 appears bricked

Hi guys, I recently flashed the Nano ESP32 with the following after checking if the Nano ESP32 was supported:

It appears to be bricked now, when plugging it into the computer it just continually pops up in device manager and then goes offline. Is there anything can be done to reflash the Arduino firmware on it or is it a case of just writing it off and buying a new board?

Hi @AdamMilton-Barker. Please try this experiment and then report back with the results:

  1. Connect the Nano ESP32 board to your computer with the USB cable.
  2. Press and release the button on the board marked "RST".
  3. Wait for the RGB LED near the "RST" button to turn on.
    It does this almost immediately, but you do need to wait for it.
  4. While the RGB LED is still on (it only stays on for a second so you need to be somewhat quick), press and release the "RST" button again.
    The green LED of the RGB LED should now start pulsing. If not, repeat the process in case you didn't get the timing quite right.
  5. If it is already open, close the Tools > Port menu in Arduino IDE.
  6. Open the Tools > Port menu in Arduino IDE.

Now please reply here on the forum thread with the answers to the following questions:

  • Do you now see the green LED pulsing?
  • Do you see a port for the Nano ESP32 board in the Tools > Port menu?

Hi thanks for the reply, no I have tried that. The RGB LED (To the right of RST) comes on and stays on, the green LED never pulses. You can hear the device continually being recognized by windows with the beep that happens, in the IDE in the select board drop down it is constantly changing when the beeps happen, changing the type of board each time. Every now and then ESP shows in the board selection when it hits the correct board and has a tick, but then it just disconnects again, but it says ESP32 dev module not Arduino Nano, pretty sure the esp flash has messed up the board.

OK, there is a more powerful recovery technique available for when the double reset technique is not sufficient:

  1. Disconnect the USB cable of the Nano ESP32 from your computer.
  2. Use a jumper wire to connect the pin marked "B1" on the board to the pin marked "GND" on the board.
  3. Connect the Nano ESP32 to your computer with a USB cable.
  4. Select File > New Sketch from the Arduino IDE menus.
    The basic sketch will open in a new Arduino IDE window.
  5. Open the Tools > Port menu in Arduino IDE.
  6. You should see a new port in the menu. Select that port.
    This port might be labeled as being any random ESP32 board; not as "(Arduino Nano ESP32)". This is normal and doesn't indicate a problem.
  7. Select Tools > Board > Arduino ESP32 Boards > Arduino Nano ESP32 from the Arduino IDE menus.
    Alternatively, if you installed the "esp32" boards platform instead of Arduino ESP32 Boards, you should select Tools > Board > esp32 > Arduino Nano ESP32.
  8. Select Tools > Programmer > Esptool from the Arduino IDE menus.
  9. Select Sketch > Upload Using Programmer from the Arduino IDE menus.
    An upload operation will start.
  10. Wait for the operation to finish successfully.
  11. Disconnect the USB cable of the Nano ESP32 from your computer.
  12. Disconnect the jumper wire from the "B1" and "GND" pins on the board.
  13. Connect the Nano ESP32 to your computer with a USB cable.

You should now find that the IDE lists a port for the Nano ESP32 board and that you can upload sketches to that port as usual.


Please let me know if you have any questions or problems while following those instructions.

1 Like

Very close! But it failed at "Upload using programmer error: Error: 2 UNKNOWN: programming error: uploading error: exit status 2" I am in Arduino Beta 2.0.0 should I switch to standard IDE?

Sorry full error:

esptool write_flash: error: argument <address> <filename>: [Errno 2] No such file or directory: '{build.variant.path}/extra/nora_recovery/nora_recovery.ino.bin'
Upload using programmer error: Error: 2 UNKNOWN: programming error: uploading error: exit status 2

If you are using one of the beta versions of Arduino IDE 2.0.0 that could definitely be the cause of the failure of this operation.

If possible, please update to Arduino IDE 2.2.1. I performed the instructions I provided in my previous reply using Arduino IDE 2.2.1 and my own Nano ESP32 board while I was writing them and they worked perfectly so I know for certain that they can work with that version of Arduino IDE.

2 Likes

ok thanks for the help will update now.

You absolute legend! Thank you so much for that, it did indeed work :slight_smile:

You are welcome. I'm glad it is working now.

Now that you know the two techniques for restoring the Nano ESP32 board when it gets into an unusable state, you can feel more free to experiment without fear of "bricking" your board.

It is actually fairly common for the boards that use the primary microcontroller to communicate with the computer over USB (often referred to as "native USB") to go into a state where they don't produce a serial port or the port can't be used for uploading sketches. This can happen due to a bug in your code (e.g., a divide by zero) or it can be an expected result (e.g., the code puts the microcontroller to sleep). Most often the double reset technique is sufficient to restore the board under these conditions.

The second jumper technique is usually only necessary if you have manually replaced the entire file system on the Nano ESP32 (e.g., when you install MicroPython).

Regards,
Per

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.