Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

For what it's worth, the entire esp32 family is officially supported in Rust by espressif themselves [1], and the stm32 family is probably one of the most widely used cortex-m families in embedded Rust as well[2].

[1]: https://github.com/esp-rs

[2]: https://github.com/stm32-rs



Right, though Espressif's official support for anything should be taken somewhat with a grain of salt ;)

Having used their tools at work in anger for years at this point, there is a lot of gotchas, issues and bugs with their bindings at this point -- not all of which is Rust's fault, but the underlying problems with ESP-IDF itself.

That said, its getting better over time, so I'm keeping a close eye on it (and we keep some experimental projects up to test it every couple of months).

The upside of Nim is that "it's just C" at the end, with all the upsides and downsides that comes with.

I'm very hopeful though!

Edit to add: We started this project quite a while ago, too, which forced our hands. Writing unsafe Rust is a pain, so I didn't want to take the burden on for managing bindings myself at the start. If we were to start again, maybe we'd have made a different choice, but Nim at least eased the pain quite a bit.


Doesn't the ESP32C3 have native rust support -- no esp-idf or espressif official support concerns need apply? Are you stuck on the S3 exclusively?


We are stuck on the S3, yeah. The C3 is lovely, but doesn’t have everything we require, at least currently. Might change in the future but not right now.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: