// the find
esp-rs/espup
Tool for installing and maintaining Espressif Rust ecosystem.
espup is rustup's counterpart for the Espressif ESP32 ecosystem — it handles the messy parts of getting Rust working on Xtensa chips, which require a forked compiler that isn't in upstream rustup. If you want to write Rust for ESP32, this is the official path managed by the esp-rs team at Espressif.
The split between Xtensa (forked compiler, custom LLVM) and RISC-V targets (stable toolchain) is handled transparently — the tool knows which chip needs which compiler without you having to. Shell completion support covers Bash, Zsh, Fish, PowerShell, and NuShell, which is more thorough than most CLI tools bother with. The `--targets` flag lets you install only what you need instead of pulling the full multi-gigabyte toolchain for every chip variant. CI guidance is solid — the explicit warning about GITHUB_TOKEN interactions with rate limiting saves real debugging time.
The environment variable sourcing story on Unix is clunky: you have to remember to run `. $HOME/export-esp.sh` in every shell, or manually add it to your profile, which will catch out anyone used to rustup just working. The `update` subcommand's target list is missing `esp32p4` while `install` has it — that inconsistency will bite early adopters of the newer chip. No offline or cached install mode means a flaky network during toolchain setup is a real problem, especially in CI without the dedicated xtensa-toolchain action. At 430 stars the ecosystem is small, so if something breaks with a new Rust nightly or a host OS update, you may be waiting a while for a fix.