With their latest transmitters and receivers FrSky changed telemetry protocol. XJT module, Taranis radios, X8R, X4R and X4RSB are using SmartPort telemetry protocol. And that creates few problems. First of all, SmartPort is a serial protocol. That means, flight controller has to have free serial port to connect S.Port device. Second of all, TX and RX lines shares the same wire. The work in half-duplex mode. Third of all, SmartPort signal levels are inverted: logical 0 is in HIGH state, logical 1 is in high state. All of that combined, connecting SmartPort receiver to flight controller and sending telemetry data is not so easy to archive. Specially on FCs without hardware inverters. That applies to most popular STM32F1 devices like Naze32 and Flip32. Not only numer of UARTs there is limited, but also they lack hardare inverters.
Luckily, there is simpler solution for Betaflight that uses SoftSerial and does not require any hardware hacks besides special wire. Requirements:
- Betaflight capable flight controller (STM32F1 or STM32F4),
- SmartPort enabled receiver: FrSky X8R, X6R, X4R, X4RSB,
- Possibility to enable SoftSerial. Depending on FC type, different fetures like Parallel PWM, Sonar, LED Strip or Current Meter collides with SoftSerial functionality. Check documentation first.
Next, we have to make a special cable that will bridge together TX and RX lines from flight controller and connect them to S.Port data line. Do not worry, it’s OK to bridge those pins together. Nothing will be broken, it’s just like forcing logical state on pin. Electrical diagram looks like this:

You do not have to connect +5V and GND lines. They are already there with RC signal.
When this is done, let’s configure Betaflight.
Open CLI tab end ensure telemetry inversion is enabled by typing set telemetry_inversion = ON
. Then type save
to reboot flight controller
Open Configuration tab and enable SoftSerial

Open Ports tab and enable SmartPort telemetry on selected SoftSerial port with Auto baud rate

Save settings
Open Configuration tab and enable Telemetry

Save settings
Starting from now, Betaflight will be sending telemetry data back to receiver. So, let’s configure it there. In case of OpenTX or EdgeTX it would look like this:
Power up flight controller and radio
Goto OpenTX/EdgeTX Telemetry screen
Select and enter Discover new sensors

Because Betaflight does not sends all data when disarmed, arm flight controller. Be sure to remove propellers before you do it. Safety first!
More sensors should appear
Hit Stop discovery
Done. From now on, Taranis can start showing you the data you need, report voltage, etc.
Leave a Reply