Everything you need to build
production IoT applications

A complete platform for building, deploying, and managing IoT devices with TypeScript.

CLI Tools

Powerful command-line interface

Everything you need for the entire development workflow in one tool.

  • Project initialization

    Scaffold new projects instantly with templates

  • Local development

    Built-in simulator for testing without hardware

  • One-command deployment

    Build and push to production in seconds

  • Firmware flashing

    Direct Raspberry Pi Pico support

Terminal
# Initialize a new project
$ devicesdk init sensor-network
 Created devicesdk.ts
 Created src/devices/device.ts

# Start local development
$ devicesdk dev --port 8181
 Simulator running...

# Deploy to production
$ devicesdk deploy --device temp-sensor
 Deployed version 1.2.0

# Flash firmware to device
$ devicesdk flash pico-1
 Firmware flashed successfully
src/devices/thermostat.ts
import { DeviceEntrypoint } from "@devicesdk/runtime";

export default class Thermostat extends DeviceEntrypoint {
  async onDeviceConnect() {
    // Monitor temperature sensor
    await this.env.DEVICE.configureAdcMonitoring(26, {
      interval: 60000, // Every minute
      onChange: true
    });
  }

  async onMessage(message) {
    if (message.type === "adc_reading") {
      const temp = this.toTemperature(message.payload.value);

      // Store in device KV
      await this.env.DEVICE.kv.put("temp", temp);

      // Control heating based on temp
      if (temp < 20) {
        await this.env.DEVICE.setGpioState(15, "high");
      }
    }
  }
}
Runtime

TypeScript runtime for devices

Write device logic in TypeScript with a simple, familiar API.

  • DeviceEntrypoint class

    Simple lifecycle hooks: onDeviceConnect, onMessage

  • GPIO control

    Digital I/O, analog inputs, PWM output

  • I2C & SPI support

    Talk to sensors and peripherals

  • Device KV storage

    Persistent state management per device

Dashboard

Manage your entire fleet

A powerful web dashboard for managing projects, devices, scripts, and deployments.

Project Management

Organize devices by project with full CRUD operations.

Device Inventory

See all devices, their status, and last connection time.

Script Deployment

Upload and deploy code directly from the browser.

Version History

Full deployment history with one-click rollback.

API Tokens

Create and manage API tokens for automation.

Real-Time Status

Live online/offline indicators for all devices.

API

RESTful API for everything

Full programmatic control over your devices and deployments.

  • Device management

    CRUD operations for all devices

  • Script deployment

    Upload and deploy programmatically

  • OAuth & token auth

    Secure authentication flows

API Example
# List all devices
GET /v1/projects/my-project/devices

# Deploy a script
PUT /v1/projects/my-project/devices/sensor-1/script
Content-Type: multipart/form-data
Authorization: Bearer $TOKEN

# Download firmware
POST /v1/projects/my-project/devices/pico-1/firmware
Hardware

Supported hardware

Start building with popular microcontrollers, with more coming soon.

Raspberry Pi Pico W

RP2040 with WiFi

Supported

Raspberry Pi Pico 2 W

RP2350 with WiFi

Supported

More hardware support coming soon, including ESP32 family.

Ready to build?

Start building IoT applications in minutes.