DEVELOPERS

Production‑ready IoT in six lines.

The KME Smart Arduino + ESP‑IDF SDKs handle reconnection, batching, OTA, and security out of the box. Speak raw MQTT, the REST API, or WebSocket — your call.

esp32 / src / main.cpp
1// Publish a temperature reading every 2s
2#include <KMESmart.h>
3
4KMESmart kme("YOUR_DEVICE_TOKEN");
5
6void setup() {
7 kme.begin("wifi-ssid", "pass");
8}
9
10void loop() {
11 float t = readDHT22();
12 kme.publish("living/temp", t);
13 delay(2000);
14}
FIRMWARE SDK

One library. Any ESP board.

The KME Smart SDK handles MQTT reconnection, batching, OTA, and security so your loop stays focused on the device. Or drop down to raw MQTT — whichever you prefer.

⚡ Quick start
Any ESP‑based board — ESP32, ESP32‑C6, ESP8266, C3, S3 — plus a USB cable and a 2.4 GHz Wi‑Fi network. No toolchain or SDK install required.
SDKs
Arduino · ESP‑IDF · Python · JS
Auth
Device tokens · x.509 · JWT
OTA
Signed updates · staged rollouts
API
REST · MQTT · WebSocket
API REFERENCE

17 first‑class resources. One REST surface.

Every dashboard widget, every automation, every device action — all reachable from one HTTPS endpoint. SDKs and Postman collections in the docs.

Devices & fleets
GET /api/v1/devices
GET /api/v1/devices/:id
POST /api/v1/devices/:id/command
GET /api/v1/registered-devices
GET /api/v1/groups
POST /api/v1/groups/:id/ota
Telemetry & events
GET /api/v1/events
GET /api/v1/events/stream SSE
GET /api/v1/alerts
POST /api/v1/alerts/rules
GET /api/v1/notifications
GET /api/v1/health
Firmware & OTA
GET /api/v1/firmware/:board/latest
POST /api/v1/firmware
GET /api/v1/static-firmware/:slug
Projects & orgs
GET /api/v1/projects
POST /api/v1/projects
GET /api/v1/license
GET /api/v1/factory
Specials
GET /api/v1/gps-devices
GET /api/v1/low-power
GET /api/v1/simulators
GET /api/v1/reports/:kind
Auth
POST /api/v1/auth/login
POST /api/v1/auth/refresh
GET /api/v1/auth/me
MQTT

Topic conventions that scale to thousands.

Predictable topics make the rest easy: wildcards work, automations key off them, dashboards subscribe to whole sites in one line.

TopicPurpose
{project}/{room}/{device}/stateRetained device state — read on connect
{project}/{room}/{device}/telemetryLive readings (temp, W, position, etc.)
{project}/{room}/{device}/commandInbound commands — set state, fire action
{project}/{room}/{device}/eventDiscrete events — button press, alert, fault
{project}/{room}/{device}/healthRSSI · free heap · uptime · crash counter
{project}/+/+/stateSubscribe — every device in a project
START BUILDING
Open source on GitHub. Production‑ready SDKs.
Read the docs View on GitHub
17
REST resources
4
SDK languages
5
Boards supported
6
Lines to publish