This is a companion repository for Making Embedded Systems, 2nd Ed. by Elecia White.
In order of when they appear in the book:
- Example Schematic FIXME
- Slides that show the progression from Arduino Block Diagram to Schematic to Board
- Ardunio Schematic on its own was obtained from Arduino
- ATmega328 Datasheet (obtained from Microchip)
- Command and Response Example (FIXME folder) and on Wokwi with the Raspberry Pi Pico C SDK. Of course, there are ways to go well beyond this simple command interpreter including MicroPython and the command line already part of the Zephry RTOS.
EE Basics:
- Make: Electronics by Charles Platt is a good getting-started-with electronics book.
- Forest Mims books are classic, they tend to have a solution for any given problem
- Free textbook for Electrical Engineering & Electronics
- Combinational Logic Circuits using Logic Gates
- For learning to make boards, try out Getting to Blinky by Contextual Electronics, a good place for how-to electronics education
- ConnectorBook.com has a wealth of information about what kinds of connectors are out there. I particularly like the connector identification tool that lets you mouse over types of connectors to get pictures, then click down until you find the one you are looking for.
- Handy python tool for making cables diagrams WireViz
- nand2tetris is a series of lectures and projects about how to go from logic gates to software ( there is a book that is part of this as well: The Elements of Computing Systems: Building a Modern Computer from First Principles )
- Human Resource Machine by Tomorrow Corporation is about optimizing resources, it turns out to be a lot like assembly programming.
- Turing Complete shows how logic and logic gates work, building up a processor.
- Zachtronics’ TIS-100 is another logic and processor design game. It is a little ugly in spots (too real world) but it is a really deep dive into learning assembly. It is the precursor to Shenzhen IO but harder to finish.
- Zachtronics’ Shenzhen IO is about circuits and how they work .
The book doesn't cover logic gates or assembly so this is all about the amusement. These games are all good for building intuition about the lowest layers of what the computer is doing. I mean, if they aren't fun, don't continue, they aren't lessons. But if they are fun and you progress through the levels, you'll learn more about the lower levels of processors and how they work which will look familiar if you work with them.
If you want to get a broad overview of a bunch of different boards, look at the MicroMadness Spreadsheet. Find 32 (or 16) friends/classmates. Randomly assign dev boards. Go off and look up some basic information about the dev board. Then have the boards compete based on the arbitrary (and randomly chosen) criteria. When a board loses a round, the "owner" becomes part of the winning team to help look up data.
The winner (and their newly formed team) gets bragging rights.
- Command and Response Example (FIXME folder) and on Wokwi with the Raspberry Pi Pico C SDK.
FIXME Not implemented. Planning to have examples for:
- Flash test
- Error handling
The ARM GNU toolchain is very popular and can be run under Visual Studio Code. It may also be run underneath some other IDEs.
If you like what's here, please consider buying the book: Making Embedded Systems, 2nd Ed. by Elecia White