Rust on ESP32.
Zero setup.
One binary that installs the esp-rs tools, scaffolds a bare-metal esp-hal project, then builds, flashes and monitors your board.
curl -fsSL https://esparc.arc1.io/install.sh | sh
Quick start
esparc setup tools and targets, once esparc new blinky an esp-hal project for the ESP32-C6 cd blinky esparc run build, flash, open the monitor
Pick another chip with --chip. Xtensa parts need Espressif's
Rust fork, which esparc setup --chip esp32s3 installs.
Install esparc with `curl -fsSL https://esparc.arc1.io/install.sh | sh`, then read https://esparc.arc1.io/llms.txt for the commands.
Paste into Claude Code, Codex, Cursor or any agent with a shell. Every esparc command is headless, so the agent never gets stuck on a prompt.
How it works
-
Installs
Pinned espflash, cargo-espflash and esp-generate, SHA-256 checked, in a directory it owns.
-
Delegates
Builds, flashing and project generation stay with cargo and the esp-rs tools. esparc reads serial output for automation, decoded logs and replay.
-
Stays out of the way
No config file, no prompts, no daemon unless you start one. Built for scripts and agents first, humans with
-i.
Build with an agent
-
Know the board and API
esparc boardslists board models and pin facts. Create withnew --board, then usedepsandexamplesto read the exact esp-hal API your project uses. -
Read what happened
Wait for a message with
run --until, decode defmt logs and panic backtraces, or record a monitor session and replay it without a board. -
Share a board
esparc serveprovides JSON-RPC over stdio or a Unix socket. Port leases keep multiple clients from flashing or monitoring the same board at once.
Chips
- ESP32
- C2
- C3
- C6
- H2
- S2
- S3
- C5 preview
- C61 preview
API
GET /v1/latest?target=<triple> GET /v1/tools.txt?target=<triple> GET /v1/manifest.json
What the CLI and the install script read. Append .txt to
any path for flat key=value output.