How to Setup SBus, SmartPort Telemetry

In this post we will explain how to setup and configure SBUS and Smart Port telemetry with F3 flight controllers on Betaflight, and F1 Naze32 FC on Cleanflight, with Frsky X4R-SB Receiver.

This guide will be divided into 2 parts, first part is how to do it on a F3/F4 FC, second part is on how to do it on the F1 Naze32 board.

We are using X4R-SB as an example in this guide, take a look at this list of Frsky compatible RX for other SBUS receivers often used in mini quads.

Setup SBUS and Smart Port on F3 FC

With any F3 or F4 flight controllers, SBUS and Smart port setup is very straightforward. Simply connect SBUS to any free UART RX pin on the FC (or the dedicated SBUS pin if there is one), and Smart port to another free UART TX (not on the same UART as SBUS).

The same procedure goes for both X4R-SB and XSR RX. Get your X4R-SB receiver from here.

In the above example, I am using UART2 for SBUS, and UART3 for SmartPort. Now you can configure it in Betaflight configurator.

First in the port tab, enable “Serial RX” in the UART you have chosen for SBUS. And select SmartPort as the Telemetry Output option in the UART you have chosen for SPort.

Go to Configuration Tab, and under Receiver, choose the following options.

Finally, turn on “Telemetry” feature under “Other features”. Press save, and that’s it!

Some F4 flight controllers might not support Smart Port directly because they might not have hardware inversion on their UART’s. An inverter or inversion hack on the receiver might be required. Anyway check with the flight controller manual before you do anything.


Connect SBUS on F1 Naze32

SBus and Smart port setup are pretty similar on most flight controllers in Cleanflight, main difference is the hardware setup. Obviously Naze32 with F1 processor requires a bit more DIY and effort to get working than the F3 Flight controllers. But it’s not impossible :) Just a bit more complicated.

As we have already explained in the SBUS/PPM comparison article, SBUS signal on Frsky Receivers have a inverted output signal for some reason (literally just upside down), and some flight controllers just wouldn’t recognise/understand it.

There are many ways to invert the signal, such as using a signal inverter which you can build yourself.

Note that only Rev5 or older board need to do this hack, Rev6 supports SBUS without converter.

SBUS Signal Inverter

The inverter is easy to make, only requires 2 resistors (10K ohm and 4.7K ohm), 1 transistor (BC547b), and one servo cable. These are all very cheap and easy to find. It’s explained well in this video: https://www.youtube.com/watch?v=DtvID1YeSbE.

sbus-inverter-diagram-schematics

X4R-SB Hack – No need for additional Inverter

Alternatively, you can find the pins on the X4R-SB RX, and get the uninverted signal from there directly. That way you don’t need any inverter.

frsky-x4r-sb-subs-uninverted-hack-naze32

There is actually an inverter chip on the X4R-SB RX, that’s what causes the inverted output signal. According to this diagram above, you can find the pin for the original, uninverted signal and use that direct to your flight controller.

Some people put solder a small connector to it like so.

x4r-sbus-direct-connection-uninverted-pin

SBUS Connection to Naze32

Assuming you are using UART2 on the Naze32, and keeping UART1 for your USB connection to Cleanflight configurator, you will need to enable UART2 for Serial RX first in Port Tab

sbus-cleanflight-port-tab-settings-serial-rx-uart-2

And choose Serial RX in Configuration Tab.

sbus-cleanflight-serial-rx-settings

UART2 pins are RC3 (TX) and RC4 (RX). You only need to connect the SBUS output to RC4, since this is a one direction communication. RC4 is just below the negative power pin.

You can make your cable like this.

sbus-naze32-connection sbus-naze32-connection-flight-controller

Connect Smart-Port on F1 Naze32

For the telemetry, you will need to use a serial connection again. However you can’t on the Naze32, since there are only 2 hardware UARTs and you have already used one for the the SBUS. The last one should be reserved for the USB connection. Someone confirmed in the comment and in my group that this hack also works on Naze32 Rev6 boards (I can’t confirm this as I don’t have a rev6).

However, the good news is that it is possible to use SoftSerial (software serial) for Smart Port. Pin RC5 and RC6 are available for softserial on the Naze32 board.

Note: Since RGB LED strip uses RC5, that means if you enable softserial, you won’t be able to use LED_strip feature.

Also Note that you should be getting telemetry data even when you are NOT armed.

smart-port-naze32-softserial-connection

Be aware that you need to short the 2 pins together (RC5 and RC6). Marcelo made a plug that have the 2 pins soldered together. The other end of the wire is connected to the Smart Port telemetry pin on the receiver ( the green wire in the picture).

The reason being SmartPort telemetry uses a single wire for both TX and RX. It’s a half-duplex protocol. You can emulate this using soft-serial by hooking TX and RX up to the same pin on the receiver.

With D4R-II RX, you only need to connect telemetry pin to RC6 (softserial TX), but aparently X4R-SB is different, and Smart Port has to be connected to both RC5 and RC6 pins. Marcelo tried and it didn’t work if RC5 is not connected together.

x4r-sb-receiver-rx-smart-port-cable

In the Cleanflight you have select Telemetry and softserial on Configuration tab.

smart-port-telemetry-cleanflight-settings-soft-serial

On Ports Tab select Softserial telemetry select SMART PORT, AUTO.

smart-port-softserial-cleanflight-port-tab-settings

On CLI select FRSKY Telemetry Invert = ON tlm_inversion = ON or 1, depending the Cleanflight version. Latest version he changed to ON and OFF and not more 0 and 1.

cleanflight-smart-port-telemetry-inversion-on-cli-settings

And double check if you have these features enabled in CLI.

cleanflight-sbus-smart-port-features-cli-settings

How do we know Smart Port telemetry is working?

Well, to check, Move your quad/flight controller in any direction, and look if the numbers of AccX and AccY are changing (if you haven’t disabled accelerometer, these are ACC readings). If it constantly shows 0, if either means you have disabled ACC, or your telemetry is not yet working.

taranis-tx-check-if-smart-port-telemetry-working-AccX- AccY-changing-number

For the altitude indication, to have the correct value you have to turn on first the quadcopter and then turn on the Taranis. If you turn on Taranis first it will show this wrong indications.

taranis-tx--smart-port-telemetry-reporting-battery-lipo-voltage

*note that in older version Taranis firmware, the main lipo voltage is reported through Cells, but that doesn’t work any more in new firmware, it’s changed to Vfas.

With both SBUS and Smartport connected to the Naze32, it looks like this.

sbus-smart-port-connection-cable-naze32-flight-controller

So that’s it! If you have any comments please let me know!

First created in Dec 2015, Last updated in April 2017.

134 thoughts on “How to Setup SBus, SmartPort Telemetry

  1. Andy Burrows

    Oscar, I have a Wizard x220. It comes with a SP Racing F3 v1 FC and I connected a Frsky XSR which works but I am not getting telemetry. I have ground, 5v and subs connected to IO2 but cannot seem to know where to connect the smart port yellow wire. And then how to set up beta flight. Can you help please?

    Reply
  2. Vegard

    Hi Oscar,

    On the new version of Clenafligth (V 2.0.3)
    The CLI command for FRSKY telemetry is changed. It is no longer:
    FRSKY Telemetry Invert = ON
    It is:
    tlm_inversion = ON

    Reply
  3. Brian

    I’m a bit confused. I’m still pretty new to this and I’m just getting a Frsky receiver. I have an Afroflight Naze32 rev 5, but on the website under features, it says ” Built in FrSky telemetry inverter (shared w/main port)” does that mean it has an inverter already and I can just set up the sbus and smart port? Or does this article still fully apply?

    If I wanted to just skip the smart port for now and get flying, could I just use the sbus like normal?
    I’m still waiting for the reciever and radio in the mail, so I don’t have them on hand yet. I’m just researching what I need to do to get it set up, it’s not making a whole lot of sense to me, I’m sure it will click easier when I actually have them in hand.

    Thank you for your website, it’s so helpful, you basically have an article on anything I look up. Cheers

    Reply
    1. Rene Trueeb

      Hi Oscar
      I am looking to getting into quad racing, have acquired a Tyrant S 215 quadcopter and a Taranis X9D plus transmitter. I was surprised not to have found any lead on how to get started setting up my equipment correctly for flight, the Diatone Tyrant S 215 having been declared a beginner’s quad.
      I see plenty of tutorials for beginners on equipment issues but when it comes to the essentials of configuration it gets incomprehensible because of the many self evident abreviations and prerequired technical knowledge. I tried to connect my Tyrant S to the Betaflight configurator but the flight controler D-Link F3 V2 was not listed under the FC options what’s more, Diatone recommended not to update the firmware, so I couldn’t procede in Betaflight configurator to check on the configuration of my quad. I wrote to Diatone and am waiting for an answer. I am wondering at the lack of necessity for a conclusive introduction to the electronics and configuration for beginners on the Internet (just listen to Joshua Bardwell and you get the Impression he is not addressing ordinary quad pilots but robotics engeneers ). I was thinking of giving up and purchase a well tuned RTF Combo like Lumenier QAV 210 Storm Edition, but then I’d have to miss out on my individual tuning needs. I’d be more than thankful, if you could help me find the conclusive information to setting up my Tyrant S quadcopter with the Taranis X9D plus transmitter.
      Thank you for your help, Rene Trueeb

      Reply
  4. Swansea

    Hello. Thanks for the a hole mode. Worked as a charm. With rev 6 and up is there a way to reverse the procedure? Now its not needed anymore and renders the receivers useless on new boards. I’m asking in particular to the x8r where a connection gate was needed to be broken to manage the hack. What does the B hole do? 4 holes only three are defined.

    Reply
  5. Dj DaViD

    Hello thanks for this tuto;)
    I have my naze32 with the RC4 snatch I can not solder impossible.
    Is there a way to connect my 4xr in sbus other than on track RC4?
    thank you

    Reply
    1. Oscar Post author

      you can use RX pin on top, but you will need to disconnect it everytime you use USB. Might be time for a new F3 FC :)

      Reply
  6. martyn

    Hi Oscar
    I have o Frsky xsr and emax skyline 32 flight controller. Is the rc pin connections and cleanflight set up as the naze32? or do I have to do anything different?
    thanks martyn

    Reply
    1. Oscar Post author

      Hi Martyn,
      I have never used the Skyline32, but i think it’s a Naze32 clone? and therefore you will need an inverter for SBUS signal.
      Google for Naze32 SBUS inverter hack.

      Reply
      1. Peter Davies

        The Skyline 32 is a rev 5 clone and as such you need the uninverted signal and it takes some real soldering skill on the XSR. The X4R-SB is much easier to do as there’s a pad to solder off. The XSR doesn’t have the same pad so you have to remove or somehow bridge that inverer. You’ll need a steady hand and a small iron and probably a helping hand fitted with a magnifier. I did it but lost the tiny SM capacitor next to it. I can’t arm it so even though my SBUS path has continuity I suspect that this cap is something to do with the arming path. Do yourself a huge favour, buy a X4R-SB and leave the XSR for a later F3 build, you know you’ll be building one soon enough.

  7. Geoff Pedder

    Just a quick note to say that I had trouble getting my naze32 rev6 full from arming while using SBus and smartport in clean flight.
    Today I flashed beta flight and did the same setup and the resource usage was dramatically lower enabling me to turn on more features and still have the telemetry function, and also arming is fine.

    Reply
  8. Jacob Alao

    Hi Oscar. I have learnt a lot from you. You have been very helpful. But I have a very strange problem and I will really appreciate your help.
    This is my setup:
    – FC is Airbot F4/RTFQ Flip32/F4 running the latest betaflight 3.00
    – Receiver is x4r-SB
    – Transmitter is Taranis x9a Plus version 2.1.8
    I have connected my x4R to the TX6 using a single cable from the uninverted connection on the x4r. I have enabled Telemetry, Smartport on UART6, set the telemetry on in CLI. Everything works fine except VFAS. I am able to get RSSI and I have used the RSSI to find my quad after a crash. I have 2 problems: 1. Betaflight Vbat does not read my battery voltage correctly. No matter what scale I use, the max it tells me is 11.7V. The 2nd Problem I have is, once I power up, my taranis gets the correct voltage reading from the FC 911.7v). Unfortunately, after flying for 5mins, the voltage reading (VFAS) remains the same as when I first connected and it never changes. I have tried everything and I can not figure out what to do. Please help.

    Reply
  9. Peter Davies

    Hi, I’m looking for a looptime value to get the Smart Port telemetry value to work. 2000 is out of the box, the only info I can see is lower it. Lower it to what, just till it works?

    Reply
      1. Peter Davies

        No, it just won’t arm with telemetry enabled, soft serial is ok but once the telemetry is enabled it won’t arm. It looks like you told Manfred on the 7th of august to lower the looptime. I’ve doubled it to 4000 and 250Hz but I don’t think it has any effect as the cycle time is around 1000. Jan said on the 4th of June to set the board rate to 9600 but I’m not over confident messing with comms as once you lose comms you can’t easily turn things back. I’m using Soft serial 1, perhaps 2 would be better. I did have the telemetry working through the OSD but of course this doesn’t need it to be armed. It’s a Skyline 32 advanced OSD which is based on the Naze 32 rev 5.

      2. Oscar Post author

        If you are using softserial, and it doesn’t arm, it sounds like it just runs out of processing resources.
        but i don’t see why you would want to use telemetry while you have OSD.. normally you only need one.
        maybe time to move on to F3 :)

      3. Peter Davies

        This is my first build so I’ve never used either, I just presumed it was the telemetry that was being displayed on the screen, I’ll just knock the telemetry off, got no choice anyhow. I’ve got another frame to build up this weekend with an Omnibus F3 that also has an OSD. I’ll hopefully have that one flying a lot quicker than this Emax has taken me. I fancied seeing how they compared coping with growing skills.

  10. Casper

    Hi Oscar
    I’m new to this hobby.
    I would like to keep the led strip and have telemetry. Is that possible ??
    I have flip32, x4rsb and a taranis.
    Thought one could use softserial on pin 7 and 8 instead of 5&6
    Is this possible??
    Regards from denmark

    Reply
  11. joh

    After plugging in my x4r into my flip aio32, my xjt module starts beeping and never stops. why is this, also my flip aio isn’t gettting my x4r signal on cleanflight gui. thanks for your help

    Reply
  12. Hans

    Hi Oscar, i’m using Frsky X4R-SB for the receiver and Naze32 rev6 thin DF for the flight controller. I already follow your steps. And I can discover 10 sensors in the telemetry tap. But the value of VFAS, ACCX, ACCY, ACCZ sometimes changes, but sometimes they dont change. Do you know how to fix this ?

    Thank you

    Reply
    1. Oscar Post author

      You might need to put a diode between RC5 and RC6 in that case? Ctrl+F to search “diode” for the comments with instructions and reasons on this post.

      Reply
  13. [email protected]

    Just wanted to post some pics of my DX6i that fried itself. It was much modified and had a 1200mah lipo because sometimes I would work for hours with the power on.I was fully aware and an old hand(I mean old)in the electronics field. I knew this sometimes occurs,but had never happened to me.The 6i was off and sitting on a tile floor by my foot. We heard a small single Pop about as loud as if a bubble wrap had been stepped on.minutes later we smelled a chemical smell which we know now was electrolyte.We looked all over trying to locate the source.Then the 6i gave a loud fizz and put out a cloud of smoke followed seconds later by flames.The actual chemical fire was inside the plastic case and appeared to be self oxidized cause no air was getting into a case that was spewing flames under pressure.I had seen laptops and those ride-on boards do this and not start big fires,but it is still big enough to get your attention.I carried it outside by the antenna.

    Reply
  14. Manfred

    Hello, great tutorial. I only have a problem if I can activate Soft Serial and Telemetry the naze32 rev 5 no longer turn armed. What could be wrong? greeting Manfred

    Sorry for my bad english.

    Reply
    1. Oscar Post author

      when you turn on too many features it will run out of processing power, thus cannot arm.
      you will have to lower your looptime if you want to turn on those features.

      Reply
  15. Notraps

    Thanks so much for your work Oscar.

    I have had Telemetry set up and working with the D4R-ii before I switched to the x4r and Ready Made RC seriously Dodo FC.

    For whatever reason, in the Betaflight configurator the voltage is reading correctly (15.6v) through the FC, but when I’m pushing the data through the smartport telemetry wire something weird happens. The voltage is reading 4.1v on my Taranis under VFAS. It jumps up slightly (to about 7v) if the usb is plugged in, but I can’t figure out why it wont read the full pack voltage. I also can’t find any voltages that are relating to the value the Taranis is picking up.

    I’m assuming at this point I have a bad X4R or there is some setting in the Taranis that I’m missing. I assume the FC is ok because the voltage is reading correctly in the configurator yeah?

    I’ve double checked connections on the X4R (and have one on order to check if the module is bad) I even pulled out the jeweler’s loupe to make sure solder connections aren’t overlapped or damaged somehow.

    I’ve searched all over and can’t find a solution that is applicable to my problem.

    I know this isn’t your problem, but I would love to stop using the timer/buzzer method on my digital setup! Any ideas would be great because my brain just can’t figure it out. Everything else on the quad works perfectly.

    Thanks so much Oscar. Love your blog!!

    Reply
  16. George

    I made a stupid mistake this setup worked fine but I had a problem in pin of. X4r and I pluged a battery into x4r and power webt through to naze rev5 and burnted something, now even when I upload the firmware with boot pins shorted I get this results

    https://youtu.be/D2yy-7ZAPm4

    Reply
  17. Mikhail

    Hi!
    I’m using sbus on f1 emax skyline32 FC. So if I enable soft serial, it is not possible to enable Led Stip.
    is it possible to enable only one soft serial (the second one – pin 7 and 8) for telemetry and disable softserial 1 (pin 5 and 6) to let it be used by led strip?

    Reply
  18. Adriano

    Hi Oscar, I have read you post, i would ask your help if is possible for plug in SBUS my Taranis E with my skyline 32 Emax
    I have plug ch 4 in sbus port of my X6R RX, went in Clean flight open uart 2 on serial RX, put on rx serial SBUS and selected SBUS, but not work.
    I have asked if I need a wire inverted but tell me that is not necessary.
    I have no idea for activate the SBUS

    Reply
    1. Oscar Post author

      The Skyline 32 is basically a Naze32 Rev5… just different layout i believe so you do need external inverter, or do inversion hack on the RX if it’s a X4R-II

      Reply
  19. Ricardo

    My Naze is like this one

    dragonflyracingdrones.com/wp-content/uploads/2015/06/naze32.jpg

    How do i connect?

    Thanks

    Reply
  20. Line Scan Camera

    Thanks for sharing this nice article. I read it completely and get some interesting knowledge from this. I again thanks for sharing such a nice blog.

    Reply
  21. Randy

    Awesome work Oscar. I really appreciate all the time you spend helping people like me out.
    I was hoping you could tell me if I were to uninvert the XSR’s sbus signal by removing the chip and soldering in a bridge and then later once I get an F3 FC, would I ever want to or need to put it back the way it came for any particular reason? I still don’t understand why it’s like that to begin with.
    Thanks!

    Reply
    1. Oscar Post author

      sorry i have yet to get hold of a XSR unit and test it myself… i would say yes but i can’t confirm just yet :)

      Reply
      1. Chris

        XSR works fine – Naze32 Rev6(B) Thin 6DF Flight Controller, use SBUS, link pins 7&8 on FC, connect to rx, set soft serial and telemetry on, smart port 2 enabled on auto, ensure telemetry invert is ON – works perfectly

  22. Samuel

    Hi Oscar,

    Working first try on Skyline32, using softserial 2.
    I soldered a 10k between softserial TX(RC7) and RX(RC8) and wired SmartPort to RX(RC8). I didn’t like the idea of having 2 output pins wired together.

    Regards :)

    Reply
  23. villy F

    Hi Oscar,
    thanks for your help on setting telemetry up on my flip32 and X4R-SB. I don’t understand why I on my flip32 10dof don’t get alt or acc telemetry from my FC. is it only rxbat, a2 and rssi it’s possible to read from the FC?

    best regards
    Villy

    Reply
  24. Marvin

    Hi Oscar – great write-up as always! I finally got Smart Port working on Soft Serial 1 on my Dragonfly32 last night. I originally tried shorting pins 5 & 6 (Soft Serial 1 RX & TX) together however that did NOT work on my Dragonfly32. I then added a signal diode (1N4148 or equivalent) from pin 6 (Soft Serial 1 TX) to pin 5 (Soft Serial 1 RX) instead of shorting the pins and it works great with my X4R-SB receiver! I did need to disconnect my Flight Controller from CleanFlight before it worked.

    I also tried shorting Soft Serial 1 TX & RX on my older Flip32 Pro flight controller and that did NOT work either. I haven’t tried adding the diode to that build but I expect it will work.

    Reply
  25. dukedolphin

    Dear Oscar,
    i try to run a FRSky XSR on a flip32 mini.
    I use ppm which works fine and like to use the uart2 for the smart port.
    I tried it with a resistor 1k and 10k between RX and TX and connect RX to the smart port.
    Telemetry_Inversion is on and Uart 2 is set to smart port and 57600.
    But still i did not get any Telemetry on the Taranis.
    Any Suggestion?
    Best Regards Boris

    Reply
  26. SethMo

    Anyone know how to get Smartport telemetry working on the Dragonfly32? I have sbus on port 4 and it is working.

    I have smartport on soft serial 1 tx(port 6).

    Betaflight:
    Ports Tab:
    Smartport enabled on Soft Serial 1

    Configuration Tab:
    Soft Serial enabled
    Telemetry Enabled

    CLI:
    I have tried telemetry_inversion both On and Off

    When I do “discover new sensors” on my Taranis, I only get A2, RxBatt, SWR, and RSSI. Anything I am missing?

    Reply
  27. Edgar

    Hi All
    Today I spend hours trying to connect my AfroMini Rev3 (the newest, = Mini Naze32) to any FrSky receiver with SBUS and S-Port. I have the brand new XSR and also the X4RSB. SBUS worked right away without any problem and the telemetry data form the receiver like RSSI was also shown in my Taranis. But I could not see any information from the AfroMini (connected to SoftSerial). After I read the comments to this article I added a resistor between TX and RX from the flight controller and then connect this to the receiver. That worked fine with the XSR and with the X4RSB. For testing I used a 10k potentiometer. It seems almost any resister value works in the range of about 500Ohm to 10kOhm (maybe more). I order last week already a box of SMD resistors and after they arrive I will finalize this setup. Thanks for the resistor idea – it saved my day.

    Reply
    1. Rene

      Hi Edgar,

      I also have the XSR and Naze32 rev6. Does the XSR also require you to “Bridge”, or solder between the gap to connect 5 and 6 Together on the naze??

      Reply
      1. Edgar

        Hi Rene
        sorry for the late reply. Here is what I did:
        fpvlab.com/forums/showthread.php?46100-New-FrSky-XSR-–-3-8g-–-buy-it-now&p=781540&viewfull=1#post781540

  28. anton

    Hi Oscar and everyone else,

    Were you able to successfully connect telemetry to an X8R? I made the inverter cable based on the instructions posted (thank you!) and got the channels to work. However, i cannot get the telemetry to work . I checked my connections a million times and checked that everything is configured exactly as described here but i am getting nothing. Could it be that the smart port on the X8R receiver is not the same as on the X4R? The X4R says that it has analog telemetry capability but X8R does not.

    I really want the telemetry so last night i gave up and ordered the D4r-ii receiver. But it would be nice to figure this one out.

    It’s my first quad btw and so i really don’t know anything about anything. Your blog has been incredibly helpful! thanks a ton.

    Reply
    1. anton

      Hi All,

      I did get it working with x8r tonight! Thanks to to couple commenters below that helped me put it together.

      The biggest thing is that the telemetry_inversion would not stay ON when i exited out of the CLI tab. It says that it is “saving” but in reality it did not save. I had to type in save and then exit for it to stay on. I ran a discovery on the transmitter got all the telemetry sensors.

      I was getting a bit of a weird behavior though. Telemetry would go out and the receiver wouldn’t bind right away. So based on another commenter below i added an inline 10k resistor on pin 5 before shortening it to pin 6. Its suppose to be a diode but as someone mentioned below, 10k resistor might do the trick? I do not have any diodes. Now it seems to bind right away and telemetry stays on. Hopefully that was it.

      Looks like i’ll stick with this receiver, although it is my understanding that i can’t get OSD telemetry now?

      thanks all.

      Reply
    2. Oscar Post author

      i don’t use X8R, but someone in the comment said they did Smart Port Telemetry with the method in the post (do a Ctrl+F)
      sorry i am really not sure!

      Reply
  29. Wes S

    Hi Oscar,

    I’m trying to get the hack to work with my Flip32, and the X4r-SB isn’t communicating with my Flip32. Here is an image of how I’ve wired it up: http://i.imgur.com/6IbnfKI.jpg I’m not sure if I have to connect the red (5v) and the VCC to the pins on the uninverted signal, but for now I connected the VCC into the uninverted signal, and the 5v and ground with a plug onto the pins of the X4r-SB. I have bound it to my transmitter, so I do know that’s not the issue.

    Here’s an album of the setup if you need it. http://imgur.com/a/aFgCf

    Reply
  30. Magai

    Hi Oscar,

    I’m new to Quads. You blog helped me a lot along the way! So thanks very much!

    Just a quick question, is it possible for Naze32 to report battery voltage through telemetry to taranis using X8R and without using any other battery monitor module? (I’ve set up my telemetry and am able to get altitude, AccX,Y,Z and all that.)

    Thanks again!

    Reply
      1. anton

        Hi Magai,

        Did you get the telemetry to work on the X8R? Following these instructions or did you have to do anything differently? I got the s-bus to work but i can’t get smart port telemetry to work.

        thanks,

    1. Oscar Post author

      I haven’t tested X8R myself, but someone in the comment said it worked for them… (same hack)

      Reply
  31. Cam

    Hi Oscar, using BF 2.2.0 with a Rev6 and an X4R I’m only able to actual Vfas data when:
    set frsky_vfas_precision = 1
    Everything else is as you have instructed. Not sure if anyone else is in the same boat; just thought I’d throw it out there. Thanks for the help!

    Reply
    1. Oscar Post author

      thanks for the heads up Cam. it’s probably taranis firmware related…
      I have never changed firmware on the Taranis just to avoid problem hehe…

      Reply
  32. hoggdoc

    Great Blog Oscar.

    But may I suggest that US buyers go to alofthobbies.com/frsky-x4r-sb-3-16-channel-receiver-with-sbus-and-cppm.html
    for their X4R RXs as Wayne’s prices is much better than Banggood’s and his service is 1st class as well.

    Reply
    1. Oscar Post author

      thanks Hoggdoc, it’s just that when people buy via the link i provided, BG gives me a little commission which keeps this blog going :) thanks for the link though!

      Reply
  33. Christian

    Hi Oscar,
    I would like to share the configuration on my Flip32 Full + X4RSB that FINALLY allowed SmartPort telemetry to work for me:

    – only working in Cleanflight (1.2), NOT working in Betaflight (tried 2.2 & 2.4, telemetry received, but arming impossible)
    – only working via Softserial 2 (RC7&8 bridged into SmartPort), NOT working via Softserial 1 (RC5&6)
    – only working with a resistor (1k in my case) between RC8 pin and SmartPort
    – occasionally not working while plugged into USB

    everything else as described by your post. I am not sure if heavy load by softserial might be an issue. Configurator (1.2 reports looptime of ~ 1000, yet config dump reports looptime = 2000)

    Thanks and greetings from Berlin, Germany!

    Reply
    1. Oscar Post author

      you cannot use soft serial in the latest betaflight releases if you are using F1 flight controller due to resources limitation, it won’t arm if you do.

      Reply
      1. John Mosley

        Hi Oscar,
        Is this also true for Naze rev6? I was hoping to use the following:

        X4R on SBUS connected to GND, 5V and Pin 4
        X4R connected by bridge to Pin 5-6 (SoftSerial)

        Micro MinimOSD connected to UART1 TX and RX pin (I would unplug this before using USB)

        I really wanted to try out the new BetaFlight firmware to use Airmode.

      2. Oscar Post author

        Hi John yes, it also works on Rev6 :)
        and your plan should work :)
        but be aware the new betaflight firmware is really processing demanding especially the 2Khz mode, you might not be able to run 2Khz mode with it (you need to disable ACC and soft serial)… if you find you cannot arm your quad, then you know the FC isn’t catching up with the processing :)

        by the way, I recommend joining this forum, it’s very useful and there are lots of helpful people there. I am a daily user too :) http://intoFPV.com

  34. Steve Sumner

    I tried all the things above but couldn’t get it to work, but solved it, I had to use a frsky fuc-3 in between the naze and x4r. Here’s link for more info. rcgroups.com/forums/showthread.php?t=2573800&page=2#post33969408

    Reply
    1. Paul

      Hi Hamed,
      did you find the uninverted signalpoint on the X8R, and does this transfer all SBUS data (incl RC, not only telemetry?)
      Could you please help me to identify the location, I dont find an U8 Chip on the X8R as shown on the X4R.
      thx in adv.

      Reply
  35. Patrick

    Hi Oscar, thanks for the great info!

    I’m working on my first build (ZMR250) and your guides have been invaluable. Telemetry is the only thing that I’m still having an issue with. I’m running Betaflight on Naze32 Acro rev6. My X4R is connected via SBUS (with the jumper between 5/6). After following all your instructions (besides the inversion hack, which I’ve been told I don’t need to do on rev 6?), I now get telemetry info on my Taranis. Hooray!

    The problem: with SmartPort enabled on softserial 1, the quad will no longer arm while in luxfloat. As soon as I disable smartport, I can arm the quad but not get telemetry. Any ideas?

    Reply
    1. Oscar Post author

      are you running the latest betaflight? i think it disable softserial to squeeze all processing for the PID loops.
      try older versin like 2.1.6 or cleanflight.

      Reply
  36. pedro cuberos

    Hello Oscar, my situation is that i have a D4r-II receiver and a Naze32 rev6. I haven’t found a way to activate telemetry.. it works on baseflight connecting to pin 6 and activating softserial in CLI but i cant make it work on cleanflight… please give me a hand with this and thanks in advance

    Reply
  37. Scoobler

    Hi Oscar, Iust wanted to post some findings to help with others who might be getting to their limits or frustration:

    I have both a Naze32 Rev6 and a Rev6.b (5v from the USB does’ pass to the other 5v connections) and an X8R and X4R.

    All combinations are working with Taranis X9D Plus with the latest OpenTX and Betaflight 2.3.3.

    I have connected +5v, GND and Pin RC4 to the SBus port on the receivers.

    Then bridged Pin 5+6 of the Naze32 (I bridged with a bit of solder) and connected to the SmartPort wire of the receivers. Personally I removed the other wires from the telemetry connector that goes into receiver (red and black on the X8R and red, black and white on the X4R).

    Set the settings like in the post above, as it states change settings (ports and config) and check, there is an order things have to be done, so you may change URART2 to SerialRX in the Ports Tab and find the Config which you had selected SBus and RX_Serial change to something else, so check, check and check again, keep changing till they all stay as you have set, they will do.

    I found the first time I had changed everything and set the telemetry inversion, I wasn’t getting anything back to the remote and started to feel defeated. It was only after unplugging the USB and arming the board I tried one last time on the remote to discover new sensors and everything appeared!
    I don’t know why the telemetry didn’t show up till after unplugging the USB and arming the board, as ever since then it has worked, even with the USB plugged in and without the Naze32 armed. This happened on both boards!

    Also to note, in Betaflight 2.3.3 looptime cannot be changed any more. With the USB plugged in Cleanflight Config is reporting looptime around 990-1000, so reports of the looptime being too fast or slow for the softserial baud rate ‘seem’ to have no affect at the moment. More testing may prove otherwise, but for now I just wanted to confirm it definitely works with the only ‘hack’ being needed was to connect the SmartPort cable to two pins!

    Reply
    1. Oscar Post author

      thats really useful!! thank you!
      lastly, i would really appreciate it if you could join the forum : http://intoFPV.com … so I don’t want to miss your comment, because I only check my blog comments once a week, but I use the forum daily!

      Reply
  38. luke

    Hi Oscar

    Thanks for the tutorial!

    Has anyone tried this with a CC3D (running betaflight)? Im concerned the X4R end of the s.port is +5V and will destroy my board.

    The CC3D flexport TX pin outputs +3.3V/GND
    The CC3D flexport RX pin reads 3.3V/GND but is tolerant to +5V/GND
    Source: opwiki.readthedocs.org/en/latest/user_manual/cc3d/cc3d.html#mainport-and-flexiport-serial-cable-pinout

    Ive got a few thoughts:
    1, the CC3D flexport TX pin is also +5V tolerant, but its not label such because its generally used for input
    2, the s.port on the X4R runs at +3.3V
    3, the naze32 boards all run at +3.3V which would suggest i can copy this mod on my CC3D

    Thanks
    Luke

    Reply
    1. Oscar Post author

      I don’t think it will work on the CC3D :( only Naze32 rev5 and 6
      lastly, i would really appreciate it if you could post your questions on the forum in the future: http://intoFPV.com … I don’t want to miss your comment, because I only check my blog comments once a week, but I use the forum daily!

      Reply
  39. Pete

    For telemetry to be guaranteed on the Smart-Port you will need a diode (a resistor of a few hundred ohms into the 10’s of K would probably work too) from TX on the flight controller (RC6 in this guide). This is mentioned in the comments as the diode tip. For some it will work without because of device tolerance, essentially without the diode or resistor, you’re driving logic 1 from the receiver to a logic 0 from the flight controller, whichever has the weaker current limit will loose. Logic transistions ideally should be 0 to 3V3, I was getting 0 to 1V when linking which doesn’t work as the RX on the flight controller does not ever see a logic one and hence no data requested is ever sent. Apart from that, this guide is golden.

    Reply
    1. Oscar Post author

      thanks Pete, yes I see that in the schematics in smart port cable data sheet, i will update the post when I have time..
      lastly… i would really appreciate it if you could post your questions on the forum: http://intoFPV.com … I only check my blog comments once a week, but I use the forum everyday!

      Reply
  40. jgosuna

    Hi oscar
    thank you for your job
    it worked for me, my hardware is X8R and naze32 rev6, the only issue that i had was the last version with boris frimware, i downgraded it to 2.2.0 firmware and it works!!

    thank you

    Reply
  41. Tom

    Hi Oscar

    Thanks for the tip with the diode. It works and telemetry is coming in. You have to set both Softserials to the same baudrate or it wont work.
    So telemetry from the x4r is set to 57600 so you must set the gps also to 57600

    Reply
  42. Ronny

    Hi Oscar,

    FrSky use a diode between rx and tx on their cable for S.Port instead of just shorting them. See the last page of frsky-rc.com/download/down.php?id=121 for the schematic.

    Reply
  43. Tom

    Great page, helped me a lot to set up the Flip32 with X4R in Sbus with a Taranis Plus Version 2.1.7

    Telemetry works, but Taranis only find the RxBt and A2 Parameters. It doesnt find any other sensors in the telemetry page

    It doesnt matter if I use RC6 or RC8 wether or not tight together with RC5 or RC7. Telemtry works anyway but only those 2 Parameters.

    Any Idea to how to get Accx and others?

    Regards
    Tom

    Reply
    1. Petter

      Hi Tom

      have you been able to find a solution to your problem? I have the same Taranis firmware as you, the flip32 and x4r-sb connected successfully with sbus. I am only getting the a2 (whatever that is) and the Rxbt sensors. I have tried to connect smartport to RC 5+6 and 6+7 but i´m not getting my total battery voltage in Taranis as shown in cleanflight (betaflight). I have also tried different firmwares of both betaflight and cleanflight . any tips would be appreciated .

      Regards
      Petter.

      Reply
      1. Alan

        Hi Tom, Hi Petter,

        I have the same problem here with Taranis 2.1.7, X4R-SB, Naze32 and the diode on RC6. I only see the A2 and Rxbt sensors. Could the Taranis firmware be the problem (since they redid all the telemetry stuff)?

        Thanks for any help!

        Regards,
        Alan

      2. Alan

        Hi Petter,

        I posted earlier writing I had the same problem and blaming the newest Taranis FW (I guess Oscar did not unlock that post yet). I was wrong…

        Anyway, I finally got my telemetry to work: I must have typed a thousand times “set telemetry_inversion = ON” in CLI on Cleanflight. And the immediate output was always “telemetry_inversion = ON”. I recently noticed however that this option is not being saved automatically after the reboot. You can verify that by typing “get telemetry_inversion”. So after typing “set telemetry_inversion = ON” and before rebooting you simply type “save” so that it does exactly that. This fixed the problem for me. Now I have 6 more sensors showing.

        I guess if you aren’t new to this (like I am) you probably have checked that already and it might not be the solution for your issue. Just wanted to leave this here so that somebody else is spared the effort… This reddit post helped me out to find my mistake:

        https://www.reddit.com/r/Multicopter/comments/3kk1l0/help_setting_up_telemetry/

  44. Olao99

    Hi Oscar

    I can confirm this is also working on the X8R with the same Softserial setup.

    I’m using:
    – A Naze32 rev5 with Betaflight 2.2.0
    – Uninverted SBUS from the X8R from the “A” pin connected to UART 2
    – Smartport connected to a shorted lead of RC7 and RC8 pins in the Naze
    – A micro MinimOSD connected to RC5 and RC6

    I was only able to get this to work by updating my Taranis firmware to OpenTX 2.1.7 and then scanning for telemetry sensors

    Reply
  45. maciek

    Hi Oscar,

    My experience with naze32 rev6, x4r-sb, and ublox gps was as follows

    I hooked them all up together as follows:

    Naze32 to frsky via SBUS (serial_rx – pin4)

    Naze32 to GPS via SOFTSERIAL1 (GPS 19200 bps) rx/tx pins

    Naze32 (telemtetry) to frsky smartport via SOFTSERIAL2 (telemetry AUTO – i believe defaults to 57600) (shorting pin 7&8)

    My observation is that only one of the 2 features can work okay with naze – you either have good GPS or telemetry.

    When both are active at the same time, the quad behaves erratically – stability corrections are not frequent enough and no telemetry data.
    Even when disconnecting GPS behaviour is the same, while i do get the telemetry data.

    My conclusion was that setting SOFTSERIAL to send smartport at its AUTO rate (57600) overwhelms the board as well documented on other posts. Effectively this makes smartport telemetry unusable with naze32 rev 6 if you use it via SOFTSERIAL.
    The only reliable option is to switch back to CPPM (8CH) (loosing SBUS 16CH :( ) and use uart2 for smartport data.

    If anybody had more favorable experience – can you please share? I spent many many hours on this w/o much luck.

    cheers
    maciek

    Reply
    1. Greg

      Maciek – Can you share the connection of UART2 to SmartPort? Are Tx/Rx (pins 3&4 on Naze32) shorted to the SmartPort Signal wire?

      Thanks … also, do you have power both on the SBUS pin header AND the SmartBus connections?

      Reply
  46. Brett James

    Hi Oscar,

    Hm, I’ve got the opposite to most other people – I don’t have the transmitter getting picked up via SBUS.

    A rev 6 Naze, and X4R. The Smart port is wired to RC5/6, and is working Great!
    Am getting AccX etc back fine on the taranis.

    However I’m not seeing any Transmitter controls in the receiver tab!

    I’ve got Soft Serial (Smartport), and Telemetry enabled in the Config tab, as well as Serial Receiver: SBUS, and RX_SERIAL enabled. With those settings, I see no response with a bound X4R in the receiver window.

    Reply
    1. anonymous

      Double check your settings… similar thing happened to me today.

      Check: Soft Serial (Smartport), and Telemetry enabled in the Config tab, Serial Receiver: SBUS, and RX_SERIAL enabled, UART2 has the RX enabled too.

      Reply
  47. Dan Brown

    Hi Oscar
    Great article!

    This has helped me out no end.

    I’ve just performed the X4R Inverted Signal Hack. My approach was to solder to the tabs at the top of the board, above the inverted signal chip.
    I then connected these to the Naze32 board as you would do per your article “Vcc, Gnd and RC4”

    I also connected the power supply for the receiver to the Vcc and GND tabs either side of the Inverted signal tab. (above the chip again)

    Now upon connecting the S.Port to RC 5&6 on softserial, the “RxBatt” reports back as 3.1v. I’ve measured at the pins with and without load and I get a steady 5v using a multimeter.

    The telemetry report on RxBatt doesn’t change when in use.

    Should I have used these tabs? Or would I be better connecting the 5v supply to the Vcc and GND pins on the rx output. And left the signal connected to the tab marked “A”?

    Cheers
    Dan

    Reply
  48. Mohammed

    Hi Oscar

    I tried to use smart port with skyline32 board and x8r but not working .
    Connected the signal wire to rc5 and rc6 used soft serial 1 and set telemetry_inversion = 1 .

    Reply
  49. EV

    Hi Oscar :)

    I read that S.Port baudrate is 57600bps, but the softserial only support baudrates up to 19200bps.
    Do you know anything about this constrain on the softserial ports?

    Reply
  50. Hélio Teixeira

    Hi Oscar,
    FrSky just made available a new firmware that enables CPPM and SBUS on the X4RSB.
    No need for extra cables since Taranis can be connected to X4RSB through the SmartPort for firmware flashing.
    BTW I’m a huge fan of your work. I’ve been following you since the hexapods!

    Reply
  51. dt

    Hi Oscar,
    I’ve also got the naze32 rev6 and have tried all of the above. No dice.
    Running the latest BetaFlight, ersky, and using X4R-SB. SBUS is working, just no telemetry on my Turnigy 9XR.

    Reply
    1. dt

      Just realized that my 9XR was incorrectly set to invert the telemetry data as well. Mike B said not invert on the Turnigy 9XR here:
      openrcforums.com/forum/viewtopic.php?t=6790
      Now the data is coming in!
      Thanks for your post!

      Reply
  52. GhostSharp

    Hi Oscar,

    I have 9XR Pro, X8R and Naze32, I tried to connect naze using smartport but failed. I dont know why i dont receive telemetry data. I have the last version of Mike (developer firmware ersky).

    Is needed inverter cable for smartport too? (i connect directly from 5+6 to signal SPort).

    Reply
    1. Charles C. Spencer III

      Hi ghostsharp:).

      The rssi, the first part getting the telemetry working would not show. I had an issue with the 9xr pro and firmware, and the clock, I opened it up to reset the clock and the clock worked and would now set time and date. The funny thing is the telemetry started working properly right after. I think part of the time circuit froze and caused the telemetry problems.
      No inverter cable needed. Set the naze32 to “invert telemetry = on” in the cli. Turn it off in the 9xr pro…..

      Razor

      Reply
  53. Rain

    Hi Oscar!

    Thank you for your inputs above. I was actually able to do everything above since I already use X4r via the rx board “A” hole mod to pin 4 of the flip32 full version 5.

    However, when using the sbus output jack and using the smart port wire into serial 1 RX and TX shorted out, my taranis 9xd does not show telemetry.

    I’ve set CLI to the ff:
    invert = on
    telemetry = on
    softserial = on
    rxserial = on

    All port configurations also complete.

    Did I miss anything else to have the telemetry show?

    Thank you very much! :)

    Reply
    1. Oscar Post author

      i have heard several problems of setting up smart port telemetry on flip32… maybe it’s just not working on that board?

      Reply
  54. Terje

    Hi Oscar, great tutorial! Got it working on the RCExplorer integrated Naze32 board with a hacked X4R-SB. Can’t seem to get blackbox logging working at the same time though.

    Do you have plans for a similar tutorial on setting up S.PORT telemetry on the Seriously Pro Racing F3 boards using softserial?

    Reply
  55. Tom

    Hi Oscar,

    I am a bit confused I guess. You have the pic with 2 wires coming from the uninverted signal pins on the X4R, but 3 going into the naze. Is the 3rd from a 5v power source?

    Reply
  56. Herman Sugianto

    Hi Oscar

    Yes. I just got mine working with futaba R6208 and Naze32 Rev5.
    But I just use the SBus.. i did not use the smart port…
    thank you everyone… truly good job… well done…

    Reply
    1. Rene Vernes

      Hello herman.

      I hope you can help me.
      Do you use pin 4 or 3 for signal
      And do you use a cppm inverter ?
      I do but still will not work. Uart 2 for rx
      Ppm on first tab sbus next tab.
      I have used zyx inverter and cppm from immersion
      What do i not see .
      Thanks

      Reply
  57. dan

    Hi Oscar,

    This is awesome! i can’t wait to try this!
    one question:
    What about the other 3 wires on the smart port? where do you connect then? or do you only need the green wire?

    cheers,
    dan

    Reply
  58. Jan Johansson

    Hi Oscar
    I would recommend a small resistor (100Ohm or whatever) between connector and the non-inverted output, wihtout it you will fry the inverter if you accidentally short your new SBUS-pin to ground.

    Reply
  59. OSos

    Hi Oscar,

    maybe you’ve got a hint for me. I’m trying to get SPort working on a AfroMini Rev3. Conected RC5/6 to the SPort but nothing happens. If I Change Telemtry-Provider I’m able to see some Data (I’ve connected a USB-Serial Adapter RX direct to the SPort line), but when I enable SPort it looks like the only commuication that’s happening is from the Receiver itself.
    As far as I understand there shouldn’t be any Problem with AfroMini, after all everything is handled via Software.

    Reply
    1. Austin St. Aubin

      Hi Jan Johansson,

      I am having the same issue trying to get SPort working on a AfroMini Rev3.
      I connected RC5/6 to the SPort but nothing happens as well.
      I tried using a RS232 to TTL adapter as a hardware inverter to SPort from RC5/6, also tested on USART2… nothing worked.

      Have you tried software serial on RC7/8?
      Did you ever find a solution that worked to get ?

      Reply
  60. I tried and not working

    I tried and not working,

    Also a friend of mine everytime he sets set Telemetry_inversion 1 (CF 1.10) it autorestart to 0….

    Reply
    1. Riquez

      Hi Jazzcool, I wish you would share what you did. I have X8R & Rev6, betaflight – I can’t get this to work. In fact I can’t get anything to work on Rev6 Softserials (eg: osd)

      Reply
  61. Luke

    Hi Oscar, Will running softserial affect the loop time at all? Im running betaflight. Thanks for this guide, I was going crazy trying to figure how to get this to work on X4R-SB

    Reply

Leave a Reply

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

Are you Robot? *

I don't look at blog comments very often (maybe once or twice a week), so if you have any questions related to multirotor please post it on this forum IntoFPV.com... You're likely to get a response from me faster on there.