Rust on ESP32

Definitions

ESP-NOW

std vs no_std

std is a richer environment, providing access to everything that IDF handles. Abstracts a bunch of stuff

no_std still supports WiFI/BLE/ESP-NOW which is good, more direct hardware access, smaller footprint and real-time

Setting up for development

Most of the newer devices are RISC-V, so follow these instructions: https://docs.esp-rs.org/book/installation/riscv.html

For std applications, follow https://docs.esp-rs.org/book/installation/std-requirements.html also

Maybe consider using containers: https://docs.esp-rs.org/book/installation/using-containers.html

cargo install cargo-espflash espflash ldproxy
cargo install probe-rs --features cli
apt install clang libclang-dev

Starting a new project

cargo generate esp-rs/esp-idf-template

Resources / References