FPV Headtracker

FPV Headtracker

The Headtracker is a DIY OpenSource (GPL) project that was designed for RC-FPV purposes. Sensors used to build the device are LSM6DS33 (gyroscope and accelerometer) and LIS3MDL (magnetometer). The HT is compatible with the IMU modules parts of Pololu MinIMU-9 v5 and AltIMU-10 v5. The device was tested on Turnigy 9XR controller but should be compatible with most RC controllers with PPM input support.



  • 2-axis support: pitch and yaw (easy expandable to 3-axis)
  • No drift with 9DOF IMU: gyro, accelerometer, magnetometer
  • Easy to use – one button to center position
  • 1-side THT PCB project
  • Fast 16MHz clock for smooth HT operation (PPM resolution up to 0.5us)
  • 8-channel configurable PPM output (default: pitch on ch.7, yaw on ch.8)
  • Configurable to work with any camera orientation
  • OpenSource C code good for learning AVR programming
  • Very stable and natural experience
  • Few electronic components
  • Calibration and configuration tool included
  • Fun to make


Technical info

  • Dimenstions: 50x29mm
  • uC: ATMega328 @ 16MHz
  • Power: 7-15V (3S/4S LiPo)


Bill of materials

  • 1-side copper plate
  • 1x LM7805
  • 1x Atmega328 DIP28
  • 1x DIP28 socket
  • 1x MinIMU-9 v5 (LSM6DS33, LIS3MDL)
  • 1x 16MHz Crystal
  • 1x R 10K
  • 3x R 240
  • 1x CP 220uF 24V
  • 1x CP 47uF 16V
  • 2x C 22pF
  • 4x C 100nF
  • 1x LED 3mm
  • 1x Tactile button
  • 1x Straigth 3-PIN 2.54mm (UART I/O)
  • 1x Angled 3-PIN 2.54mm (Main connector)
  • 1x Straigth 5-PIN socket 2.54 (IMU connector)


Recommended IMU

The IMU module used for HT can be powered with 5V, It has build-in level converter and compact size that makes it ideal for the project. It simplifies the PCB design and minimizes the number of components.

MinIMU-9 v5; AltIMU-10 v5 (altimeter is not supported in HT)


Wiring diagram

The Headtracker is connected directly to the Turnigy 9XR controller through Futaba port with 3-wires: Vcc, Gnd and PPM. The Vcc is for powere the HT from controller’s battery (3S LiPo). The PPM is the output from HT to the controller’s trainer port. The signal is combined with other PWMs and send to radio transmitter. Most of the parameters can be configure in HT’s Calibration Tool or in the controller (OpenTX in this case).