Home
This course is intended to be a starting off point into embedded systems. If you are just starting, the first chapter will walk you through your environment setup and provide a supply list with links to an online supplier. You are reading a book hosted on GitHub Pages, the source code and examples are hosted here.
A few common questions:
Is this for me?
- This course is for people that already have experience programming that want an overview of embedded development.
- This course is not for people trying to explicitly learn Rust, it is an embedded course that just so happens to use Rust.
Are we going to be covering X feature?
- This course is supposed to be as simple as possible so likely not, however, I am more than willing to explore anything that has sufficient interest.
How should I edit this code?
- Use whatever editor you are comfortable with. If you do not have a preference, VSCode is a great place to start.
- Ensure that whatever editor you choose can utilize the Rust Analyzer LSP.
How should I follow along the exercises?
- I suggest that you avoid pulling the repository and just using the code as is. Walking through the chapters should give you enough information to program most of the functionality yourself.
- It is however, totally fine to pull the repository to take advantage of the configuration that has been done for different IDEs and the probe.
- The completed code along with all the required configuration is in the repo if you get stuck on anything in the course.
Why Rust?
- The Rust compiler's strict nature makes whole classes of errors difficult or impossible to come across. This particularly benefits students and empowers professionals alike.
- The dependency ecosystem of Rust, while immature compared to C, is amazingly easy to use compared to some of the development environments that hardware manufacturers put together. I wanted to be able to step up the ladder of abstraction in a way that not many environments allow for.
- I like Rust, and I am writing this, so I will use what I want.