PX4 Autopilot: A Practitioner's Guide

PX4 Autopilot: A Practitioner's Guide to Troubleshooting, Debugging, Building, and Testing

Everything I learned contributing 6 PRs to PX4-Autopilot in a single session — from Docker-based builds and sanitizer workflows, through uXRCE-DDS session debugging and MAVLink signing analysis, to SITL integration testing. Real bugs, real fixes, real build output.

March 22, 2026 · 14 min · Pavel Guzenfeld
PX4 SITL to Unity in Docker: A 60-Hour Odyssey

Connecting PX4 SITL to a Headless Unity Simulation in Docker: A 60-Hour Debugging Odyssey

A three-day odyssey connecting PX4 flight controller to a GPU-rendered Unity drone simulation running headless inside Docker — through licensing labyrinths, shader abysses, coordinate system riddles, native library dragons, and a TCP protocol twist ending nobody expected.

March 21, 2026 · 10 min · Pavel Guzenfeld
Debugging Doxygen: How .inc Files Break C++ Docs

Debugging Doxygen: How .inc Files Silently Break C++ Documentation

Eigen’s .inc plugin headers were read by Doxygen but never preprocessed as C++ — meaning macros like EIGEN_PARSED_BY_DOXYGEN were silently ignored. Here’s how I verified it in Docker and what the one-line fix looks like.

March 21, 2026 · 8 min · Pavel Guzenfeld
Fixing a CI Pipeline on Jetson Xavier

Fixing a CI Pipeline on a Jetson Xavier — 15 Failures to Green

A day-long battle fixing a CI pipeline that builds Docker images on a self-hosted Jetson Xavier runner. From stale git submodules to GCC-15 assembler errors, expired tokens, DNS failures inside Docker, and deleted upstream branches — every layer of the stack had something broken.

March 20, 2026 · 10 min · Pavel Guzenfeld
Fixing an Infinite Loop in Eigen's 128-bit Division

Fixing an Infinite Loop in Eigen's 128-bit Integer Division

How a missing overflow check in Eigen’s TensorUInt128 division operator caused an infinite loop for any dividend above 2^127 — and the one-line fix that stopped it.

March 20, 2026 · 4 min · Pavel Guzenfeld