nakhonthai / ESP32APRS_T-TWR

APRS Software project device support LILYGO T-TWR Plus.
GNU General Public License v3.0
90 stars 15 forks source link

[Feature] release the firmware binary in UF2 format #2

Open lyusupov opened 8 months ago

lyusupov commented 8 months ago

Please, be aware that T-TWR Plus board (both current V2.0 and upcoming V2.1) is already supported by Adafruit TinyUF2 bootloader: 1) https://github.com/adafruit/tinyuf2/tree/master/ports/espressif 2) https://github.com/adafruit/tinyuf2/releases


Further batches of the product may come with the bootloader been pre-installed from the factory.

Thus, it could make sense to deploy not only the bare .bin binaries, but the UF2 one as well.

Converting an ESP32-S3 'application' binary file info UF2 format is as simple as:

uf2conv.py firmware.bin -c -f 0xc47e5767 -b 0 -o firmware.uf2

Please, read https://github.com/microsoft/uf2 for more details.

Instructions on how to install an ESP32-S3 firmware with assistance of TinyUF2 bootloader

nakhonthai commented 8 months ago

Thank you, I think it's suitable for projects that need to be updated via USB all the time. But in my project it uses upload only first time. Next, update via web browser or via OTA in the settings menu on the device.

lyusupov commented 8 months ago

Please, notice that I wrote above:

Further batches of the product may come with the bootloader been pre-installed from the factory.

Lewis from LilyGO confirmed to me earlier this year that the factory is ready to pre-install the Adafruit UF2 bootloader. You were unlucky to receive the board from very first batch that did not have the bootloader yet.

But in my project it uses upload only first time.

The pre-installed bootloader helps to install a firmware from very first try. OpenRTX project is using the bootloader already: https://openrtx.org/#/hardware/ttwrplus?id=flashing

nakhonthai commented 8 months ago

Bootloader+Firmware suitable for productions. Development work that requires changing the memory structure. This project can update the firmware in three ways.

  1. Update using ESP DOWNLOAD TOOL by USB cable. (No required wifi)
  2. Update using Web Service (Required wifi)
  3. Update using OTA from the device. (Required wifi+internet)

OTA easy to end user, No computer required No need to connect USB.

Example clipt OTA Update

https://github.com/nakhonthai/ESP32APRS_T-TWR/assets/16043758/d68e66be-8420-41ed-9f93-28a09685b6e7