Skip to main content
The ESP-IDF component is a drop-in IoT client: Wi-Fi provisioning, secure WebSocket transport, the command runtime, dashboard widgets, NTP, NVS helpers, and optional OTA + GPIO — all behind one umbrella header.
TargetsESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-P4
ESP-IDF>= 5.5, < 7.0
LicenseApache-2.0
UIframework-agnostic (LVGL / raw / none)

1. Add the dependency

hyperwisor_esp_idf

Component source and changelog on GitHub.
In your project’s main/idf_component.yml:
dependencies:
  nikolaindustry/hyperwisor: "^0.1.0"
Then reconfigure — the dependency manager pulls espressif/esp_websocket_client and espressif/cjson automatically:
idf.py reconfigure

2. Quick start

#include "hyperwisor.h"

void app_main(void)
{
    hyperwisor_init();

    /* First-boot provisioning. On later boots these load from NVS
     * automatically — call only when you need to override. */
    if (!hyperwisor_has_credentials()) {
        hyperwisor_set_credentials("MySSID", "MyPassword",
                                   "my-device-id", "my-user-id");
    }

    hyperwisor_start();   /* spawns the core task */
}
The device auto-connects to Wi-Fi, syncs NTP, opens the realtime connection, and starts accepting cloud commands. With no credentials it falls back to SoftAP provisioning (NIKOLAINDUSTRY_Setup-XXXX, password 0123456789).

3. The umbrella header

#include "hyperwisor.h" pulls in everything — core, Wi-Fi, realtime, commands, NVS, widget, NTP, HTTP, and board port. Optional features (OTA, GPIO, Display) are included automatically when their Kconfig option is enabled.

Next: Configuration

Kconfig feature toggles and connection settings.