The complete IoT
development platform

CLI, runtime, dashboard, and API — everything from first line of code to production fleet.

CLI

Full workflow from the terminal

One tool for the entire lifecycle: scaffold, develop, test, deploy, and flash.

devicesdk init Scaffold a new project with TypeScript config
devicesdk dev Local simulator with hot reload
devicesdk build Bundle your device script with esbuild
devicesdk deploy Push to the cloud in one command
devicesdk flash Write firmware to a connected Pico
Terminal
$ devicesdk init sensor-network
 Created devicesdk.ts
 Created src/devices/device.ts

$ devicesdk dev --port 8181
 Simulator running at localhost:8181

$ devicesdk deploy
 Built device.ts (42ms)
 Deployed to 3 devices

$ devicesdk flash
 Found RPI-RP2 at /Volumes/RPI-RP2
 Firmware flashed successfully
src/devices/thermostat.ts
import { DeviceEntrypoint } from "@devicesdk/runtime";

export default class Thermostat extends DeviceEntrypoint {
  // Called when device connects via WebSocket
  async onDeviceConnect() {
    // Monitor temp sensor on ADC pin 26
    await this.env.DEVICE.configureAdcMonitoring(26, {
      interval: 60000,
      onChange: true
    });
  }

  // Called for every device message
  async onMessage(message) {
    if (message.type === "adc_reading") {
      const temp = this.toTemp(message.payload.value);
      await this.env.DEVICE.kv.put("temp", temp);

      if (temp < 20) {
        await this.env.DEVICE.setGpioOutput(15, 1);
      }
    }
  }
}
Runtime

DeviceEntrypoint API

Extend DeviceEntrypoint and implement two lifecycle hooks. Your code runs on a globally distributed runtime — the device communicates via WebSocket.

onDeviceConnect()

Configure GPIO, I2C, ADC monitoring when the device first connects

onMessage(message)

Handle sensor readings, button presses, and all device events

this.env.DEVICE.kv

Type-safe key-value storage that persists across reboots

this.env.DEVICE.display

Fluent API for SSD1306 OLED drawing commands

Dashboard

Manage your fleet

Web dashboard at dash.devicesdk.com

Project management

Organize devices into projects with separate settings

Device inventory

See all devices, connection status, and last seen time

Script deployment

Upload and deploy scripts from the browser or API

Version history

Full deployment log with one-click rollback

API tokens

Create and revoke tokens for CLI and programmatic access

Google OAuth

Secure sign-in with session management

Hardware

Supported devices

Device Chip WiFi Status
Raspberry Pi Pico W RP2040 2.4 GHz Supported
Raspberry Pi Pico 2 W RP2350 2.4 GHz Supported
ESP32 ESP32 2.4 GHz Coming soon

Ready to build?

Get started with the CLI in under a minute.