This is a companion repository for Making Embedded Systems, 2nd Ed. by Elecia White.
Some tools for creating system and block diagrams:
- My favorite is Mermaid Markdown which can be created with text and used in Readme.md files. You can use it live: mermaid.live
- draw.io makes online flowcharts and diagrams (its code), no signup
- LucidChart is also very popular
- asciiflow.com creates diagrams that can be output to ASCII
The C4 Model of diagramming systems is different from the approach used in Elecia’s book but it is very useful. It focuses more on large scale software. See Wikipedia and a good blog post from InfoQ
Also the The Art of Crafting Architectural Diagrams blog post describes some pitfalls and best practices.
STMicroelectronics has many popular processors. They also have a great deal of code on their github repository. Start with the top-level microcontroller repository and then dig into the HAL or BSP or CMSIS for a processor that interests you.
Initially, the goal is just to figure out how it is all put together. Remember that you probably only care about the processor and features you want to use but they are trying to support hundreds of processor variants in many different markets. There is a reason it is so complicated.
FIXME Not implemented. Planning to have examples for:
- Singleton
- Sandbox
- MVC
- Logging Interface
- Learn Git Branching is a puzzle solving tutorial game.
- Oh My Git is a game with virtual playing cards and repo visualization
- Zen of Git video is a great talk by Tianyu Pu on the internals of git (and you thought the user interface was complicated!😊).
If you like what's here, please consider buying the book: Making Embedded Systems, 2nd Ed. by Elecia White