Analog-to-Digital Confusion: Pitfalls of Driving an ADC
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 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 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 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 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?
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)
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)
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.
Python Code from My Articles Now Online in IPython Notebooks
Jason M. Sachs has published the Python code from his EmbeddedRelated articles as standalone IPython notebooks. He automated extraction of example code and pushed the notebooks to a public Bitbucket repository under the Apache license, and they are viewable via nbviewer. The post lists available notebooks and asks readers to link back to EmbeddedRelated and share feedback on how they used the code.
Definite Article: Notes on Traceability
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...
A Wish for Things That Work
Jason Sachs revisits his long-running gripe with poor user interfaces, cataloguing annoyances from his Toyota Prius dashboard to desktop apps and browsers. He mixes sharp, real-world examples with a short, practical wishlist for 2018 aimed at making embedded displays, update behavior, security cues, and developer tools noticeably less frustrating for engineers and end users alike.
Garden Rakes Revisited: The Hall of Shame
Jason Sachs opens a Hall of Shame to catalog the everyday software "garden rakes" that steal time and focus. He walks through concrete examples from PowerPoint point editing and Office window behavior to Outlook undo bugs and TurboTax's opaque errors, showing how poor UI and hidden behaviors force you to work around the tool instead of with it. This is a short, cranky checklist for avoiding wasted effort.
Thoughts on Starting a New Career
Changing jobs can be a reset button for your engineering momentum. Jason Sachs reflects on leaving a 16-year role to join Microchip as an applications engineer in motor drives, and he distills practical advice on early-career choices, mentorship, networking, interview tactics, and keeping skills marketable. The post also highlights workplace factors and small perks that affect productivity, giving embedded engineers actionable steps to plan a career transition.
Organizational Reliability
Here is a compact playbook for making your engineering team reliable, pulled from a handout Jason Sachs saved from Doug Field. It highlights disciplined commitment habits, clear absence and missed-commitment notifications, explicit handoffs and read-back practices, and resisting "manytasking" through ruthless prioritization. These are simple, immediately actionable behaviors that can lift a team's delivery and reduce chaos heading into the new year.
Scorchers, Part 2: Unknown Bugs and Popcorn
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.
Oh Robot My Robot
Oh Robot! My Robot! You’ve broken off your nose! Your head is spinning round and round, your eye no longer glows, Each program after program tapped your golden memory, You used to have 12K, now there is none that I can see, Under smoldering antennae, Over long forgotten feet, My sister used your last part: The chip she tried to eat.
Oh Robot, My Robot, the remote controls—they call, The call—for...
Scorchers, Part 2: Unknown Bugs and Popcorn
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
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 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)
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 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 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 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
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...







