# microsoft/devicescript

TypeScript for Tiny IoT Devices (ESP32, RP2040, ...)

Repository: https://github.com/microsoft/devicescript
Canonical: https://ross.abutalabs.com/products/devicescript
Language: TypeScript
License: MIT
License Family: permissive
Topics: embedded, iot, jacdac, esp32, rp2040, typescript, devicescript
Archived: true
Last push: 2024-10-24T01:25:33+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 1633, "days_push": 679, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3447, forks 128 (observed 2026-08-28T04:08:05.201863+00:00)

## What it is
DeviceScript is a TypeScript-based language and toolchain from Microsoft Research for programming low-resource microcontrollers like ESP32 and RP2040. It compiles TypeScript to a custom VM bytecode that runs in very constrained embedded environments.

## Use cases
- program esp32 with typescript
- write firmware for rp2040 in typescript
- develop iot device code without c
- run scripts on tiny microcontrollers
- build jacdac sensor devices
- typescript development experience for embedded hardware

## When to choose
- you know TypeScript and want to target microcontrollers
- you're building small IoT or Jacdac-based devices
- you want a higher-level alternative to C/C++ embedded development

## When to avoid
- you need production-grade, mature embedded tooling
- you require maximum performance or fine-grained hardware control
- your target hardware is not supported by the DeviceScript VM

## Facets
- artifact type: framework
- maturity: experimental
- function: compiler, programming-language, embedded, iot, developer-tools
- domain: iot, embedded-systems, programming-languages, compilers, hardware
- platform: embedded, iot, cross-platform, cli
- tags: typescript, microcontrollers, esp32, rp2040, bytecode-vm, jacdac, microsoft-research

## Member repositories
- microsoft/devicescript (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:05.201863+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:37:36.387056+00:00, confidence not recorded.
  - readme: https://github.com/microsoft/devicescript (fetched 2026-08-28T04:08:05.201863+00:00, sha f59d01733c83)
- Data as of 2026-08-30T08:39:29.467469+00:00.
