EmbeddedRelated.com
The 2026 Embedded Online Conference

“Smarter” cars, unintended acceleration – and unintended consequences

Michael J. PontMichael J. Pont October 20, 2015

Smarter cars are arriving fast, but the software tricks behind them may be creating new safety and compliance risks. This post connects Tesla’s autopilot, the VW emissions scandal, and a reported Porsche throttle-delay case to ask whether automotive standards and regulations are keeping pace with increasingly intelligent vehicle control systems.


Important Programming Concepts (Even on Embedded Systems) Part V: State Machines

Jason SachsJason Sachs January 5, 20158 comments

State machines are not glamorous, but they solve a lot of real embedded problems. Jason Sachs uses a motorized couch example to show how FSMs and Harel statecharts expose corner cases, simplify timing constraints, and make behavior easier to specify and review. The article walks through hand-rolled switches, tabular implementations, the state pattern, libraries like QP and Boost, and tool tradeoffs.


Important Programming Concepts (Even on Embedded Systems) Part IV: Singletons

Jason SachsJason Sachs November 11, 20142 comments

Singletons are convenient but often a modularity killer, especially in embedded firmware. Jason Sachs walks through the many faces of singletons, from static members and globals to hardware registers and user-visible application singletons, and shows practical ways to avoid tight coupling. Read this for concrete embedded examples and pragmatic fixes like passing state explicitly, using interfaces or factories, and isolating unavoidable globals in a HAL.


The CRC Wild Goose Chase: PPP Does What?!?!?!

Jason SachsJason Sachs October 23, 20142 comments

Jason Sachs walks through a CRC rabbit hole and explains why ambiguous CRC names and incomplete specs lead to subtle protocol bugs. He demonstrates how XMODEM and KERMIT variants with a zero initial value can miss dropped leading-zero bytes, praises the X.25 standard for providing test vectors and a clear CRC16 definition, and warns that RFCs that ship only sample code are a poor substitute for a proper specification.


Important Programming Concepts (Even on Embedded Systems) Part III: Volatility

Jason SachsJason Sachs October 10, 2014

Jason Sachs takes volatility out of the basement and into practical embedded programming. He shows why data that can change outside your thread of control breaks assumptions, how the volatile qualifier in C/C++ and Java affects compiler and CPU behavior, and when to prefer shadow registers, locks, or proper concurrency libraries instead of ad hoc volatile usage.


Important Programming Concepts (Even on Embedded Systems) Part II: Immutability

Jason SachsJason Sachs September 14, 2014

Immutable data can make embedded code easier to reason about, reduce concurrency bugs, and eliminate defensive copies. Jason Sachs walks through practical techniques that work in resource-constrained systems, from using const and pseudo-immutability to separating old and new state, to the limits of fully persistent data structures when you lack dynamic memory. The article also compares register-level state flow and advocates message passing as a concurrency alternative.


Important Programming Concepts (Even on Embedded Systems) Part I: Idempotence

Jason SachsJason Sachs August 26, 20145 comments

Idempotence is a simple design principle that prevents duplicate effects when operations are retried or repeated. Jason Sachs shows why it matters in embedded systems, from HTTP submit buttons and capacitive touch inputs to garage-door remotes and SPI DAC writes. Read this post to learn three practical idempotent techniques and when redundant writes are a sensible reliability trade-off.


Practical protection against dust and water (i.e. IP protection)

Dr Cagri TanrioverDr Cagri Tanriover July 5, 2014

Needing IP65 protection while exposing humidity and pressure sensors on a tight $15 budget, Dr Cagri Tanriover hunted for a practical fix. He found that an SHT2x humidity sensor with a microporous filter cap and O-ring provides IP67-level protection, and by matching a pressure sensor that fits the same cap he met and exceeded the IP65 requirement. The post shows a low-cost, component-level workaround.


Efficiency Through the Looking-Glass

Jason SachsJason Sachs December 8, 20134 comments

Efficiency numbers can be misleading, Jason Sachs argues, because they hide the real cost engineers pay in wasted watts. This post flips the focus from percent efficiency to absolute power loss, shows how losses often stay nearly constant across loads, and walks through a practical thermal method to measure those losses more reliably than subtracting input and output power. Read it to rethink how you budget heat and energy in designs.


Data Validity in Embedded Systems

Stephen FriederichsStephen Friederichs October 5, 20131 comment

Real-world sensors and serial links often deliver garbage, and embedded software must recognize and handle invalid inputs before they cause failures. In this post Stephen Friederichs walks through practical validity checks, from simple range tests and sentinel values to hardware status flags and timing checks for stale data. He also outlines safe responses, from graceful degradation to fail-safe shutdowns, so firmware behaves predictably in the unexpected.


Sheep Bridge: In Praise of Generalists and System Engineers

Jason SachsJason Sachs February 11, 2025

Jason Sachs makes the case for hiring generalists and valuing system engineers, because they do more than take a high-level view. He explains how multi-scale thinking, arbitration among subsystems, and clear visualization prevent integration failures, using concrete examples from battery-voltage tradeoffs, Sheep Bridge map lessons, and encoder signal checks. Read this for practical rules that keep embedded projects coherent.


“Smarter” cars, unintended acceleration – and unintended consequences

Michael J. PontMichael J. Pont October 20, 2015

Smarter cars are arriving fast, but the software tricks behind them may be creating new safety and compliance risks. This post connects Tesla’s autopilot, the VW emissions scandal, and a reported Porsche throttle-delay case to ask whether automotive standards and regulations are keeping pace with increasingly intelligent vehicle control systems.


Review: Prototype to Product

Steve BranamSteve Branam October 16, 2021

Alan Cohen's Prototype to Product is a practical systems engineering playbook for anyone taking an embedded idea to market. The review emphasizes uncovering surprises early, disciplined planning, and cross-discipline collaboration across electrical, mechanical, software, and manufacturing domains. It highlights concrete topics such as prototyping, DFM/DFA, staged testing, and regulatory considerations that help avoid costly late-stage rework.


Stand-by or boot-up

Colin WallsColin Walls August 8, 2024

Many factors affect the usability of devices - a key one is how long it takes to start up.


Autonomous vehicle - design questions to ponder

Ed NutterEd Nutter January 27, 2016

Designing an autonomous or remotely controlled vehicle forces tradeoffs between purpose, environment, and terrain. This post lists practical questions to drive decisions about mission profile, ruggedization, power and data handling, sensing, and modularity so your robot survives and completes tasks. Engineers will get a concise checklist to provoke design choices and avoid common failure modes in real-world deployments.


A design non-methodology

Colin WallsColin Walls April 25, 2024

Although writing an RTOS or kernel may be an interesting project, it is unlikely to be a wise course of action.


Software is free and can right any wrong

Colin WallsColin Walls October 26, 2023

Software changes are so much easier than hardware modifications, so the temptation is always to take this approach to fixing bugs. This may not always be a good idea.


Embedded Systems Co-design for Object Recognition: A Synergistic Approach

Charu PandeCharu Pande November 4, 2023

Embedded systems co-design for object recognition is essential for real-time image analysis and environmental sensing across various sectors. This methodology harmonizes hardware and software to optimize efficiency and performance. It relies on hardware accelerators, customized neural network architectures, memory hierarchy optimization, and power management to achieve benefits like enhanced performance, lower latency, energy efficiency, real-time responsiveness, and resource optimization. While challenges exist, co-designed systems find applications in consumer electronics, smart cameras, industrial automation, healthcare, and autonomous vehicles, revolutionizing these industries. As technology advances, co-design will continue to shape the future of intelligent embedded systems, making the world safer and more efficient.


Project Log: Pixelblaze Christmas Lights

Nathan JonesNathan Jones December 22, 20252 comments

Festive fun and the hacker spirit combine in my janky attempt to adorn my house with addressable LEDs! In this post, I show you how I used a Pixelblaze and a cheap strip of WS2811 RGB LEDs (and not a little bit of hot glue and paper clips) to make a super cool set of Christmas lights.


Always-On Intelligence Without the Cloud: Why it matters more than you think

Shivangi AgrawalShivangi Agrawal February 5, 2026

Much of the AI conversation today is still focused on scale: larger models, more data, more compute. Embedded systems live in a different reality, where constraints are unavoidable, and efficiency is the priority. What’s emerging is not a smaller version of cloud AI, but a different approach altogether, the one that values locality, predictability, resilience, and trust. Always-on intelligence without the cloud isn’t just a technical milestone. It’s a change in how we think about where intelligence belongs.


The 2026 Embedded Online Conference