PX4 SIH running on real flight controller hardware with Unity visualization

Running PX4 SIH on Real Hardware: Custom Firmware for In-the-Loop Flight Simulation

Getting PX4’s Simulation-In-Hardware (SIH) module running on a production flight controller — discovering the firmware doesn’t include SIH, building a custom PX4 with flash-trimming, fan-out routing serial MAVLink to both the simulator and ground station, and connecting it all to the Unity visualization pipeline.

April 14, 2026 · 16 min · Pavel Guzenfeld
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
Migrating PX4 ROS Tests from Gazebo Classic to SIH

Migrating PX4's ROS Integration Tests from Gazebo Classic to SIH

PX4’s MAVSDK tests were migrated to SIH but the ROS integration tests were left behind on Gazebo Classic. This post documents the complete migration — the config changes, the CI pipeline surgery, the parameter name pitfall that silently broke GlobalPositionInterfaceTest, and how to reproduce the full 14-test suite locally in Docker.

March 20, 2026 · 9 min · Pavel Guzenfeld
Running px4-ros2-interface-lib Tests Against PX4 SITL

Running px4-ros2-interface-lib Integration Tests Against PX4 SITL: A Deep Technical Journey

A detailed technical account of running px4-ros2-interface-lib integration tests against PX4 SITL — from discovering that the project’s CI never runs them, through three different simulator backends, five distinct failure modes, and the surprising DDS payload mismatch that blocked everything. Every dead end documented.

March 19, 2026 · 13 min · Pavel Guzenfeld