Yonas Beyer
All projects
2026 · Finished

Head Tracker

From the very beginning, I was thrilled by relaxed flying with an FPV plane. To improve the feeling even further, I wanted to control the camera with my head movements as well.

Year
2026
Status
Finished
Tools
KiCad, PlatformIO, C++
Head Tracker

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.

Explore the hardware

Explore the layout of the IMU module: drag to pan, scroll to zoom.

© 2026 Yonas Beyer · For viewing only, all rights reserved.

Gallery

Assembled PCB of the IMU module
Assembled PCB of the IMU module
Calculating the position turned out to be one of the project's challenges.
Calculating the position turned out to be one of the project's challenges.
Next projectMotion Controller