OTA firmware update ESP32 based modules

I’m going to mount a Heltec Wireless Stick Lite V3 high up. It now has an up-to-date firmware (2.2.21) but perhaps it will need an update over time. So I’m looking for a way to update the firmware without a physical (USB) cable as the unit is at an inconvenient location.
For other ESP32 based devices I use OTA over wifi. But I read somewhere that Meshtastic only has Bluetooth OTA capabilities (due to partition space limitations I believe). But there isn’t much hands-on information available about this. I don’t mind using BT and also the device to do it (phone (IOS/Android) or notebook) is not important. But how does it work (instructions).

  • I see an option in the IOS app to put it in an OTA mode. Is there some documentation available?
  • Can the Nordic DFU app be used for ESP32 also? Are there any instructions?
  • If this is still in development I can wait (I’m up-to-date right now) but can the 2.2.21 firmware be used for future OTA updates when ready?

I would like to test before installing the unit.

Correct, Meshtastic firmware only supports BLE OTA updates. There is an OTA iOS app developed by @garth, but it’s currently experiencing some issues. A potential fix has been identified. The drawback with that app though is it requires manual firmware updates, which can be challenging to keep up because of project’s rapid development pace. Plus each of those updates means the app in TestFlight has to be updated. It’s a lot for one person so it would be nice if we could find another apple developer that could assist. H

Okay. So at the moment there’s nothing readily for my use case.

I wasn’t aware of the complexity and needed manpower. I’m used to work with wifi OTA where you just use a small library module in the firmware that handles the receive of a new binary to overwrite the existing firmware when received successfully.The UI for the user has a file dialog where the user can choose the new firmware firmware binary.

Just to follow on, if I have a Heltec V3 on the roof connected by wifi, with Bluetooth enabled (but inactive due to wifi use). Can I turn off my router and reboot the Heltec (to drop the wifi), connect to it by Bluetooth connection and update it over Bluetooth?

1 Like