Test the robot when the data stops
A practical ROS 2 fault-injection plan for stale observations, delayed commands and controlled recovery, with an illustrative stopping-distance calculation.
Journal
Practical writing on robotics, embedded systems, AI and software people can trust, plus detailed case studies of my own projects.
23 posts
A practical ROS 2 fault-injection plan for stale observations, delayed commands and controlled recovery, with an illustrative stopping-distance calculation.

A detailed design study of the ESP32-S3 controller, its power and protocol boundaries, and a radar-based positioning extension that preserves the existing PCB.

CAD, traction and energy calculations, conservative coverage planning and an experimental roadmap for a modular dry-cleaning crawler.

How I organised sensing, estimation, planning and control for a differential-drive rover, and what simulation could establish.

Integrating Hall-effect sensing, embedded acquisition, Bluetooth and MATLAB into a movement-assessment prototype.

A local-first pricing workflow with deterministic matching, exact money handling and an operator-reviewed ServiceM8 export.

An ESP32-S3 display-controller design connecting serial parsing, guarded display output, a four-layer PCB and browser configuration.
What a product reveals about its design when someone needs to open it, find a part and put it back into service.
A small control raises a larger design question: how much attention should an everyday adjustment demand?
How an 80 Hz signal becomes indistinguishable from 20 Hz when sampled at 100 samples per second, and what to check before trusting a trend.
A worked inspection example showing why defect recall, false rejects and review workload belong beside the headline accuracy score.
Years in a role can tell us something. They cannot tell us everything. A case for assessing capability, supporting graduates and rewarding people who keep learning.
A worked example of field of view, exposure and motion blur, and how to tell whether an inspection image contains enough evidence.
What Little's Law and a simple queue model reveal about work in progress, waiting time and where automation can actually help.
Separating connection health, measurement age and validity in an MQTT dashboard, with a practical stale-data test.
A focused way to diagnose ROS 2 QoS mismatches, separate discovery from delivery, and test the actual subscriber.
A practical way to separate coordinate-frame, timing and localisation faults before changing a navigation controller.
How hysteresis, debounce and explicit states turn a fluctuating measurement into a useful event without hiding the timing cost.
A practical design for checking retrieval, source quality and permission boundaries in an assistant that runs on your own hardware.
Preserving identifiers, resolving ambiguity and making an import reviewable before it changes an operational system.
Why offline use, saved data, export and recovery need separate acceptance tests in a small personal or business app.
Designing retries, operation records and human review for the uncertain gap between sending a request and seeing its result.
A plain-English guide to trying AI, protecting your information and checking the answers.
Talk to me about an engineering problem, a project or a role.