Teams building connected products on ESP-IDF have typically had to build their own provisioning, OTA, and connectivity management. That changes today.
Blynk.Edgent is now available as a native ESP-IDF component on the Espressif Component Registry. One dependency adds BLE-assisted device provisioning, over-the-air firmware updates, network management, and secure MQTT connectivity to any ESP-IDF project. idf.py add-dependency "blynk/edgent^0.9.0-beta.4"
Cellular connectivity is planned for a future release.
Initially supported targets: ESP32, ESP32-S3, ESP32-C3, ESP32-C6. Support for ESP32-C2 and ESP32-C5 is coming soon.
Requires 4 MB flash minimum. OTA updates use a dual-bank partition table (two OTA partitions), so the device can fall back to the previous firmware if a flash fails.
ESP-IDF is Espressif's production development framework. It provides direct access to Espressif's hardware capabilities, receives feature updates first, and is the standard environment for professional firmware teams. Most production ESP32 projects end up here.
Until now, Blynk.Edgent wasn't available as a native ESP-IDF component. That meant teams working in ESP-IDF had no access to Blynk.Inject (app-based device provisioning), no managed OTA through Blynk, and no network management. To use these features, a team would need to either port their project to Arduino or build the equivalent infrastructure from scratch.
Blynk.Inject is one of the most valuable features for product companies shipping connected devices. It allows an end user to unbox a device, open the Blynk app, and provision it over BLE without any technical knowledge. Building equivalent provisioning infrastructure from scratch typically takes a team months of development time. For ESP-IDF teams, that capability is now available as a single component dependency.
The ESP-IDF implementation also includes capabilities beyond other Edgent variants: BLE-assisted provisioning (rather than WiFi AP mode), support for up to 16 saved networks with automatic failover, and mixed WiFi and Ethernet connectivity. These reflect the requirements of real deployment environments where devices need to handle multiple access points, network outages, and varied connectivity options.
The component integrates into a standard ESP-IDF development workflow. After adding the dependency, the developer configures the Blynk Template ID and Template Name through menuconfig, then builds and flashes as usual. On first boot, the device enters BLE provisioning mode automatically.
From the end user's perspective, setup is straightforward: open the Blynk app, tap to add a device, and the phone discovers it over Bluetooth. The user selects their WiFi network, credentials transfer over BLE, and the device connects to Blynk cloud. No serial console access required, no configuration files to edit.
Once connected, sensor data flows to the cloud and appears in dashboards and the native mobile app immediately. Firmware updates can be pushed remotely through the Blynk console whenever needed.
The firmware development workflow stays entirely within ESP-IDF and follows standard ESP-IDF conventions. The component handles connectivity, provisioning, OTA, and secure MQTT — the firmware code stays focused on the product's core functionality. See the example code for the complete integration.
The Edgent component handles device-to-cloud connectivity. On the platform side, every Blynk project includes:
The platform works the same way regardless of whether device firmware uses Arduino or ESP-IDF.
The component is available on the Espressif Component Registry. It's released under the MIT license.
Documentation: docs.blynk.io/en/blynk.edgent/overview
The free tier includes 5 devices. Paid plans scale to 1,000 devices. blynk.io/pricing.