Arduino vs ESP-IDF
Arduino
For the Arduino IDE. Fastest path to a working device —
device.begin() /
device.loop() and you’re connected. Rich helpers for widgets, dialogs,
database, and onboarding.ESP-IDF
For Espressif’s native framework. A component you add to
idf_component.yml, with Kconfig feature toggles and a board port layer for
production builds.At a glance
| Arduino library | ESP-IDF component | |
|---|---|---|
| Toolchain | Arduino IDE | ESP-IDF (idf.py) |
| Entry points | device.begin() / device.loop() | hyperwisor_init() / hyperwisor_start() |
| Targets | ESP32 | ESP32, S2, S3, C3, C6, P4 |
| Provisioning | AP-mode + manual | SoftAP + manual |
| OTA | Built in | Opt-in (Kconfig) |
| License | Proprietary (NIKOLAINDUSTRY) | Apache-2.0 |
What both libraries give you
- Wi-Fi provisioning — connect with stored credentials, or fall back to an access-point setup mode on first boot
- Realtime communication — a managed connection that auto-reconnects
- Dashboard widgets — push live values to widgets by their widget ID
- Cloud commands — register handlers for commands sent from a dashboard
- OTA updates — push new firmware from the dashboard
- Time sync — NTP after the network comes up
Pick Arduino
Install and flash your first sketch.
Pick ESP-IDF
Add the component to your project.

