summaryrefslogtreecommitdiffstatshomepage
path: root/docs/esp32/tutorial
diff options
context:
space:
mode:
authorAngus Gratton <angus@redyak.com.au>2024-10-03 09:42:13 +1000
committerDamien George <damien@micropython.org>2024-11-19 10:57:53 +1100
commita23277e3b0400b6b5ca6ce3d88e3a38859754a4e (patch)
tree9c4b6dea08093c3ffc7e1ea09dda73bbc4c7e36d /docs/esp32/tutorial
parent9361a9f50af1e0b657eed270df6556ec253ddaeb (diff)
downloadmicropython-a23277e3b0400b6b5ca6ce3d88e3a38859754a4e.tar.gz
micropython-a23277e3b0400b6b5ca6ce3d88e3a38859754a4e.zip
docs/esp32: Add a factory reset page.
This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
Diffstat (limited to 'docs/esp32/tutorial')
-rw-r--r--docs/esp32/tutorial/index.rst1
-rw-r--r--docs/esp32/tutorial/intro.rst2
-rw-r--r--docs/esp32/tutorial/reset.rst25
3 files changed, 28 insertions, 0 deletions
diff --git a/docs/esp32/tutorial/index.rst b/docs/esp32/tutorial/index.rst
index c6242d731f..2435f2ecd2 100644
--- a/docs/esp32/tutorial/index.rst
+++ b/docs/esp32/tutorial/index.rst
@@ -21,3 +21,4 @@ to `<https://www.python.org>`__.
intro.rst
pwm.rst
peripheral_access.rst
+ reset.rst
diff --git a/docs/esp32/tutorial/intro.rst b/docs/esp32/tutorial/intro.rst
index be09599871..cf4d0bcbd2 100644
--- a/docs/esp32/tutorial/intro.rst
+++ b/docs/esp32/tutorial/intro.rst
@@ -50,6 +50,8 @@ features, there are daily builds. If your board has SPIRAM support you can
use either the standard firmware or the firmware with SPIRAM support, and in
the latter case you will have access to more RAM for Python objects.
+.. _esp32_flashing:
+
Deploying the firmware
----------------------
diff --git a/docs/esp32/tutorial/reset.rst b/docs/esp32/tutorial/reset.rst
new file mode 100644
index 0000000000..b3fc6a85bd
--- /dev/null
+++ b/docs/esp32/tutorial/reset.rst
@@ -0,0 +1,25 @@
+Factory reset
+=============
+
+If something unexpected happens and your ESP32-based board no longer boots
+MicroPython, then you may have to factory reset it. For more details, see
+:ref:`soft_bricking`.
+
+Factory resetting the MicroPython esp32 port involves fully erasing the flash
+and resetting the flash memory, so you will need to re-flash the MicroPython
+firmware afterwards and copy any Python files to the filesystem again.
+
+1. You will need the Espressif `esptool`_ installed on your system. This is the
+ same tool that you may have used to initially install MicroPython on your
+ board (see :ref:`installation instructions <esp32_flashing>`).
+2. Find the serial port name of your board, and then use esptool to erase the
+ entire flash contents::
+
+ esptool.py -p PORTNAME erase_flash
+
+3. Use esptool to flash the MicroPython file to your board again. If needed,
+ this file and flashing instructions can be found on the `MicroPython
+ downloads page`_.
+
+.. _esptool: https://github.com/espressif/esptool
+.. _MicroPython downloads page: https://micropython.org/download/?port=esp32