Passionate about technology, people, new places and especially the possibilities of the future – here you will find the musings and antics of Jason Blackman (blckmn).

Smartport, the FrSky XSR, and Betaflight

The Frsky XSR – also known as the X4RS (rev1) – is a new Receiver from FrSky that is super light and small, and gives you up to 16 channels for a drone. It uses the dreaded smartport for telemetry though as does all the X series from Frsky. This mod applies to X4R-SB also see bottom of page.

Connecting a XSR to a flight controller (FC) for SMARTPORT telemetry is a problem, given the inversion and single wire (half duplex) nature of the protocol. The good news is the XSR is easily modded (simple wire addition – no component removal or track cutting) if you have a steady hand and a fine tip soldering iron.

Here is the top side of an XSR that you need to solder a single wire in order to directly connect to the FC (note the STM32F103 MCU is on the top side).

The GREEN arrow (SOT23 transistor) needs to connect to the TX of a spare UART on the FC. If you are using Betaflight or Cleanflight you only need to connect a single wire to the GREEN arrow and TX pin. This is because the firmware puts the UART into a bi-directional half-duplex mode using the TX pin only (the TX and RX pins are bridged within the MCU to be specific). If you are using an alternate FC firmware, you may need to connect the WHITE arrow (middle pin [A] of an XOR chip, SOT23-5) to the RX of the same spare UART on the FC.

It is fine soldering required. Here’s the tip: make sure you wet the area you plan to solder to with some solder first, e.g. the middle pin of the XOR chip (WHITE arrow), and the pad for the transistor (GREEN arrow). If you make a little L shape with the wire for the WHITE arrow means it can be hot glued to the top of the XOR chip for stability. Be careful of the capacitor near the middle pin (only use a fine tip iron!!). The wire for the GREEN arrow can simply be soldered direct to pad, as there are limited nearby components.

This image shows the left over cut off of a twisted pair ESC PWM fly lead utilised for the connectivity to the FC.

The connections are 3.3v so can directly connect to the FC. Once connected set the smart port telemetry up in Beta/Cleanflight configurator for the UART you are using on the FC (in the ports tab in configurator). Save and Reboot.

Once done, you can move to your Taranis Tx and select the model you have bound for the XSR receiver. Power up the FC and the Receiver. Page through to the Telemetry page, and select “discover new sensors”.

In this image the XSR is connected to a BlueJayF4-rev1 with a barometer so the Taranis is displaying [ALT] for altitude. The drone battery voltage is displayed as VFAS.

NOTE: The smart port only attempts to connect and run within 5 seconds of the FC powering up. If at anytime the connection to the UART is disrupted the smartport telemetry will not operate until the next power cycle of the FC and Rx.

The best part is the XSR should still work with other FrSky telemetry items.

This same mod can be performed on the X4R-SB. See below. Same details apply i.e. The GREEN arrow (SOT23 transistor) needs to connect to the TX of a spare UART on the FC. Again, if you are using Betaflight or Cleanflight you only need to connect a single wire to the GREEN arrow and TX pin. If you are using an alternate FC firmware, you may need to connect the WHITE arrow (middle pin [A] of an XOR chip, SOT23-5) to the RX of the same spare UART on the FC.

Note that this unit has already been modified previously to remove the pin headers etc, and did have an SBUS inversion removal mod before being returned to normal (hence the wire link, which should be ignored for this smartport modification).

Related

6 thoughts on “Smartport, the FrSky XSR, and Betaflight”

Great info.
Is this also working for you with BF3.1?
I tried connected the uninverted sport wire to the flexi port (tx), but no new sensors are discovered.
Telemetry in BF enabled along with sport telemetry.

I too have an issue, however, VFAS does show BUT the voltage just stays static (to what is set in VBAT)? The asterix beside VFAS also flashes?
I’m using an official OpenPilot CC3D Revolution board (white) flashed with BF3.1 with the X4R-SB connected as per your instructions.

Could you do a continuity test on an XSR to see where else the green arrow trace leads to? I accidentally yanked the soldered wire while installing, lifting the trace from the lower transistor. Appreciate your help in advance.