https://github.com/meshtastic/firmware-ota-wifi
WiFi OTA Firmware
https://github.com/meshtastic/firmware-ota-wifi
Last synced: about 1 year ago
JSON representation
WiFi OTA Firmware
- Host: GitHub
- URL: https://github.com/meshtastic/firmware-ota-wifi
- Owner: meshtastic
- License: mit
- Created: 2025-03-19T21:31:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-30T14:45:09.000Z (over 1 year ago)
- Last Synced: 2025-05-31T20:00:04.005Z (about 1 year ago)
- Language: C
- Size: 8.79 KB
- Stars: 4
- Watchers: 12
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## WiFi OTA Firmware
- Fits into 640KB for all esp32 targets
- Compatible with `espota.py` from arduino-esp32
### Usage
Build and write OTA binary to the `ota_1` partition (take its address from `partition-table.csv`):
```
pio run [-e ]
esptool.py --port <...> write_flash 0x260000 .pio/build//firmware.bin
```
After rebooting the device into OTA firmware (the main firmware has to have some way of doing that), upload a new main firmware binary over network:
```
espota.py --ip --file
```
Uploading a filesystem image to a `spiffs` partition:
```
espota.py --ip --file --spiffs
```
### Details
- To be able to connect to a WiFi access point, OTA firmware expects to find `ssid` and `psk` string fields in the NVRAM storage under `ota-wifi` namespace.
- After successful flashing, a boolean field `updated` is raised, so that the main firmware can handle the "first boot after update" scenario.
- OTA firmware waits for an upload only for some limited time and then reboots back to main on timeout.