finds.dev← search

// the find

ivmarkov/rust-esp32-std-demo

★ 808 · Rust · Apache-2.0 · updated Aug 2024

Rust on ESP32 STD demo app. A demo STD binary crate for the ESP32[XX] and ESP-IDF, which connects to WiFi, Ethernet, drives a small HTTP server and draws on a LED screen.

A demo app showing Rust running on ESP32 microcontrollers with WiFi, Ethernet, HTTP server, and LED display — all via pure Cargo, no CMake or PlatformIO. It's been officially deprecated by its own author in favor of examples living directly in the esp-idf-svc/esp-idf-hal/esp-idf-sys crates. Worth reading for orientation, not for starting a new project.

Pure Cargo build with no CMake wrapping is a genuine win — the embedded Rust ecosystem spent years fighting this problem. The STD support (real threads, TCP/IP) rather than no_std makes the code readable to anyone coming from normal Rust. QEMU support for running without physical hardware is useful for CI and initial exploration. Feature flags for multiple board targets (TTGO, Waveshare, Kaluga, etc.) in one codebase demonstrates how to structure multi-target embedded Rust properly.

Explicitly deprecated — the README says so in bold and mentions archiving soon. Last pushed August 2024. If you clone this and build a project on it, you're starting from a dead end; the right move is esp-idf-template instead. The toolchain setup is still non-trivial: you need the Espressif LLVM fork for Xtensa targets (not upstream), and Bindgen will silently pick the wrong system Clang if you have one installed — that's a silent failure that will cost you an hour. Single main.rs with everything crammed in is fine for a demo but teaches nothing about structuring a real embedded project.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →