How to setup Telemetry with your Naze32 and FrSky D4R-II

How to setup Telemetry with your Naze32 and FrSky D4R-II

It only takes 1 wire.

Telemetry is a great thing,  It essentially puts important vitals about your quad onto your transmitter.  Sure, with an OSD, you get the same thing, but it is nice to have an alarm on your Taranis for when things go wrong with your OSD!  It is also a good reminder to have a radio alarm that talks to you with haptic feedback when your voltage gets low.  Lets face it, sometimes it’s easy to focus on the flying more than the voltage.  I have had this problem before, so creating an alarm in the radio using Telemetry is a great idea.

There are different ways to setup your telemetry depending on whether you are using Baseflight or Cleanflight.

The D4R-II connection is the same regardless of which software you use.  The Telemetry is a one-way communication, and therefore, you only need to connect the Tx (transmit) line from the Flight controller, to the Rx( receive) line on the D4R-II.

Naze32 telemetry setup D4R-II

Naze32 telemetry setup D4R-II

Baseflight steps:

There are 3 ways to get the telemetry data back to your Taranis.

Option 1- Use the telemetry pins on the board

The standard pins on the board labeled telemetry are a good choice if you are not going to run any additional electronics.

Use this option if you are not planning to add other electronics to your Naze32 like a OSD, Bluetooth, etc. With this option you will use a real UART (serial) port to send the data to your FrSky receiver. Note that when you uses this option, you can’t use the regular tx/rx pins anymore since they are shared with the FrSky pins on the Naze32.  The Naze32 UART is shared with the USB port and the TX&RX pins on top of the board so if you choose this method, you cannot use the USB or the TX & RX pins.  If you are planning on using either of these, then you will have to use a soft serial and option 2 or 3 below.

  1. Connect your FrSky receiver (like the d4r-II) to your naze. Connect the External analog telemetry Rx port of your FrSky receiver to the Tx FrSky port on the Naze32 (in the manual indicated as “5”)
  2. Connect your Naze32 to your Computer and open BaseFlight
  3. Go to the CLI tab and type the follow codes:
    1. Disable the softserial ports since we will use the real UART port
      feature -SOFTSERIAL
    2. Enable Telemetry
      feature TELEMETRY
    3. Set the port on which you would like to put the telemetry data out (we use “0”, since that is telemetry output over UART)
      set telemetry_port=0
    4. Set the protocol for the telemetry output (Use “0” to select the FrSky protocol)
      set telemetry_provider=0
    5. Save & Test.

 Option 2- use a software serial port on pin 6 (pair 5&6 rx&tx)

Use this option if you are planning to connect several electronics to your Naze32 that will use serial data like a OSD, Bluetooth etc. We will output the telemetry data through a softserial port. This is a “virtual UART”, so not a real UART (some say this slows down the Naze32.  We have not found there to be a difference in our testing). You MUST use PPM for this to work since we need the RC input pins!

  1. Connect your FrSky receiver (like the d4r-II) to your naze. Connect the External analog telemetry Rx port of your FrSky receiver to RC input pin 6 on the bottom of the Naze32 (See figure 2 in the manual)
  2. Go to the CLI tab and type the follow codes:
    1. enable the softserial port since we will be using softserial port instead of the real UART port
      feature SOFTSERIAL
    2. Enable Telemetry
      feature TELEMETRY
    3. Set the baudrate of the softserial to 9600 to communicate correclty with the FrSky receiver
      set softserial_baudrate=9600
    4. Set the softserial port 1 to inverted, since that is the way the FrSky protocol works.
      set softserial_1_inverted=1
    5. set the port on which you would like to put the telemetry data out (we use “1”, since that is telemetry output over the soft serial rc input pin 6)
      set telemetry_port=1
    6. set the protocol for the telemetry output (we use “0” to select the FrSky protocol)
      set telemetry_provider=0
    7. Save & test

for fast update of fc, you can paste this directly into the CLI then push save:
feature softserial
feature telemetry
set softserial_baudrate=9600
set softserial_1_inverted=1
set telemetry_port=1
set telemetry_provider=0

 

Option 3- use a software serial port on pin 8 (pair 7&8 rx&tx)

This option is the same as above, but it sets the soft serial output on pair 7&8 instead of 5&6.

You MUST use PPM for this to work since we need the RC input pins!

  1. Connect your FrSky receiver (like the d4r-II) to your naze. Connect the External analog telemetry Rx port of your FrSky receiver to RC input pin 6 on the bottom of the Naze32 (See figure 2 in the manual)
  2. Go to the CLI tab and type the follow codes:
    1. Enable the softserial port since we will be using softserial port instead of the real UART port
      feature SOFTSERIAL
    2. Enable Telemetry
      feature TELEMETRY
    3. Set the baudrate of the softserial to 9600 to communicate correclty with the FrSky receiver
      set softserial_baudrate=9600
    4. Set the softserial port 1 to inverted, since that is the way the FrSky protocol works.
      set softserial_1_inverted=1
    5. set the port on which you would like to put the telemetry data out (we use “2”, since that is telemetry output over the soft serial rc input pin 8)
      set telemetry_port=2
    6. set the protocol for the telemetry output (we use “0” to select the FrSky protocol)
      set telemetry_provider=0
    7. Save & test

Cleanflight steps:

The same convention applies with Cleanflight.–If you won’t use the UART for anything else (minimosd, GPS, etc) then you can use the telemetry pins:

you still have to set the output to inverted.  The CLI command is different,  You will have to enter

FrSky telemetry in cleanflight

FrSky telemetry is transmit only and just requires a single connection from the TX pin of a serial port to the RX pin on an FrSky telemetry receiver.

FrSky telemetry signals are inverted. To connect a cleanflight capable board to an FrSKy receiver you have some options.

  1. A hardware inverter – Built in to some flight controllers.
  2. Use software serial and enable frsky_inversion.
  3. Use a flight controller that has software configurable hardware inversion (e.g. STM32F30x).:

 

I like to use a soft serial port, so you should invert the telemetry in the CLI with this command:

set telemetry_inversion = 1

Then setup your ports in the GUI: You have to start with the configuration screen: You must be using PPM or a serial connection to your receiver in order to be able to enable soft serial select SOFTSERIAL and the TELEMETRY checkboxes, Click save.

cleanflight Frsky Telemetry instructions and how to.

cleanflight Frsky Telemetry instructions and how to

Next, open the Ports tab:
Select which UART you want to output the Telemetry signal on. (in our case, we are choosing pin 6 which is softserial1)
pull down the menu to FRSKY and set the baud rate to auto.
click save.

cleanflight Frsky Telemetry instructions and how to.

cleanflight Frsky Telemetry instructions and how to.


Your final screen should looks something like this:
cleanflight Frsky Telemetry instructions and how to.

cleanflight Frsky Telemetry instructions and how to.

Click save and reboot.
If all went well, now when you hold the page button down on your Taranis, you should see some telemetry data.

Conclusion

In conclusion,

  • Telemetry can be easily setup in Cleanflight and in Baseflight.
  •  It's a one wire connection, tx from the flight controller to rx of the d4r-II telemetry pins.  
  • The serial port has to be inverted in order for it to work.  
  • We like to use soft serial ports, which are related to pins 5,6,7,8.
  •  Pins 5 & 6 are related to soft serial 1 and pins 7 & 8 to soft serial 2.  Pin 5 is rx, 6 is tx, 7 is rx and 8 is tx respectively.

We choose to use the GUI in cleanflight because the way that the port setup in the cleanflight CLI is is pretty bonkers.
Baseflight is the easiest to setup, You simply type in the cli commands listed and it works.

We hope that helps you setup telemetry on your quad.

12 replies on “How to setup Telemetry with your Naze32 and FrSky D4R-II

  • Jim L.

    Should step 4 not set softserial port 2 to inverted, not port 1?

    Option 3- use a software serial port on pin 8 (pair 7&8 rx&tx)

    4.Set the softserial port 1 to inverted, since that is the way the FrSky protocol works.
    set softserial_1_inverted=1
    5.set the port on which you would like to put the telemetry data out (we use “2”, since that is telemetry output over the soft serial rc input pin 8)
    set telemetry_port=2

    Reply
  • Al

    I followed the instructions and am using the D4r-ii with jumper in place for CPPM. I have a Flip 32 and after searching on the net I found the pinout to connect the green and black wires to the correct place on the Flip board.

    I see the RSSI, A1 and A2 voltages which I have selected in the TX (Taranis running 2.1.7) but the A2 only shows the same voltage as A1 – 5V even though I have a 3S lipo supplying power.

    Any ideas how to fix this?

    Thanks.

    Reply
    • admin

      Hi Al,
      A2 and A1 are the analog inputs for the D4R-II. These would be values present if you had external sensors attached to the D4R-II. Since you are using the flight controller to relay data, you will not have any info on A1 or A2. Try looking for a value in your Taranis radio called “cells”

  • Yao Wei Chua

    Hi Admin,
    I am using Cleanflight 1.12, the command lines on CLI are a little different. For example to invert telemetry, i use ‘set telemetry_inversion = ON’ that allows me to get telemetry on UART1. I was wondering what is the soft serial inversion command, i’ve tried yours and several other variations with no success. Wondering if you could help?
    Thanks

    Reply
  • yaoweic

    Hi Anthony,
    When i type in ‘set telemetry_inversion = 1’ it says invalid value. I think it has changed to ‘set telemetry_inversion = ON’. This is works fine when I have FrSky telemetry set on UART1. However now i’m trying your recommendation of using Soft Serial port for telemetry, how do I invert soft serial port? Tried your command lines but dont seem to work, command lines must have changed in the previous cleanflight versions.

    THanks!

    Reply
    • yaoweic

      Hi Anthony, seems to be working now, somehow when I set telemetry inversion, it doesnt save it all the time when i exit. Seems like I do not need to invert the softserial port, just set telemetry inversion and it worked.
      Thanks for your blog post.

  • Martin

    Using D4r-II, Taranis Plus, Naze Afroflight rev6.
    TX, RX and OpenTx are updated to latest versions.
    Connected D4r from the RX pin to pin 6 on the Naze.
    Vbat connected on the Naze 11.06v-checked
    Set up Cleanflight
    on configurations page Soft Serial and Telemetry on.
    on ports page Softserial One -on, Telemetry-FrSky 9600 on
    (all saved and showing correct)
    Cleared all the telemetry from the Taranis, and detected sensors.
    All I get is four items SWR, RSSI, A1, A2.
    I can not see Cell,Cells, etc on the Trananis or in OpenTx when connected.
    re-read all the instructions, and watched Painless360 several times.
    cant see anything wrong.
    Tried in the CLI ‘set telemetry_inversion = 1’ it returns ‘invalid value’

    any ideas what is wrong? Many thanks.

    Reply
    • admin

      The issue is probably that Telemetry inversion is not setup correctly. Try this: set telemetry_inversion = ON

      If that doesn’t work, post a dump of your settings. If you look through the dump you should see something in there about telemetry inversion which should give you a clue as of what command to use.

  • claus45

    Hallo,
    nach dem Umbau der Telemetrie zum FrSky D4R-II funktioniert mein GPS empfang nicht mehr. Ich habe die Telemetrie an Softserial 2 also Pin 8 angeschlossen. Das GPS Modul ist an Pin 5 und 6 des Skyline 32 Flightkontrollers angeschlossen. Wird das GPS Modul dadurch beeinflusst? Ich habe technisch keine grosse Erfahrung, kann mir jemand sagen, was ich im CLI des Baseflight Configurators ändern muss?
    Vielen Dank und viele Grüsse
    Hello,
    after the conversion of the telemetry to the FrSky D4R-II my GPS does not work anymore. I connected the telemetry to Softserial 2, pin 8. The GPS module is connected to pins 5 and 6 of the Skyline 32 flight controller. Is this affecting the GPS module?

    I have no great technical experience, can someone tell me what I need to change in the CLI of the Baseflight Configurator?
    Thank you and best regards

    Reply
    • QQAnthony

      Hi,
      I Checked the Soft Serial Betaflight Wiki and I don’t see that the skyline 32 has documentation for SoftSerial support. I could be wrong. You could try entering these commands into the CLI. Honestly though, It sounds as though you are exceeding the capibility of the FC and using softserial can cause adverse performance on STM32F1 hardware. I would recommend upgrading your Flight controller to a newer F3 model such as the DTFc so that you can run the additional UARTS you need.

Leave a Reply

Your email address will not be published. Required fields are marked *