Demystifying Embedded Electronics: Your Gateway to Simplicity
It's probably no secret that I am a huge advocate of Rust in Embedded. I've been blogging Rust material for 1.5+ years now. As a result, this comes as quite an unusual post because it's not really about Rust. It's about embedded electronics. Interestingly enough the content of this post emerges from a need I realized among beginners in the embedded Rust community. To reduce the entry barrier into embedded electronics.
Those already in embedded know that traditionally the usual path into embedded is through languages like C and C++. Nevertheless, I noticed there has been a growing number of non-embedded Rust developers who developed an interest in embedded because of Rust. Naturally, one coming from a software development world would not have had much engagement with hardware. Setting up a toolchain might be manageable but then comes the part where microcontroller pins need to be configured. Foreign terms like pull-up, pull-down, PWM, open drain, and Push-pull among others start appearing. That's the point where a new embedded developer has to go on possibly a several-hour campaign trying to make sense of each term.
The world of electronics is incredibly vast. Though the thing is to get started with embedded development, you don't need it all. You only need to know enough to understand how to interface with the outer world. Given these reasons, I figured creating a focused compact resource would be, I hope, a lot of help. For that, I chose the title: "Wired World: A Beginner's Guide to Embedded Electronic Interfaces".
Wired World: A Beginner's Guide to Embedded Electronic Interfaces
About the Book
Many resources about electronics make the mistake of tackling too much at once. This is overwhelming for an embedded beginner and could deter one from proceeding. Moreover, if you want to focus on embedded software, you’re probably not going to design much hardware, if any. Instead, you probably want to focus on understanding what the hardware does. To achieve that, in the world of electronics, there exists a subset of knowledge that covers a huge part of what one needs to get started. This subset is not as complicated as is typically conceived.
This probably holds true in every field of electronics. For example, RF electronics is probably one of the toughest given its involved and sensitive nature. Believe it or not, Michael Ossmann, the creator of the famous HackRF One, comes from a non-engineering background. Watch his talk below on how RF design doesn't have to be hard either:
In the context of embedded, electronics knowledge can be focused toward interfacing a microcontroller with the outer world. This translates into using electronics to make outer world inputs and outputs compatible with microcontroller pins. This book focuses on the most common electronic circuits used to achieve this compatibility. These circuits are not necessarily complicated in nature but rather focus on addressing compatibility issues. Additionally, at the beginning of one’s journey, the goal is not necessarily to design but rather to understand the circuits. This knowledge is most of what a starting embedded beginner or software developer would need.
Why Not Free?
I understand that in the age of abundant online content, the expectation is often that information should be freely available. However, creating resources like this requires an immense amount of time, research, and dedication. I invested many hours into distilling complex concepts into an accessible format tailored for beginners and software developers. Beyond this book, I've been actively contributing to the community by blogging educational materials for embedded Rust programming.
By making this book available for purchase, I am seeking your partnership in sustaining the effort to provide quality educational resources. Your purchase not only supports the existing work but also fuels future projects. It allows me to continue dedicating my time to researching, creating, and sharing knowledge with the community.
Want it for Free? There's a Launch Event
As a launch event, there is a free option for those who share The Embedded Rustacean newsletter with 5 others. Because, well, the world needs to know how good Rust is for embedded 😀
Who the Book is For?
The book is ideal for you if you are:
A Software Engineer interested in embedded
An embedded Software Engineer curious about hardware/electronics
An embedded beginner
What Background Do I Need?
All you need is a basic understanding of electrical circuits and microcontrollers. This includes basic knowledge of what components like resistors and capacitors are. This is in addition to concepts like Ohm’s Law.
As the title implies, the focus of the book is electronic interfaces. As such, the book takes a particular focus on interfacing peripherals, through microcontroller pins, to the outer world. The book covers the most common peripherals out there:
The book also tackles the following topics:
At the end of several chapters, there are review questions and Tinkercad interactive simulation examples. These should help solidify understanding.
In the final chapter, the knowledge is all rectified through a real-world schematic example. I show how you can grab a schematic of an embedded development board and read into the different interfaces and what they do.
I hope that you will find this book enjoyable.
In conclusion, "Wired World: A Beginner's Guide to Embedded Electronic Interfaces" is not just a book; it's a bridge from confusion to clarity, from complexity to simplicity. By investing in this resource, you're not just buying a book; you're supporting a commitment to accessible education in the world of embedded systems. Together, we can demystify the intricacies, empowering beginners and software developers to dive fearlessly into the realm of embedded electronics. Thank you for being a part of this transformative journey. Happy learning!
Did you find this article valuable?
Support Omar Hiari by becoming a sponsor. Any amount is appreciated!