Skip to content

v0.7.0

Choose a tag to compare

@reubenmiller reubenmiller released this 25 Sep 23:14
3912cf2

0.7.0 (2026-09-25)

Features

  • release: automate releases with release-please (#6) (d437654)

Prebuilt firmware for 5 devices, version 0.7.0. Pick your device and a variant, flash the .factory.bin, then provision the device over Bluetooth.

Variants

  • standalone: the protocol server alone; Wi-Fi over Improv BLE.
  • tedge-full: every thin-edge.io feature; Wi-Fi and Cumulocity over lab-ztp-provisioner.
  • tedge-ota: connection, telemetry, restart and firmware update, plus what else fits; Wi-Fi and Cumulocity over lab-ztp-provisioner.

Images

Device App Variant Flash this first Update / OTA Bundle
ESP32-C6-DevKitC-1 (N4) modbus-server standalone modbus-server-standalone-esp32c6-devkitc-0.7.0.factory.bin modbus-server-standalone-esp32c6-devkitc-0.7.0.app.bin modbus-server-standalone-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) modbus-server tedge-full modbus-server-tedge-full-esp32c6-devkitc-0.7.0.factory.bin modbus-server-tedge-full-esp32c6-devkitc-0.7.0.app.bin modbus-server-tedge-full-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) modbus-server tedge-ota modbus-server-tedge-ota-esp32c6-devkitc-0.7.0.factory.bin modbus-server-tedge-ota-esp32c6-devkitc-0.7.0.app.bin modbus-server-tedge-ota-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) opcua-server standalone opcua-server-standalone-esp32c6-devkitc-0.7.0.factory.bin opcua-server-standalone-esp32c6-devkitc-0.7.0.app.bin opcua-server-standalone-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) snmp-agent standalone snmp-agent-standalone-esp32c6-devkitc-0.7.0.factory.bin snmp-agent-standalone-esp32c6-devkitc-0.7.0.app.bin snmp-agent-standalone-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) snmp-agent tedge-full snmp-agent-tedge-full-esp32c6-devkitc-0.7.0.factory.bin snmp-agent-tedge-full-esp32c6-devkitc-0.7.0.app.bin snmp-agent-tedge-full-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) snmp-agent tedge-ota snmp-agent-tedge-ota-esp32c6-devkitc-0.7.0.factory.bin snmp-agent-tedge-ota-esp32c6-devkitc-0.7.0.app.bin snmp-agent-tedge-ota-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) tedge-agent tedge-full tedge-agent-tedge-full-esp32c6-devkitc-0.7.0.factory.bin tedge-agent-tedge-full-esp32c6-devkitc-0.7.0.app.bin tedge-agent-tedge-full-esp32c6-devkitc-0.7.0.zip
ESP32-C6-DevKitC-1 (N4) tedge-agent tedge-ota tedge-agent-tedge-ota-esp32c6-devkitc-0.7.0.factory.bin tedge-agent-tedge-ota-esp32c6-devkitc-0.7.0.app.bin tedge-agent-tedge-ota-esp32c6-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) modbus-server standalone modbus-server-standalone-esp32s3-devkitc-0.7.0.factory.bin modbus-server-standalone-esp32s3-devkitc-0.7.0.app.bin modbus-server-standalone-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) modbus-server tedge-full modbus-server-tedge-full-esp32s3-devkitc-0.7.0.factory.bin modbus-server-tedge-full-esp32s3-devkitc-0.7.0.app.bin modbus-server-tedge-full-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) modbus-server tedge-ota modbus-server-tedge-ota-esp32s3-devkitc-0.7.0.factory.bin modbus-server-tedge-ota-esp32s3-devkitc-0.7.0.app.bin modbus-server-tedge-ota-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) opcua-server standalone opcua-server-standalone-esp32s3-devkitc-0.7.0.factory.bin opcua-server-standalone-esp32s3-devkitc-0.7.0.app.bin opcua-server-standalone-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) snmp-agent standalone snmp-agent-standalone-esp32s3-devkitc-0.7.0.factory.bin snmp-agent-standalone-esp32s3-devkitc-0.7.0.app.bin snmp-agent-standalone-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) snmp-agent tedge-full snmp-agent-tedge-full-esp32s3-devkitc-0.7.0.factory.bin snmp-agent-tedge-full-esp32s3-devkitc-0.7.0.app.bin snmp-agent-tedge-full-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) snmp-agent tedge-ota snmp-agent-tedge-ota-esp32s3-devkitc-0.7.0.factory.bin snmp-agent-tedge-ota-esp32s3-devkitc-0.7.0.app.bin snmp-agent-tedge-ota-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) tedge-agent tedge-full tedge-agent-tedge-full-esp32s3-devkitc-0.7.0.factory.bin tedge-agent-tedge-full-esp32s3-devkitc-0.7.0.app.bin tedge-agent-tedge-full-esp32s3-devkitc-0.7.0.zip
ESP32-S3-DevKitC-1 (N16R8) tedge-agent tedge-ota tedge-agent-tedge-ota-esp32s3-devkitc-0.7.0.factory.bin tedge-agent-tedge-ota-esp32s3-devkitc-0.7.0.app.bin tedge-agent-tedge-ota-esp32s3-devkitc-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) modbus-server standalone modbus-server-standalone-qtpy-esp32s3-0.7.0.factory.bin modbus-server-standalone-qtpy-esp32s3-0.7.0.app.bin modbus-server-standalone-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) modbus-server tedge-full modbus-server-tedge-full-qtpy-esp32s3-0.7.0.factory.bin modbus-server-tedge-full-qtpy-esp32s3-0.7.0.app.bin modbus-server-tedge-full-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) modbus-server tedge-ota modbus-server-tedge-ota-qtpy-esp32s3-0.7.0.factory.bin modbus-server-tedge-ota-qtpy-esp32s3-0.7.0.app.bin modbus-server-tedge-ota-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) opcua-server standalone opcua-server-standalone-qtpy-esp32s3-0.7.0.factory.bin opcua-server-standalone-qtpy-esp32s3-0.7.0.app.bin opcua-server-standalone-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) opcua-server tedge-ota opcua-server-tedge-ota-qtpy-esp32s3-0.7.0.factory.bin opcua-server-tedge-ota-qtpy-esp32s3-0.7.0.app.bin opcua-server-tedge-ota-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) snmp-agent standalone snmp-agent-standalone-qtpy-esp32s3-0.7.0.factory.bin snmp-agent-standalone-qtpy-esp32s3-0.7.0.app.bin snmp-agent-standalone-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) snmp-agent tedge-full snmp-agent-tedge-full-qtpy-esp32s3-0.7.0.factory.bin snmp-agent-tedge-full-qtpy-esp32s3-0.7.0.app.bin snmp-agent-tedge-full-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) snmp-agent tedge-ota snmp-agent-tedge-ota-qtpy-esp32s3-0.7.0.factory.bin snmp-agent-tedge-ota-qtpy-esp32s3-0.7.0.app.bin snmp-agent-tedge-ota-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) tedge-agent tedge-full tedge-agent-tedge-full-qtpy-esp32s3-0.7.0.factory.bin tedge-agent-tedge-full-qtpy-esp32s3-0.7.0.app.bin tedge-agent-tedge-full-qtpy-esp32s3-0.7.0.zip
Adafruit QT Py ESP32-S3 (N4R2) tedge-agent tedge-ota tedge-agent-tedge-ota-qtpy-esp32s3-0.7.0.factory.bin tedge-agent-tedge-ota-qtpy-esp32s3-0.7.0.app.bin tedge-agent-tedge-ota-qtpy-esp32s3-0.7.0.zip
ESP32-WROOM-32 DevKitC modbus-server standalone modbus-server-standalone-esp32-devkitc-0.7.0.factory.bin modbus-server-standalone-esp32-devkitc-0.7.0.app.bin modbus-server-standalone-esp32-devkitc-0.7.0.zip
ESP32-WROOM-32 DevKitC modbus-server tedge-ota modbus-server-tedge-ota-esp32-devkitc-0.7.0.factory.bin modbus-server-tedge-ota-esp32-devkitc-0.7.0.app.bin modbus-server-tedge-ota-esp32-devkitc-0.7.0.zip
ESP32-WROOM-32 DevKitC opcua-server standalone opcua-server-standalone-esp32-devkitc-0.7.0.factory.bin opcua-server-standalone-esp32-devkitc-0.7.0.app.bin opcua-server-standalone-esp32-devkitc-0.7.0.zip
ESP32-WROOM-32 DevKitC snmp-agent standalone snmp-agent-standalone-esp32-devkitc-0.7.0.factory.bin snmp-agent-standalone-esp32-devkitc-0.7.0.app.bin snmp-agent-standalone-esp32-devkitc-0.7.0.zip
ESP32-WROOM-32 DevKitC tedge-agent tedge-ota tedge-agent-tedge-ota-esp32-devkitc-0.7.0.factory.bin tedge-agent-tedge-ota-esp32-devkitc-0.7.0.app.bin tedge-agent-tedge-ota-esp32-devkitc-0.7.0.zip
ESP32-CAM (ESP32 + 4 MB PSRAM) modbus-server tedge-ota modbus-server-tedge-ota-esp32-cam-0.7.0.factory.bin modbus-server-tedge-ota-esp32-cam-0.7.0.app.bin modbus-server-tedge-ota-esp32-cam-0.7.0.zip
ESP32-CAM (ESP32 + 4 MB PSRAM) snmp-agent tedge-ota snmp-agent-tedge-ota-esp32-cam-0.7.0.factory.bin snmp-agent-tedge-ota-esp32-cam-0.7.0.app.bin snmp-agent-tedge-ota-esp32-cam-0.7.0.zip
ESP32-CAM (ESP32 + 4 MB PSRAM) tedge-agent tedge-ota tedge-agent-tedge-ota-esp32-cam-0.7.0.factory.bin tedge-agent-tedge-ota-esp32-cam-0.7.0.app.bin tedge-agent-tedge-ota-esp32-cam-0.7.0.zip

Flashing

From a browser (Chrome or Edge, no tools): open ESPHome Web, connect the board, choose Install, tick Erase device, and pick the .factory.bin. When it offers to set up Wi-Fi afterwards, skip it: these images are provisioned over Bluetooth.

With esptool:

esptool --chip <chip> erase-flash
esptool --chip <chip> write-flash 0x0 <image>.factory.bin

The QT Py ESP32-S3 and ESP32-C6 need --before usb-reset; each bundle's README.txt has the exact commands, and scripts/flash.sh <bundle-dir> flashes a bundle from a checkout.

Then provision it: standalone images with Improv Wi-Fi, tedge-* images with lab-ztp-provisioner. See Provisioning Wi-Fi over BLE, including its security notes.

Updating over the air (tedge images)

Put the application images into your tenant's firmware repository, then install from the device's Firmware tab:

scripts/release/c8y-upload.sh v0.7.0

Each image reports a firmware name unique to its device and app, and the version 0.7.0; c8y-firmware.json lists them.

tedge-zephyr 0.0.2. Features per image:

Image Features
modbus-server-tedge-full-esp32c6-devkitc telemetry, health, restart, firmware-update, remote-access, log-upload, coredump, parameters, cert-renewal
modbus-server-tedge-full-esp32s3-devkitc telemetry, health, restart, firmware-update, remote-access, shell-command, log-upload, coredump, parameters, cert-renewal
modbus-server-tedge-full-qtpy-esp32s3 telemetry, health, restart, firmware-update, remote-access, shell-command, log-upload, coredump, parameters, cert-renewal
modbus-server-tedge-ota-esp32-cam telemetry, health, restart, firmware-update, log-upload, parameters, cert-renewal
modbus-server-tedge-ota-esp32-devkitc telemetry, health, restart, firmware-update, parameters, cert-renewal
modbus-server-tedge-ota-esp32c6-devkitc telemetry, health, restart, firmware-update, cert-renewal
modbus-server-tedge-ota-esp32s3-devkitc telemetry, health, restart, firmware-update, cert-renewal
modbus-server-tedge-ota-qtpy-esp32s3 telemetry, health, restart, firmware-update, cert-renewal
opcua-server-tedge-ota-qtpy-esp32s3 telemetry, health, restart, firmware-update, cert-renewal
snmp-agent-tedge-full-esp32c6-devkitc telemetry, health, restart, firmware-update, remote-access, log-upload, coredump, parameters, cert-renewal
snmp-agent-tedge-full-esp32s3-devkitc telemetry, health, restart, firmware-update, remote-access, log-upload, coredump, parameters, cert-renewal
snmp-agent-tedge-full-qtpy-esp32s3 telemetry, health, restart, firmware-update, remote-access, log-upload, coredump, parameters, cert-renewal
snmp-agent-tedge-ota-esp32-cam telemetry, health, restart, firmware-update, log-upload, parameters, cert-renewal
snmp-agent-tedge-ota-esp32c6-devkitc telemetry, health, restart, firmware-update, cert-renewal
snmp-agent-tedge-ota-esp32s3-devkitc telemetry, health, restart, firmware-update, cert-renewal
snmp-agent-tedge-ota-qtpy-esp32s3 telemetry, health, restart, firmware-update, cert-renewal
tedge-agent-tedge-full-esp32c6-devkitc telemetry, health, restart, firmware-update, remote-access, log-upload, coredump, parameters, cert-renewal
tedge-agent-tedge-full-esp32s3-devkitc telemetry, health, restart, firmware-update, remote-access, shell-command, log-upload, coredump, parameters, cert-renewal
tedge-agent-tedge-full-qtpy-esp32s3 telemetry, health, restart, firmware-update, remote-access, shell-command, log-upload, coredump, parameters, cert-renewal
tedge-agent-tedge-ota-esp32-cam telemetry, health, restart, firmware-update, log-upload, parameters, cert-renewal
tedge-agent-tedge-ota-esp32-devkitc telemetry, health, restart, firmware-update, parameters, cert-renewal
tedge-agent-tedge-ota-esp32c6-devkitc telemetry, health, restart, firmware-update, cert-renewal
tedge-agent-tedge-ota-esp32s3-devkitc telemetry, health, restart, firmware-update, cert-renewal
tedge-agent-tedge-ota-qtpy-esp32s3 telemetry, health, restart, firmware-update, cert-renewal

Measurements are published on te/device/<id>///m/<type> over the Cumulocity MQTT Service and need a Smart Function in the tenant; Telemetry in Cumulocity lists each app's topic, payload and units.

Signing

  • Signed with MCUboot's public development key (root-ec-p256.pem): anyone can sign an image these bootloaders accept. Not for production devices.

A device's bootloader only accepts images signed with its own key: a device flashed from one key cannot be updated over the air to images signed with another.

Sizes

Image App image / slot0 RAM (fullest region)
modbus-server-standalone-esp32-devkitc 590312 / 1310720 B (45.04%) dram0_0_seg 97152 / 196608 B (49.41%)
modbus-server-standalone-esp32c6-devkitc 733882 / 1310720 B (55.99%) sram0_0_seg 205780 / 488976 B (42.08%)
modbus-server-standalone-esp32s3-devkitc 583866 / 3145728 B (18.56%) dram0_0_seg 196104 / 384256 B (51.03%)
modbus-server-standalone-qtpy-esp32s3 584011 / 1310720 B (44.56%) dram0_0_seg 193500 / 384256 B (50.36%)
modbus-server-tedge-full-esp32c6-devkitc 962588 / 1310720 B (73.44%) sram0_0_seg 432508 / 488976 B (88.45%)
modbus-server-tedge-full-esp32s3-devkitc 934779 / 3145728 B (29.72%) dram0_0_seg 342996 / 384256 B (89.26%)
modbus-server-tedge-full-qtpy-esp32s3 934971 / 1310720 B (71.33%) dram0_0_seg 339388 / 384256 B (88.32%)
modbus-server-tedge-ota-esp32-cam 807207 / 1310720 B (61.59%) dram1_0_seg 79128 / 98304 B (80.49%)
modbus-server-tedge-ota-esp32-devkitc 802184 / 1310720 B (61.2%) dram0_0_seg 181472 / 196608 B (92.3%)
modbus-server-tedge-ota-esp32c6-devkitc 891115 / 1310720 B (67.99%) sram0_0_seg 398740 / 488976 B (81.55%)
modbus-server-tedge-ota-esp32s3-devkitc 805340 / 3145728 B (25.6%) dram0_0_seg 293804 / 384256 B (76.46%)
modbus-server-tedge-ota-qtpy-esp32s3 739946 / 1310720 B (56.45%) dram0_0_seg 290196 / 384256 B (75.52%)
opcua-server-standalone-esp32-devkitc 750006 / 1310720 B (57.22%) dram1_0_seg 65656 / 98304 B (66.79%)
opcua-server-standalone-esp32c6-devkitc 854139 / 1310720 B (65.17%) sram0_0_seg 229836 / 488976 B (47.0%)
opcua-server-standalone-esp32s3-devkitc 768650 / 3145728 B (24.43%) dram0_0_seg 219464 / 384256 B (57.11%)
opcua-server-standalone-qtpy-esp32s3 768795 / 1310720 B (58.65%) dram0_0_seg 216856 / 384256 B (56.44%)
opcua-server-tedge-ota-qtpy-esp32s3 923900 / 1310720 B (70.49%) dram0_0_seg 307088 / 384256 B (79.92%)
snmp-agent-standalone-esp32-devkitc 578759 / 1310720 B (44.16%) dram0_0_seg 105600 / 196608 B (53.71%)
snmp-agent-standalone-esp32c6-devkitc 731995 / 1310720 B (55.85%) sram0_0_seg 212344 / 488976 B (43.43%)
snmp-agent-standalone-esp32s3-devkitc 582412 / 3145728 B (18.51%) dram0_0_seg 202688 / 384256 B (52.75%)
snmp-agent-standalone-qtpy-esp32s3 582540 / 1310720 B (44.44%) dram0_0_seg 200084 / 384256 B (52.07%)
snmp-agent-tedge-full-esp32c6-devkitc 960522 / 1310720 B (73.28%) sram0_0_seg 444788 / 488976 B (90.96%)
snmp-agent-tedge-full-esp32s3-devkitc 809307 / 3145728 B (25.73%) dram0_0_seg 339912 / 384256 B (88.46%)
snmp-agent-tedge-full-qtpy-esp32s3 809436 / 1310720 B (61.76%) dram0_0_seg 336300 / 384256 B (87.52%)
snmp-agent-tedge-ota-esp32-cam 801560 / 1310720 B (61.15%) dram1_0_seg 83224 / 98304 B (84.66%)
snmp-agent-tedge-ota-esp32c6-devkitc 889756 / 1310720 B (67.88%) sram0_0_seg 411044 / 488976 B (84.06%)
snmp-agent-tedge-ota-esp32s3-devkitc 738858 / 3145728 B (23.49%) dram0_0_seg 305972 / 384256 B (79.63%)
snmp-agent-tedge-ota-qtpy-esp32s3 739002 / 1310720 B (56.38%) dram0_0_seg 302360 / 384256 B (78.69%)
tedge-agent-tedge-full-esp32c6-devkitc 893180 / 1310720 B (68.14%) sram0_0_seg 427828 / 488976 B (87.49%)
tedge-agent-tedge-full-esp32s3-devkitc 931147 / 3145728 B (29.6%) dram0_0_seg 337816 / 384256 B (87.91%)
tedge-agent-tedge-full-qtpy-esp32s3 931338 / 1310720 B (71.06%) dram0_0_seg 334204 / 384256 B (86.97%)
tedge-agent-tedge-ota-esp32-cam 791670 / 1310720 B (60.4%) dram1_0_seg 76056 / 98304 B (77.37%)
tedge-agent-tedge-ota-esp32-devkitc 786903 / 1310720 B (60.04%) dram0_0_seg 179976 / 196608 B (91.54%)
tedge-agent-tedge-ota-esp32c6-devkitc 888172 / 1310720 B (67.76%) sram0_0_seg 394076 / 488976 B (80.59%)
tedge-agent-tedge-ota-esp32s3-devkitc 737388 / 3145728 B (23.44%) dram0_0_seg 289272 / 384256 B (75.28%)
tedge-agent-tedge-ota-qtpy-esp32s3 737531 / 1310720 B (56.27%) dram0_0_seg 285660 / 384256 B (74.34%)

Verify downloads with sha256sum -c SHA256SUMS.