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).



PCB project





Calibration Tool

Making of HT PCB

Print a diagram on chalk paper on a laser printer. Use a blank paper or a good quality magazine paper.

Make sure the printout matches the electronic components.

Cut the rectangular shape from copper plate.

Smooth the surface with fine sandpaper.

Wrap the prepared plate with paper so that the printed side adheres to the copper. Make sure the paper will not move relative to the plate.

Heat the wraped plate with an iron for about 3 minutes. Move the iron slightly against the edges of the plate.

Soak in warm water to make paper easier to be removed from the plate.

Make sure the paper is completely removed and the imprint remains on the plate. If the print is damaged, wash the plate with solvent and try again. Minor damage can be fixed with a marker.

Place the plate in the etching (B327) until the copper is completely removed.

Wash off the toner with solvent. Drill holes. Use 0.8mm bit for smaller elements and 1mm for voltage stabilizer and button.

Smooth the holes with fine sandpaper.

Place and solder the elements.

Sound patterns

No connection between TX and RX (disabled in new update)


Communication initialized (configuration received by RX)


No GPS fix (waiting for GPS fix or GPS fix lost)


Reference position and altitude set


Point P1 set or aerobatic mode enabled


Point P2 set or variometer mode enabled


Flight Area Ready (valid P1 and P2)


Flight Area locked and saved in internal memory


Aerobatic mode

Out of Area


Inside Green Zone (silent tone)


Through the Flight Area demo
Start at the pilots’ position → Towards the Green Zone (in front of Green Zone) → Inside the Green Zone → Towards the far end of the Flight Area (behind the Green Zone) → Out of Area → Back to the pilot’s position

Full features list

The list of configurable parameters

  • Distance in meters between the Pilot and the Flight Line
  • Area angle in degrees. This determines the height and width of Flight Plane
  • Flight Area width. Space on both sides of the Flight Line; E.g 200m means 100m in front of and 100m behind the Flight Line where the alarm will gradually change accordingly to airplane position in area.
  • Flight line width. Space on both sides of the Flight Line; E.g 30m means 15m in front of and 15m behind the Flight Line where the alarm will be constant tone
  • Flight Area boundary alarm (Out-Of-Area). If enabled this indicates that the airplane leaves the Flight Area vertical boundary on the left or right side. The distance to the boundaries is calculated regarding ‚dist’ and ‚angle’ options. This option has impact on flight scoring
  • Altitude alarm. If the airplane transcends configured altitude the alarm will indicate Out-Of-Area. To disable set hlimit to 0. If set to 1, the maximum altitude is calculated regarding ‚dist’ and ‚angle’ options. User can also set hlimit to the desired altitude in meters (if hlimit>1). In this case the hlimit an altitude relative to ground. This option has impact on flight scoring
  • Set points P1 and P2 manually. The maximum distance between p1 and p2 must not be greater then 200m. The numbers are decimal degrees with 6 digit precision. Note that these values overwrite the coordinates stored in RCFA memory
  • Automatic Flight Area lock (for example during start)
  • Real-time tracking. If enabled, the RCFA will send position data stream to the Receiver. The data are available on the TX pin of the RCFA RX. The data stream can be visualized directly in Google Earth. It is even possible to visualize real-time tracking as an overlay on Google StreetView picture
  • Automatic reference altitude. Minimum number of GPS satellites that must be active to acquire the reference altitude
  • The reference altitude can be set manually for faster system initialization. It can also be more accurate to use with Google Earth and therefore is strongly recommended. Set the altitude value that is visible in Google Earth at the bottom side of the screen marked as ‚elev’ at your airfield
  • GPS sample rate in ‚Reads Per Second’. The value 5 is the most optimal setting for general purposes. Some GPS can not run faster than in 5Hz mode
  • GPS Logger Automatic mode – The Logger will start and stop recording automatically when the aeroplane enters or leaves the Flight Area (Blue Box)
  • GPS Logger Manual mode (free flight) – In this mode user have to start and stop logging by long press button B
  • Set the Logger speed frequency in seconds. It denotes how frequently the logger will write coordinates to SD Card. This can not be more often then gpshz value
  • 4 different modeo of Floor option
  • ‚Low accuracy’ information feature can be used to verify the GPS signal quality after the flight. If the number of active GPS satellites is lower then lowacc, the system will write time and info: „GPS low Acc” on SD Card in rcfa.log file
  • Configurable filtering algorithm for GPS, Altimeter and Variometer
  • Radio module switch. The radio module can be disabled for lower power consumption
  • Altimeter switch. The RFCA uses barometer sensor for highly accurate altitude readings. This option can be override by „floor”
  • Variometer mode. If enabled the RCFA will send altitude changes data stream to the Receiver
  • (Variometer) Minumim vertical speed ratio. Vertical speed lower then hspmin will be regarded as horizontal flight
  • (Variometer) Maximum vertical speed ratio. When the vertical speed is faster than hspmax than the sound in the Receiver will play extreme tone. Lower values of hspmax cause the sound to change more rapidly at low rate of descent or ascend
  • Time zone relative to UTC. Note that the system does not detect summer and winter time
  • Initial sound volume in the Receiver
  • Event log

Real-time tracking

RCFA is capable to send position data to the Receiver in real-time. The stream can be visualized on the PC directly in Google Earth. As for present time, the GE has a limited capabilities of displaying altitude in real-time mode, but there are several 3rd party applications like GooPs (goopstechnologies.com) or EarthBridge (mboffin.com/earthbridge), that can work as an extension to GE.

Technical details

Radio frequency: 433MHz, 868MHz, 915MHz
Frequency-hopping spread spectrum (FHSS)
Range: 700+/-100m (tested in open air with copper wire antenna)
Input voltage: 7-12V (2S/3S LiPo)
GPS compatibility: Global Top (MT3318, MT3329, MT3339), u-Blox (M7,M8)

Receiver (RX)

Headphones: 3,5mm jack port
Average current: 50mA
Size: 51 x 38mm
Weight: ~17g

Transmitter (TX)

MicroSD Card: 256MB-32GB class 4 (FAT32)
Maximum transmit power: 20dB (100mW)
Average current: 150mA
Size: 52 x 40mm
Weight: ~17g