Do you think programming an ESP32 is a good project for learning rust?
I’ve only barely scratched the surface there myself but, I absolutely do think so. For several reasons. First, ESP32 is one of the few series of MCUs that support the Rust stdlib. And learning what that entails for Rust is extremely helpful in conceptualizing build targets. Second, MCUs are a very constrained target for software/firmware. Getting comfortable there will likely improve your code efficiency in other code platforms as you are more likely to think about resource usage earlier. And third, there’s some pretty excellent docs and tutorials.
Any suggested place to start? (Tutorials, YouTube Vida etc)
For tutorials, my recommended starting point is with the official docs/books themselves:
I/O and logic for an MCU. The hardest bits, TBH, are already done with the ESP32 series MCUs, thanks to the efforts to get the Rust stdlib and HAL supported. So, the experience, code-wise, isn’t much different from Arduino or Micro/CircuitPython. Mostly, it’s down to syntax, flashing toolchain, and logic.
So, the experience is likely to be similar to development on with a full-fledged CPU/SoC target. I’d suggest that the experience of developing for an MCU, regardless of language, is likely to put one up against constraints that will make them think more about resource management considerations when approaching other target platforms.