Welcome to SCADABLE
SCADABLE is the developer platform for connected hardware. You write firmware in C with ESP-IDF, link libscadable for the platform plumbing, push to GitHub, and SCADABLE handles the cloud side: device identity, secure MQTT, OTA updates, and a dashboard your team operates from.
Think of it as Vercel for hardware. You ship code, we ship it to your fleet — no broker setup, no certificate management, no infrastructure to maintain.
Add libscadable to your firmware
idf.py add-dependency "scadable/libscadable^0.1.0"The minimum integration
#include "scadable.h"
#include "esp_wifi.h"
void scadable_user_main(void) {
my_wifi_connect(); // your code: bring up the network
// ... your application code ...
}That's the entire firmware-side integration. The library owns app_main (as a weak symbol); you define scadable_user_main instead. Your job: bring up the network (Wi-Fi STA, Ethernet, cellular — whatever fits your hardware). The library's job: everything between IP-up and the dashboard.
Provisioning happens at flash time via the dashboard's browser flasher. The cert + identity + broker defaults are written into NVS. On boot, the library reads them, calls the edge router to discover its broker, opens a TLS MQTT session, starts publishing heartbeats, and listens for OTA commands. Device shows up green on the dashboard within ~30 seconds.
What you get in v0.1.0
- Certificate-based device identity. Per-device cert minted by SCADABLE, flashed into NVS by the web flasher.
- Broker discovery. Library hits
edge.scadable.com/v1/routeon every boot and connects to the broker it returns. Regions can change without flashing. - Managed MQTT. TLS to the discovered broker. Reconnect with exponential backoff is handled.
- Heartbeats. Periodic device-health publish every 30 seconds (uptime, free heap, boot count, firmware version).
- OTA updates. Dashboard
Deploytriggers a download + install + restart + auto-rollback-on-failure flow. No code on your side. - Dashboard. Live status, deploy history, per-device drill-down.
What's coming in v0.2.0+
- Customer-facing event publishing helpers and typed metric APIs.
- Log forwarding from
ESP_LOG_*to the dashboard. - Inbound command handlers beyond OTA.
- Schema-driven typed events from
.scadable/events.yaml. - mTLS at the broker for stronger device auth.
v0.1.0 ships the smallest demonstrable thing — prove the install + provision + heartbeat + OTA loop end-to-end. Everything else layers on top of the same primitives.
Where to start
- Quickstart: zero to first device in ~15 minutes.
- Mental Model: how libscadable + the build pipeline + the cloud fit together.
- Library / ESP32: the v0.1.0 component, surface and integration patterns.
- Developer MCP: point your AI editor at the live docs for accurate answers.
Updated 10 days ago
