esparc

github

Rust on ESP32 with zero setup. One binary installs the esp-rs tools, scaffolds a bare-metal esp-hal project, then builds, flashes and monitors your board. It does not reimplement the toolchain, it drives espflash, esp-generate and cargo.

curl -fsSL https://esparc.arc1.io/install.sh | sh

quick start

esparc setup
esparc new blinky
cd blinky
esparc run

setup puts espflash, cargo-espflash and esp-generate in ~/.esparc/bin and adds the RISC-V targets to rustup. new scaffolds an esp-hal project for the ESP32-C6 (--chip for another), and run builds, flashes and opens the serial monitor. Xtensa chips need Espressif's Rust fork:

esparc setup --chip esp32s3

updating

esparc checks once a day in the background and verifies the SHA-256 of every download before it replaces the binary. Re-running esparc setup updates the tools.

esparc update

api

The same endpoints the CLI and the install script read. Every path also answers in flat key=value text with .txt appended.

GET /v1/latest?target=aarch64-apple-darwin
GET /v1/latest.txt?target=<triple>&current=<version>
GET /v1/tools.txt?target=<triple>
GET /v1/manifest.json
GET /v1/download/<version>/<file>
GET /v1/download/tools/<tool>/<version>/<file>