Hardware/knowledge requirements

The only "knowledge requirement" to read this book is to know "some" Rust. It's hard for me to quantify "some" but at least I can tell you that you don't need to grok generics but you do need to know how to use closures.

Also, to follow this material you'll need the following hardware:

(Some components are optional but recommended)

(You can purchase this board from "big" electronics suppliers or from e-commerce sites)

  • OPTIONAL. A 3.3V USB <-> Serial module. This particular model will be used throughout this material but you can use any other model as long as it operates at 3.3V.

(Although I haven't tried it myself, the (Chinese) CH340G module, which you can buy e-commerce sites, should work too)

  • OPTIONAL. A HC-05 Bluetooth module (with headers!). A HC-06 would work too.

(As with other Chinese parts, you pretty much can only find these on e-commerce sites. (US) Electronics suppliers don't usually stock these for some reason)

  • Two mini-B USB cables. One is required to make the STM32F3DISCOVERY board work. The other is only required if you have the Serial <-> USB module.

NOTE These are not the USB cables that ship with pretty much every Android phone; those are micro USB cables. Make sure you have the right thing!

  • OPTIONAL. 4 Female to Female, 4 Male to Female and 1 Male to Male jumper (or "Dupont") wires. Only if you'll be using the USB <-> Serial and Bluetooth modules.

(You can get these from electronics suppliers or from e-commerce sites)

FAQ: Wait, why do I need this specific hardware?

It makes my life and yours much easier.

The material is much, much more approachable if we don't have to worry about hardware differences. Trust me on this one.

FAQ: Can I follow this material with a different development board?

Maybe? It depends mainly on two things: your previous experience with microcontrollers and/or whether there already exists a high level crate, like the f3, for your development board somewhere.

Regardless, with a different development board, this text would lose most if not all its beginner friendliness and "easy to follow"-ness, IMO.

If you have a different development board and you don't consider yourself a total beginner, you are better off reading the Copper book which approaches the Rust on microcontrollers topic in a bottom-up and device agnostic way. Or, maybe even just read the source of the f3 crate.