I've learned the basics of Rust (ownership, borrowing, structs, enums, error handling with Result). Now I want to use Rust for two things:
AI / machine learning
Robotics (Arduino, ESP32, and eventually more advanced hardware)
I don't want to study random parts of Rust that I'll never use for these two goals. I'd rather know the specific concepts, crates (libraries), or areas to go deep on for each one, and skip what's not relevant.
Can anyone who has done AI or robotics/embedded work in Rust point me toward:
What to learn next after the basics
Which crates/libraries are actually used for this in real projects
Any common beginner mistakes or wasted time to avoid
For low level programming you may need to learn more about unsafe if you need to interact directly with the hardware. However, there are existing hardware abstraction libraries, so you may not even need to do very low level programming yourself.
I work on AI + Robotics + Embedded. Each of them is a very broad field. Thus, it is hard to point to any crate in particular; there are hundreds of crates, each with its pros and cons, and depending on your needs, a niche crate may be more suitable than a popular one. In general, I would say: start with a project that interest you and use lib.rs to narrow down candidate crates. Maybe if you share what you have in mind (your interests, a project), people may be able to give more relevant recommendations.
Anyway, you mentioned ESP32: You could start with Rust on ESP book . You may learn a lot on how Rust + Embedded work together. Note that Espressif is one of the few companies offering official supported Rust HAL on its MCUs.
Note: the above post was flagged as LLM generated, but it was actually written by me (my own thoughts, with my human fingers typing on a keyboard). Granted, it does look like an LLM output. It is just how I write (sometimes, I also add emojis here and there). Thanks to the mods though, telling what is AI-slop and what is human is sometimes hard.