about

The forty-minute setup guide, deleted.

Embedded Rust is wonderful. Getting to a blinking LED is not: a cross-compiler, a flashing tool, udev rules, a target spec, and forty minutes of a guide that assumes last year's versions. esp32.rs exists to make the first blink take one minute, in a browser tab.


How it works

01

You write real no_std Rust

The Playground is a plain editor over a plain cargo project — the same esp-hal code you would write locally, not a dialect and not a simulator.

02

A real build farm compiles it

Your sources go to a build farm where an actual Rust toolchain compiles them in an isolated sandbox. Builds are content-addressed: unchanged code is served from cache instantly, and a warm build lands in seconds.

03

Your browser flashes the board

The firmware comes back to the browser, which writes it to the ESP32 on your desk over Web Serial and opens a serial monitor. The hardware is yours; the toolchain is nobody's problem.


Plain facts
  • Anonymous by design — there is no account to create, and saved sketches are private behind unguessable URLs until you choose to publish them.
  • Six ESP32 targets, from the original ESP32 to the C3, C6, H2, S2 and S3 — with a flasher that refuses to write the wrong image to the wrong chip.
  • Built on the same stack it serves: the backend is Rust, and the build farm compiles untrusted code inside gVisor sandboxes, isolated from everything else.
  • Not a simulator. Every build is a real binary, and the LED that blinks is on your desk.

The rest is easier shown than told.

esp32.rs — embedded Rust compiled remotely, flashed locally. About · FAQ