The sensor used are:


- An Ublox 7m GNSS sensor, usually used with the Ardupilot controllers

- A voltage sensor create with a simple voltage divider and the Heltec board ADC

The Heltec shield, locaded on the front of the quadcopter (through the two red arms), manage the sensors and provide also different general purpose ports that can be programmed to manage the different installed payload, the Heltec board is equipped also with an OLED screen used to show some useful information during the system startup.

The GNSS sensor as output provide a standard NMEA string that is easy to manage thanks to the "TyniGPS++" library developed for the Arduino microcontrollers.

The telemetry signal accepted from the FrSky receiver must be a signal coded accordingly to the S port protocol developed by FrSky, thanks to the huge diffusion of the FrSky systems, a lot of software library are available on the web for use this protocol in custom appplications, I used a library called "Sport.h".

The telemetry system on the radio transmitter is quite easy to configure, to each value sent by the receiver is assigned an ID code that allow you to fast recognize each value once is received by the radio transmitter.

In the pictures attached you can see the data on the transmitter screen,

Further to the battery voltage, the other showed data are:

Flight time: this is a timer that means the time that the quadcopter spend in flight

AGL altitude: this is the altitude of the drone above the ground in meters, the take off altitude is set during the quadcopter startup.

Latitude and longitude are the GNSS coordinates expressed in decimal degrees, unfortunately the FrSky telemetry system is not able to correctly set the comma in the right position of the number, so I have decided to remove it showing a number, that I know must be divided per 1000000 to obtain the correct values.