Learn how to design embedded systems the sane way: on your Linux host, with modern C++, predictable timing, clean interfaces, and no unnecessary complexity.
With more than 1200 microcontrollers, STM32 is probably the most complete ARM Cortex-M platform on the market. This book aims to be the most complete guide around introducing the reader to this exciting MCU portfolio from ST Microelectronics and its official CubeHAL and STM32CubeIDE development environment.
This practical guide gives you the skills to write efficient, reliable, and scalable firmware for modern microcontrollers and connected devices. Designed for developers with a working knowledge of C++, this book bridges the gap between theory and applied embedded development.
"Wired Protocols in Embedded Systems" is your essential guide to understanding how wired communication works in embedded systems. From UART and SPI to I²C and CAN, this book explains the core principles, advantages, and limitations of each protocol. Whether you're an embedded engineer, firmware developer, or Arduino enthusiast, you'll gain the knowledge needed to choose and implement the right protocol for your project.
Learn C by proving your code correct before you write it. The same methodology behind certified aerospace and medical systems - now applied to learning C from the ground up.
WARNING: The main goal of this book is to test Leanpub functionality, and all the information in this book can be found in my articles for the Interrupt by Memfault and PlatformIO blogs.So, there is no need to buy this book—you should only do so if you prefer reading information in book format or if you just want to buy me a coffee. :) This book is a collection of my articles originally published in the blogs Interrupt by Memfault and PlatformIO with some additional edits and enhancements. A unique feature of this book is the extensive use of GIF animations and videos to visually demonstrate key concepts and processes. However, since not all EPUB readers support GIF and video playback, each animation and video is accompanied by a link to an external resource. Readers can follow these links to view the corresponding content and enhance their understanding. Repo with all GIF animation: https://github.com/Zamuhrishka/diving-into-jtag-book-animations
If You’re Designing Edge Systems the Way Blog Posts Describe Them…You’re Already Behind.Most edge computing material sounds impressive—until you try to deploy it at scale.Then the failures show up: Latency explodes. State breaks. Control planes collapse. Security assumptions fail. Operations become unmanageable.That’s because edge computing is not a product category. It’s a large-scale distributed systems problem—with harsher constraints than the cloud.This book is written for people who actually have to make those systems work.
Most programmers never touch the machine.They live inside frameworks. They trust kernels. They inherit latency, abstraction, and hidden behavior they do not control.And they call that “systems programming.”Bare Metal Computing With X64 — Low Level Coding of Native Instructions is for the engineer who wants authority, not convenience
You’ve mastered the architecture—now it’s time to own the performance.Every GPU developer hits the same wall: the profiler says you’re close to peak, but you know there’s still headroom. What’s missing isn’t another compiler flag—it’s visibility into the hardware’s final truth.
If you’ve ever wondered why your GPU code hits a wall long before the hardware’s limits, this book tells you why—and how to break through it.Most programmers stop where the compiler starts. They trust nvcc to make the right decisions, to manage registers, to schedule instructions, and to use memory efficiently. But the compiler doesn’t know your problem. It guesses. And in GPU computing, guessing costs performance.
Stop writing code that only works on your laptop.Your O(n²) sorting algorithm runs fine on an i9 processor. But on a Cortex-M4 with 2KB of RAM? It crashes the stack.AlgoEmbedded is the first textbook that stops teaching "Computer Science" and starts teaching Embedded Engineering. Learn how to adapt standard algorithms for the constraints of the real world.
Learn C the right way—clearly, compactly, and with complete examples. This book focuses on core concepts, practical code, and real program output, making it ideal for readers who value clarity over verbosity.
This book is about thinking clearly in C. It teaches the mental habits behind safe memory use, careful pointer handling, robust error strategies, effective debugging, and clean interface design. It is written for programmers who want to write C code that remains correct, efficient, and understandable over time.
Stop Reading 3,000-Page Manuals. Start Seeing the Architecture.
Embedded security is an architecture problem, not a checklist.This book shows how to build a coherent security design for real devices: what embedded cybersecurity means, why it’s different in embedded systems (constraints, lifecycle, physical access, limited patching), and how to turn that into practical design decisions. You’ll learn threat modeling and trust boundaries, then the core mechanisms that must work together: secure boot and root of trust, key management, secure communication, and robust firmware updates. Early access: updated regularly as new chapters and examples are added. Purchasers receive updates.