Add Support for BLE OTA on device like ESP32-H2, andESP32-C6 #3226
Replies: 3 comments
-
🏷️ I've automatically added the |
Beta Was this translation helpful? Give feedback.
-
out of curiosity how would you like to do it? It seems that both user completely different protocol. |
Beta Was this translation helpful? Give feedback.
-
Alignment doesn’t necessarily mean using the same protocol — it’s more about being consistent in how you structure your ESPHome YAML config. From what I’ve researched, they do use different protocols, so it’s definitely not as simple as copy-and-pasting Zephyr/nRF52 code (I wish it were!). I’m not really a programmer, so I can’t say what the absolute best approach is. However, to my untrained eye, Espressif’s examples look like a solid starting point. My guess is that they’d need modifications to support the ESPHome API, but using the Espressif examples as a baseline makes sense since they come directly from the manufacturer. Honestly, I’m even tempted to feed the example into an AI tool to see if it can produce a rough ESPHome implementation — though that might be a bit extreme. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Component name
OTA
Link to component documentation on our website
https://esphome.io/components/ota/
Describe the enhancement
Currently, the ota component in ESPHome only supports Over-the-Air updates via Wi-Fi, Ethernet, or Thread.
This request is to add support for OTA updates via Bluetooth Low Energy (BLE), particularly for devices like the ESP32-H2 (which has no Wi-Fi) and ESP32-C6.
Espressif has released an official BLE OTA solution that supports BLE OTA using either the NimBLE or Bluedroid stacks. The esp_ble_ota component enables secure firmware updates using standard BLE GATT services.
I'd like to see ESPHome add support for BLE OTA using this Espressif-provided method, especially now that ESP32-H2 is supported in ESPHome 2025.6.0 via the esp-idf framework and already enables Thread-based transport.
Use cases
Anything else?
Relevant links:
I’d be happy to help test experimental support on real ESP32-H2 hardware and contribute logs or feedback.
Beta Was this translation helpful? Give feedback.
All reactions