4 ms·
I haven't done much with it yet, but I'm excited about the bare-metal (no_std) rust support for the esp32c3 (as opposed to some other variants that require a cu
by n8henrie 3y ago
I haven't done much with it yet, but I'm excited about the bare-metal (no_std) rust support for the esp32c3 (as opposed to some other variants that require a custom toolchain as I understand it).
Lots of details at <https://mabez.dev/blog/posts/ https://mabez.dev/blog/posts/>, and some examples of wifi on bare-metal at <https://github.com/esp-rs/esp-wifi https://github.com/esp-rs/esp-wifi>.
I hope to eventually get it working with MQTT (there may be examples already, I haven't yet looked in-depth), at which point I think this will be my go-to for the majority of my IOT projects going forward!
- lelanthran 3y agoThe IDF for the c3 already comes with libraries for client mqtt. In fact it comes with libraries for most useful things. Don't think those libraries will be callable from plain rust. Might need some elbow grease to use all the bundled C3 functions from rust.
- bryal 3y agoThey are callable from plain Rust. See the crate `esp-idf-sys` [1]. I'm using ESP32-C3, Rust, and the IDF for a DIY RGB room lighting solution [2]. Convenient MQTT and OTA updates -- it's great! Espressif and the Rust community have done an amazing job. But I'd also love to be able to do the project without ESP IDF, using `no_std` and smaller specific crates instead. The solution for using ESP IDF in Rust is fairly convenient, but it does require some extra steps and the disk usage is not insignificant. A pure Rust solution would be more elegant. [1] https://esp-rs.github.io/esp-idf-svc/esp_idf_svc/mqtt/client/index.html https://esp-rs.github.io/esp-idf-svc/esp_idf_svc/mqtt/client... [2] https://git.sr.ht/~jojo/huelia/tree/esp32-c3_and_mqtt/item/performer https://git.sr.ht/~jojo/huelia/tree/esp32-c3_and_mqtt/item/p...