Idea
When I converted my Lidl glider to digital video transmission, a new idea came up: the camera should follow my head movements, so I could look around freely on the plane. Of course, there were already a few products out there, but none of them convinced me. You always had to stick a huge 3D-printed block onto your FPV goggles and rely on an unreliable second RC link for the servos. The solution seemed simple: I would build my own head tracking system.
Build
From the outside, the project looks very simple: two ESP32 modules communicating via ESP-NOW. One sits at the radio and passes the data to it via PPM / SBUS, the other plugs into the USB-C port of the goggles. Add a 6-axis IMU that measures the orientation of my head. After a few days of working on the firmware, however, I realised that there is far more to a seemingly simple concept than just reading a sensor value and passing it on.
Challenges
Almost inevitably when working with IMUs (inertial measurement units), I soon ran into gimbal lock. To still implement the features I wanted, I had to do the calculations in the code with quaternions. The complexity of the firmware rose noticeably right away.
Result
After several iterations, I have arrived at a final version. The modules have become considerably smaller, the firmware runs smoothly, and other pilots are now flying with it too. Settings, calibration and updates can also be handled via a web interface. And the head tracker is only the beginning: my motion controller is already being built on top of it.




