⚡ Sensyte ESM — Firmware Updates
Over-the-air update server for ESP32-S3 energy monitors
Released
2026-06-06
Flash layout
16 MB — OTA + Balanced
SHA256
6fb78c4146046fad66d292d2fbcabb62425014f41154e5e0bbba58db1676d4ef
Changes: Initial OTA-enabled release — 16MB flash, dual OTA slots, LoRa support, 5-LED status system
How OTA Works
1
Devices poll this server every 6 hours:
GET /version.json
2
If version in the manifest is newer than the running firmware:
GET /firmware/sensyte-esm-v2.2.8.bin
3
Firmware writes to the inactive OTA slot, sets boot flag, and reboots
4
If the new firmware panics, the bootloader auto-rolls back
API Reference
Version check
GET /version.json
Download firmware
GET /firmware/sensyte-esm-v2.2.8.bin
# Check latest version
curl https://updates.sensyte.io/firmware/version.json
# Response:
# {"version":"1.0.0","url":"/firmware/sensyte-esm-v2.2.8.bin","sha256":"..."}
📦 Adding a New Firmware Version
- Build the firmware:
idf.py build
- Copy
build/sensyte-esm-firmware-esp-idf.bin to firmware/sensyte-esm-vX.Y.Z.bin
- Get SHA256:
sha256sum firmware/sensyte-esm-vX.Y.Z.bin
- Update
version.json with the new version, url, and SHA256
- Push to git → Cloudflare Pages auto-deploys