EmbeddedRelated.com
The 2026 Embedded Online Conference

Analog-to-Digital Confusion: Pitfalls of Driving an ADC

Jason SachsJason Sachs November 19, 20118 comments

Wayne's thermistor board showed one ADC channel changing when another was heated, a classic case of ADC input cross-coupling. The post walks through how multiplexed ADCs, the small sample-and-hold capacitor, source impedance, sampling time, repeated sampling rates, and added charge reservoirs interact to create errors. Learn practical fixes including increasing sample time, sizing external caps, adding op-amp buffers, and using an RC dampener with PCB layout tips.


Modulation Alternatives for the Software Engineer

Jason SachsJason Sachs November 8, 20111 comment

Jason starts with a hardware curiosity, the 7497 synchronous rate multiplier, and turns it into a practical lesson for firmware engineers. He contrasts conventional PWM with a simple accumulator-based method called "synthetic division," showing how it implements first-order delta-sigma behavior in software. The post explains when to pick PWM or delta-sigma and why the accumulator trick can give higher effective resolution at low update rates.


Complexity in Consumer Electronics Considered Harmful

Jason SachsJason Sachs October 1, 20111 comment

Jason Sachs watched his grandmother struggle with a Vizio TV remote, and it highlights a recurring usability failure in consumer electronics. He argues that small type, unclear icons, and modal controls make everyday tasks needlessly hard. The takeaway for embedded engineers is to prioritize common actions, separate advanced features, and design for low-vision and limited-memory users to avoid frustration and returns.


Which MOSFET topology?

Jason SachsJason Sachs September 1, 20119 comments

Jason Sachs breaks down the four basic MOSFET topologies for switching a two-wire load, showing why low-side N-channel is usually the simplest and cheapest option. He explains why grounding or chassis return can force a high-side switch, how P-channel devices trade performance for simpler gate drive, and why high-side N-channel options need extra driver circuitry. He also stresses adding freewheeling diodes for inductive loads.


Thermistor signal conditioning: Dos and Don'ts, Tips and Tricks

Jason SachsJason Sachs June 15, 201116 comments

Jason Sachs shows how to keep thermistor conditioning simple and accurate for embedded systems. He warns against analog linearization and excessive analog stages, and explains why ratiometric dividers, proper ADC buffering, and using the same reference voltage give better results. The post also covers thermal pitfalls like self-heating and lead conduction, plus practical tips for ADC autocalibration and polynomial temperature conversion.


Real-time clocks: Does anybody really know what time it is?

Jason SachsJason Sachs May 29, 20118 comments

Most RTC chips still expose calendar fields rather than seconds-since-epoch, forcing embedded engineers to write ugly conversion code. Jason Sachs makes the case for offset encoding, subseconds, and an explicit snapshot feature to simplify interval math, raise precision, and avoid rare timing bugs. Read this practical take on RTC trade-offs and a short wishlist for chip makers.


Byte and Switch (Part 2)

Jason SachsJason Sachs May 7, 20118 comments

Running a thermistor front end from a single AA cell exposes problems you might not expect. Jason Sachs walks through a switchable-gain divider using a P-channel MOSFET and shows how MOSFET off-state leakage and low supply voltages can corrupt high-impedance temperature readings. The post compares bipolar transistors and analog switch ICs as fixes and gives practical component guidance for one-cell designs.


Byte and Switch (Part 1)

Jason SachsJason Sachs April 26, 201114 comments

Driving a 24V electromagnet from a 3.3V microcontroller looks trivial, but Jason Sachs shows how that simple switch can fail spectacularly. He walks through the cause of MOSFET destruction when an inductive load is turned off, and explains the practical fixes you actually need: a flyback diode, a gate series resistor, and a gate pulldown to keep the transistor well behaved.


Scorchers, Part 2: Unknown Bugs and Popcorn

Jason SachsJason Sachs April 5, 20202 comments

Jason Sachs likens bug hunting to popping popcorn to explain diminishing returns when preparing a release. He argues that the rate of new bug reports is a practical signal for whether to keep testing or ship, and that late fixes incur hidden costs like extra testing, branching, documentation, and lost focus. The piece also warns that embedded firmware needs stricter pre-release testing because updates are rarer.


Definite Article: Notes on Traceability

Jason SachsJason Sachs September 6, 2021

Electronic component distibutor Digi-Key recently announced part tracing for surface-mount components purchased in cut-tape form. This is a big deal, and it’s a feature that is a good example of traceability. Some thing or process that has traceability basically just means that it’s possible to determine an object’s history or provenance: where it came from and what has happened to it since its creation. There are a...


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.


Scorchers, Part 4: Burned by the Happy Path (Simon Says)

Jason SachsJason Sachs December 31, 2024

Designs that only work along the happy path break in real use, causing frustration and sometimes safety risks. Jason M. Sachs uses everyday examples from microwaves to car Auto Park logic to show how mutable software and physical state create brittle behavior. He outlines practical firmware fixes such as clear state machines, sensor or user-driven resynchronization, soft-start delays, and a ‘‘Drunken Happy Path’’ fuzzing approach to find real-world failure modes.


Supply Chain Games: A Warning on Tariffs

Jason SachsJason Sachs April 5, 2025

Jason Sachs warns that the 2025 tariff surge could amplify an existing semiconductor inventory glut and destabilize automotive and industrial supply chains. He lays out why steep, rapid tariff changes cannot be absorbed by years-long fab lead times, sticky proprietary ICs, or quick part substitutions. Read this to understand practical risks, likely timing, and what engineers and buyers should watch over the next two to three years.


Stuck with Jira — and Stuckons

Jason SachsJason Sachs January 1, 20261 comment

Jason Sachs vents about Jira’s quirks and why it still feels stuck despite years of fixes. He walks through concrete pain points: nonstandard markup, relentless notification noise, poor meta-task support, and limited analytics that make day-to-day engineering work harder. To explain why schedules blow up, he introduces a simple kepton model of planons, workons, and stuckons that highlights unexpected work.


Baking in Process Improvements

Jason SachsJason Sachs November 9, 2025

Jason Sachs uses a backyard cookie-baking session with his niece to illustrate practical process improvements engineers can apply. He documents batch-by-batch tweaks — temperature, dough placement, and a pipelined scooping step — that raised throughput and improved quality, then connects the lesson to pilot projects and small automations like a Python script for JIRA. The piece makes the case for quick experiments and a culture that rewards refinement.


Monte Carlo Integration

Jason SachsJason Sachs March 16, 2026

Suppose we want to measure the area of a circle. Yeah, yeah, you already know this, it’s \( \pi r^2 \), but let’s say we want to measure a circle of radius 1 with something called Monte Carlo integration:

  • We generate pairs \( (x,y) \) where \( x \) and \( y \) are independent and uniformly distributed between 0 and 1.
  • We count the fraction of pairs \( (x,y) \) that are inside our circle, by testing each one: the point \( (x,y) \) is inside the circle if \( x^2 + y^2 < 1...

The 2026 Embedded Online Conference