Rust on ESP32

These are my personal notes on playing with an ESP32 (LilyGo T-Display S3) with Rust.

For the setup, I follow the Rust on ESP Book.

cargo install espup
espup install
. /home/stefan/export-esp.sh

New Project. We start with esp-idf first.

cargo install cargo-generate
cargo install cargo-espflash
cargo install ldproxy

Required for Linux according to this

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
cd projects/RustProjects
cargo generate esp-rs/esp-idf-template cargo

esp32-first.png

This generates the boilerplate for us.

Docs

ESP-S3 IDF

Troubleshooting

I was not able to do

cargo install espflash

for the 3.1.1 release.

So I downloaded the cargo-espflash pre-build binary release into my ~/bin Folder.

Another way is to download the espflash repository from GitHub and do a cargo build there and copy the final files from the target/release folder to some folder on your PATH.