Home - nathancharlesjones/Embedded-for-Everyone GitHub Wiki
The Embedded-for-Everyone git repository is a collection of resources for the hobbyists, students, teachers, and makers who want to develop professional-grade embedded systems but who lack the resources of a commercial enterprise. If you're tired of "printf" debugging or of projects whose cost is dominated by a $10-20 development board, or if you're interested in working with industry-relevant embedded systems, then this is the spot for you.
“I was taught to endure labor, to want little, and to do things myself.” –Marcus Aurelius1
It's assumed that the reader is familiar with embedded systems development and has already built a few projects using an introductory platform such as Arduino, Circuit Playground, or micro:bit. If, however, you've never built an embedded system in your life, then I do recommend starting by building a few projects with one of those "$10-20 development boards". Preferably one that comes in a kit or, at least, with a published book that has something like "getting started" or "beginning" in the title. Once you know how to write, compile, and download a basic program; how to wire up a basic circuit on a breadboard; and how to use peripherals like GPIO, UART, SPI, or I2C, then come back here.
Special thanks to my advisor, Professor Alexander Dean of North Carolina State University, for his guidance, counsel, and patience. Also to my wife and son for their love and support and for putting up with me this whole time.
More information about each PCB can be found at their respective git repositories:
IMAGE UNDER CONSTRUCTION
IMAGE UNDER CONSTRUCTION
Building "professional-grade embedded systems" requires three broad skill sets, which guide the organization of this repository:
- Getting to "Blinky" with a new microcontroller (MCU)
- Developing application code for (and debugging) an MCU
- Building a circuit on a PCB and connecting it to the rest of the embedded device
The rest of this site is organized so as to impart the things I've learned about each of these broad steps.
- The easiest MCU to start with when advancing beyond an educational platform
- 24+ hobbyist-friendly MCUs and development platforms for less than $8
-
How to set up the toolchains for, and blink an LED with, 6 MCUs that cost $6.12 or less
- Instructions for using 11 different toolchains
- 14 starter projects
- The 9 best debugging tips and the 4 best debugging tools to quickly locate errant bugs
-
How to create custom MCU breakout boards for less than $4, like:
- this STM32F0 breakout board for ~$3.00 from JLCPCB or
- this STM32G0 breakout board for ~$3.30 (also from JLCPCB).
- 4 custom stripboards and breadboard-style protoboards for ~$0.50 apiece
- Getting to "Blinky" with a new MCU
- Developing application code for (and debugging) an MCU
- Building a circuit on a PCB and connecting it to the rest of the embedded device
- Resources