Skip to content

add note about erasing flash memory to fix upload issues #481

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 16, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,12 @@ Learn how to reset the default Arduino bootloader on the Nano ESP32.
These are some reasons you may want to reset the bootloader:

* Update the Arduino bootloader already on the board. This can resolve issues with Nano ESP32 being misidentified as other ESP32 boards.
* Restore the ability to upload regular Arduino sketches to a Nano ESP32 that has been flashed with the MicroPython firmware.
* Restore the ability to upload regular Arduino sketches to a Nano ESP32 that has been flashed with MicroPython or other third-party firmware images.

---

<a id="reset-the-bootloader"></a>

> [!TIP]
> Before you begin, it is recommended to have the latest version of the **Arduino ESP32 Boards** or **esp32** boards package installed using the Board Manager.

Expand All @@ -35,16 +37,30 @@ Follow these steps:

8. Click on the **Esptool** option to select it.

9. Select **Sketch > Upload Using Programmer** to begin uploading the firmware.
9. Select **Tools > Burn Bootloader** to erase the flash memory.

> [!WARNING]
> Any data saved by sketches or MicroPython will be lost. Optionally, you can try skipping this step to preserve saved data.
>
> If you still experience issues with the upload process, or if the board is still not recognized, try repeating the procedure with this step included.

The process is complete when you see these lines:

```
Leaving...
Chip erase completed successfully in 2.7s
Hard resetting via RTS pin...
```

10. Press the **RST** button on top of the board to exit firmware download mode.
10. Select **Sketch > Upload Using Programmer** to begin uploading the firmware.

The process is complete when you see these lines:

```
Leaving...
Hard resetting via RTS pin...
```

11. Press the **RST** button on top of the board to exit firmware download mode.

## Troubleshooting

Expand All @@ -60,6 +76,15 @@ Try this:

* Ensure you are uploading the sketch by selecting **Sketch > Upload Using Programmer** and not by clicking the regular Upload button.

### If the board is only recognized once or requires a double-press reset to upload a sketch

This issue can be caused by old data on the flash memory interfering with the Arduino bootloader.

To resolve the issue, follow the full [bootloader flashing procedure](#reset-the-bootloader), including the **Tools > Burn Bootloader** step.

> [!WARNING]
> Any data saved by sketches or Micropython in the user partition will be lost.

[^colors]: On some earlier versions of the Nano ESP32, the LED will be blue instead of green, and yellow instead of purple.

<!-- markdownlint-disable-file HC001 -->
Loading