diff --git a/docs/badge/firmware.rst b/docs/badge/firmware.rst index 058e99adec386b8c73cb664363aa2a0ade1c4c9e..7f6d8ad1c53cdc463bd10e114fece2a8cff808c7 100644 --- a/docs/badge/firmware.rst +++ b/docs/badge/firmware.rst @@ -75,7 +75,7 @@ This is the SPI flash partition layout we use: | ``vfs`` | 12MiB | FAT32 filesystem (with [#WL]_ layer). | +--------------+--------+---------------------------------------+ - +.. [#WL] Wear leveling, to protect internal flash from death by repeat sector write. Accessing files from a PC ------------------------- @@ -203,11 +203,7 @@ Instructions on how to run ``esptool.py`` are given with every firmware update r Updating Firmware ----------------- -Download a `release <https://git.flow3r.garden/flow3r/flow3r-firmware/-/releases>`_, extract the tarball and follow instructions in the README. There will be notes on how to perform updates through either :ref:`Disk Mode`, `Recovery Mode`_ or through a low-level flash_. - -Or, if you're at CCCamp2023, visit our firmware update station, once it is availble. - -.. [#WL] Wear leveling, to protect internal flash from death by repeat sector write. +(Moved to :ref:`its own section <updating_firmware>`) Versioning ---------- diff --git a/docs/badge/updating_firmware.rst b/docs/badge/updating_firmware.rst new file mode 100644 index 0000000000000000000000000000000000000000..91d4fc6ec225bc12d907065f6b7a76edd3cdfd70 --- /dev/null +++ b/docs/badge/updating_firmware.rst @@ -0,0 +1,55 @@ +.. include:: <isonum.txt> +.. _updating_firmware: + +Updating firmware +================= + +Update via webflash +------------------- + +If you have a web browser which supports WebSerial, you can connect your badge +to your computer then navigate to: + +https://flow3r.garden/flasher/ + +Update via updat3r +------------------ + +Since firmware v1.3.0, there is a built-in wifi updater. + +Ensure wifi is connected, and then go to Settings |rarr| Check For Updates and +follow the instructions. + +Update via USB mass storage +--------------------------- + +Put your badge into SD Card Disk Mode: either by selecting 'Disk Mode (SD)' +from the badge's System menu, or by rebooting into Recovery Mode (by holding +down the right trigger) and selecting 'Disk Mode (SD)' from there. + +Now, with the badge connected to a computer, you should see a USB Mass Storage +('pendrive') appear. Copy flow3r.bin from the release there. + +Then, stop disk mode, and from the Recovery Mode (boot the badge with the right +trigger pushed down), select 'Flash Firmware Image', then flow3r.bin. + +Update using esptool.py +----------------------- + +You can also fully flash the badge from the commandline. To do that, start the +badge in bootloader mode (this is different from recovery mode!) by holding +down the left trigger while powering it up. + +Extract the .bin files from a release tarball, and run esptool.py with the +following arguments: + +:: + + esptool.py -p /dev/ttyACM0 -b 460800 \ + --before default_reset --after no_reset --chip esp32s3 \ + write_flash --flash_mode dio --flash_size 16MB --flash_freq 80m \ + 0x0 bootloader.bin \ + 0x8000 partition-table.bin \ + 0x10000 recovery.bin \ + 0x90000 flow3r.bin \ + -e diff --git a/docs/index.rst b/docs/index.rst index c33ab1c21efd06823761c51ae64b4e50c55995e6..982657e159e1491268251ee1ec9685e813c58ce6 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,6 +26,7 @@ User manual badge/assembly.rst badge/mods.rst badge/usage.rst + badge/updating_firmware.rst .. toctree:: :maxdepth: 1