EmbeddedRelated.com
The 2026 Embedded Online Conference

What is Pulse Width Modulation and How Does It Work?

Lance HarvieLance Harvie November 2, 2023

Pulse Width Modulation (PWM) is a technique used to control the average voltage supplied to a device or component by adjusting the width of a series of pulses. It works by rapidly turning a signal on and off at a specific frequency. The crucial element of PWM is the duty cycle, which represents the percentage of time the signal is “on” (high voltage) compared to the total time of one cycle.


A Second Look at Slew Rate Limiters

Jason SachsJason Sachs January 14, 2022

Picking the right slew rate can cut overshoot dramatically while keeping delay reasonable, Jason shows. He numerically analyzes a feedforward slew-rate-limited step into a normalized second-order system and proposes a simple empirical rule R = Δx/(2π α τ) with α ≈ 1. The post includes Python/Scipy code and a 3→5 V example that demonstrates about a 3× overshoot reduction and a ≈5τ peak delay.


Linear Feedback Shift Registers for the Uninitiated, Part XIII: System Identification

Jason SachsJason Sachs March 12, 20181 comment

Jason Sachs shows how the output of a linear feedback shift register can be used for active system identification, not just spread-spectrum testing. The article compares traditional sine-wave probing with LFSR-based PRBS methods, demonstrates a worked Ra-Rb-C example, and unpacks practical issues such as reflected pseudonoise, ADC quantization, sample counts, and noise-shaping tricks to improve estimates.


The Other Kind of Bypass Capacitor

Jason SachsJason Sachs January 3, 20173 comments

Most engineers treat bypass capacitors as supply decoupling, but Jason Sachs digs into the other kind: a capacitor placed in the feedback path to tame unpredictable high-frequency plant behavior. He walks through real examples, Bode plots, and a simple RC model to show how the cap forces unity-gain feedback at high frequency, stabilizing switching regulators and wideband amplifiers while revealing the speed versus stability tradeoff.


Data Types for Control & DSP

Tim WescottTim Wescott April 26, 20166 comments

Control engineers often default to double precision, but Tim Wescott shows that choice can waste CPU cycles on embedded targets. He separates numeric representation into floating point, integer, and fixed-point, then walks through the tradeoffs, including quantization, overflow, and performance. A concrete PID example highlights why integrator precision and ADC scaling should drive your choice of data type rather than habit.


How to test a Tesla?

Michael J. PontMichael J. Pont October 23, 20151 comment

In a previous article, I commented on the fact that Tesla cars with an "autopilot" system are about to be introduced on roads in the UK (and other places).

In the previous article I noted that Nick Reed from the UK’s Transport Research Laboratory is quoted in "The Times" newspaper (2015-10-16) as saying: “It would be legal for a driver to use Tesla’s autopilot mode in the UK, as it’s an advanced version of existing driver assistance systems”.

The


Second-Order Systems, Part I: Boing!!

Jason SachsJason Sachs October 29, 20142 comments

Jason Sachs takes the spring 'boing' of a doorstop into the math of second-order systems, using the series LRC circuit as a concrete example. He shows two standard transfer-function forms, explains why ωn only scales time while ζ sets the response shape, and derives pole locations plus an exact overshoot formula that helps tune embedded-system responses.


Vintage robotics!

Lonnie HoneycuttLonnie Honeycutt May 4, 20142 comments

Lonnie found a cart of vintage robot arms at his town's antique district and bought the lot for $275 to flip for profit. He documents the haul, two Microbot Teachmovers, a Scorbot ER-III and a Rhino XR, and the quick repairs and motor tests he used to evaluate them. Read for practical restoration notes, value estimates, and what to check before buying vintage robotic hardware.


First-Order Systems: The Happy Family

Jason SachsJason Sachs May 3, 20141 comment

Jason Sachs takes the modest topic of first-order systems and makes it useful, showing how RC filters behave in both time and frequency domains and why they all share the same shape. He steps through step, ramp, and sinusoidal responses, explains poles, zeros, and Bode behavior, and uses Python plots to make tracking error and the role of tau easy to visualize.


Levitating Globe Teardown, Part 2

Tim WescottTim Wescott November 6, 20139 comments

Tim Wescott opens up a budget levitating globe and shows why it seems magical: a massive 30 mm rare-earth magnet and a deliberately cheap magnetic circuit. He documents a bolt used as the flux core, a likely microcontroller and hall sensor in the head, very fine winding in the electromagnet, and a single-transistor unidirectional drive. Part 3 will measure forces and sensor voltages to build a better controller.


How to Build a Fixed-Point PI Controller That Just Works: Part I

Jason SachsJason Sachs February 26, 20127 comments

Jason Sachs digs into the implementation choices that make a fixed-point PI controller reliable in real embedded systems. He focuses on practical fixes rather than tuning: prefer scale-then-integrate, fold the timestep into the integral gain, and apply anti-windup so saturations and sensor noise do not break the loop. Part I covers discrete-time pitfalls and sets up fixed-point scaling issues for Part II.


How to Build a Fixed-Point PI Controller That Just Works: Part II

Jason SachsJason Sachs March 24, 20122 comments

Jason Sachs walks through practical, battle-tested rules for implementing PI controllers in fixed-point arithmetic. He explains Q-format choices, why the integrator needs extra fractional bits, and why scale-then-integrate simplifies design. The post also covers proportional gain scaling, saturation and anti-windup, and common C pitfalls that cause overflow or lost resolution on 16/32-bit microcontrollers.


Second-Order Systems, Part I: Boing!!

Jason SachsJason Sachs October 29, 20142 comments

Jason Sachs takes the spring 'boing' of a doorstop into the math of second-order systems, using the series LRC circuit as a concrete example. He shows two standard transfer-function forms, explains why ωn only scales time while ζ sets the response shape, and derives pole locations plus an exact overshoot formula that helps tune embedded-system responses.


The Other Kind of Bypass Capacitor

Jason SachsJason Sachs January 3, 20173 comments

Most engineers treat bypass capacitors as supply decoupling, but Jason Sachs digs into the other kind: a capacitor placed in the feedback path to tame unpredictable high-frequency plant behavior. He walks through real examples, Bode plots, and a simple RC model to show how the cap forces unity-gain feedback at high frequency, stabilizing switching regulators and wideband amplifiers while revealing the speed versus stability tradeoff.


First-Order Systems: The Happy Family

Jason SachsJason Sachs May 3, 20141 comment

Jason Sachs takes the modest topic of first-order systems and makes it useful, showing how RC filters behave in both time and frequency domains and why they all share the same shape. He steps through step, ramp, and sinusoidal responses, explains poles, zeros, and Bode behavior, and uses Python plots to make tracking error and the role of tau easy to visualize.


Levitating Globe Teardown, Part 1

Tim WescottTim Wescott November 4, 20133 comments

Tim Wescott buys a $30 floating-globe desk toy and walks through first impressions, hands-on magnet experiments, and a frank critique of its control system. He highlights the toy's underdamped response, uni-polar electromagnet tradeoffs, and simple hacks that reveal clues about the pole pieces and magnet layout. This is a practical, engineer-forward preview before the actual teardown in part two.


Levitating Globe Teardown, Part 2

Tim WescottTim Wescott November 6, 20139 comments

Tim Wescott opens up a budget levitating globe and shows why it seems magical: a massive 30 mm rare-earth magnet and a deliberately cheap magnetic circuit. He documents a bolt used as the flux core, a likely microcontroller and hall sensor in the head, very fine winding in the electromagnet, and a single-transistor unidirectional drive. Part 3 will measure forces and sensor voltages to build a better controller.


Data Types for Control & DSP

Tim WescottTim Wescott April 26, 20166 comments

Control engineers often default to double precision, but Tim Wescott shows that choice can waste CPU cycles on embedded targets. He separates numeric representation into floating point, integer, and fixed-point, then walks through the tradeoffs, including quantization, overflow, and performance. A concrete PID example highlights why integrator precision and ADC scaling should drive your choice of data type rather than habit.


Linear Feedback Shift Registers for the Uninitiated, Part XIII: System Identification

Jason SachsJason Sachs March 12, 20181 comment

Jason Sachs shows how the output of a linear feedback shift register can be used for active system identification, not just spread-spectrum testing. The article compares traditional sine-wave probing with LFSR-based PRBS methods, demonstrates a worked Ra-Rb-C example, and unpacks practical issues such as reflected pseudonoise, ADC quantization, sample counts, and noise-shaping tricks to improve estimates.


Vintage robotics!

Lonnie HoneycuttLonnie Honeycutt May 4, 20142 comments

Lonnie found a cart of vintage robot arms at his town's antique district and bought the lot for $275 to flip for profit. He documents the haul, two Microbot Teachmovers, a Scorbot ER-III and a Rhino XR, and the quick repairs and motor tests he used to evaluate them. Read for practical restoration notes, value estimates, and what to check before buying vintage robotic hardware.


The 2026 Embedded Online Conference