EmbeddedRelated.com
The 2026 Embedded Online Conference

Kind of Buggy! The state machine fantastic//

Richard DorfnerRichard Dorfner August 31, 20112 comments

Richard Dorfner shows a compact way to debug an intermittent homing failure in a Pan/Tilt camera by logging the last 30 state transitions in a circular buffer. He tags each entry with a function identifier and uses breakpoints to walk the recorded sequence backwards. That reveals a timing interaction between a 100 ms periodic flag and the homing code that stopped the motor state machine. The method is low-overhead and ideal for single-threaded embedded systems.


Tracing code and checking timings

Richard DorfnerRichard Dorfner May 25, 20115 comments

When you cannot afford logs or to stop the CPU, GPIO toggles become a powerful real-time tracer. Richard shows how driving IO pins and watching them with an oscilloscope or logic analyzer reveals control flow, function timings, and ISR activity with very little overhead. He also explains using direct port writes and conditional compilation to keep measurements noninvasive and easy to enable or disable.


It starts with an LED

Richard DorfnerRichard Dorfner May 13, 20114 comments

A single blinking LED on an IO pin launched Richard Dorfner's 30-year embedded career. In this personal post he traces that early spark from an Atari hobbyist article to a professional life of hands-on debugging, tooling, and mentoring. He also commits to sharing practical tips, hardware tricks, and lessons on balancing technical design with business decisions through his ongoing journal.


Kind of Buggy! The state machine fantastic//

Richard DorfnerRichard Dorfner August 31, 20112 comments

Richard Dorfner shows a compact way to debug an intermittent homing failure in a Pan/Tilt camera by logging the last 30 state transitions in a circular buffer. He tags each entry with a function identifier and uses breakpoints to walk the recorded sequence backwards. That reveals a timing interaction between a 100 ms periodic flag and the homing code that stopped the motor state machine. The method is low-overhead and ideal for single-threaded embedded systems.


Tracing code and checking timings

Richard DorfnerRichard Dorfner May 25, 20115 comments

When you cannot afford logs or to stop the CPU, GPIO toggles become a powerful real-time tracer. Richard shows how driving IO pins and watching them with an oscilloscope or logic analyzer reveals control flow, function timings, and ISR activity with very little overhead. He also explains using direct port writes and conditional compilation to keep measurements noninvasive and easy to enable or disable.


It starts with an LED

Richard DorfnerRichard Dorfner May 13, 20114 comments

A single blinking LED on an IO pin launched Richard Dorfner's 30-year embedded career. In this personal post he traces that early spark from an Atari hobbyist article to a professional life of hands-on debugging, tooling, and mentoring. He also commits to sharing practical tips, hardware tricks, and lessons on balancing technical design with business decisions through his ongoing journal.


The 2026 Embedded Online Conference