User Guide: FrSKY S.PORT telemetry

Michael Lyle edited this page Aug 10, 2017 · 12 revisions

Note: this S.Port module applies to "D16" mode telemetry. If you are using D8 mode (i.e. Sensor Hub) then see this article for the Sensor Hub module. Different receivers either use D8 or D16 mode, so make sure you check what your receiver uses. E.g. D4R-SB uses D16.

FrSKY S.PORT telemetry module enables your board to send UAVO data to any FrSky receiver equipped by SmartPort.

Get the module working

Making the connection

  1. Make hardware connection between receiver S.PORT and FC. It differs flight controller to flight controller depending on used MCU.

STM32F3 based controllers (like Sparky) can be connected directly from the TX pin on the flight controller to the receiver S.Port pin.

For other controllers, you'll need following inverting circuit:
inverting circuit

Configuring and enabling module

  1. Map used UART to FrSKY SPort Telemetry in Board settings.
  2. Enable FrSky S.PORT telemetry module in Modules settings.
  3. Restart flight controller.

Here is a video demonstrating binding a X8R module in D16 mode and connecting telemetry to the mainport of Sparky.

Data sent by module

Following table is overview of all data sent by the module. OpenTx Name is equal to caption you will see on your OpenTX radio (e.g. Taranis) telemetry page.

OpenTX Name Description
Hdg True heading.
Alt Altitude relative to home location.
VSpd Vertical speed.
Cell Battery voltage divided by cell count. You have to have Battery module enabled and propperly configured.
Cells Battery voltage.
Curr Battery current.
Cnsp Consumed battery power in mAhs. This is not sent by module, but calculated by OpenTX itself by integrating Curr.
T2 GPS dilution of precision
Bits 0-7 = hDop * 100, max 255 (hDop = 2.55)
Bits 8-15 = vDop * 100, max 255 (vDop = 2.55)
T1 GPS status. Leftmost digit encodes GPS state as follow:
1 - No GPS
2 - No fix
3 - 2D fix
4 - 3D fix
5 - 3D fix and home location is set
Rightmost digits encodes number of satellites in use.
Example: Value 511 means GPS has 3D fix, home location is set and 11 satellites are in use.
Fuel Battery capacity remaining in percents.
Dist Distance from home. This is not sent by this module, but calculated by OpenTX itself by subtracting current GPS coordinates from the first valid coordinates received.
AccXYZ You can select in ModulesSettings->FrskyAccelData what you want to be sended. You can select between:
Accels - raw accelerometer values(default)
NEDAccels - acceleraction in Earth frame of reference
NEDVelocity - vehicle velocities in all axis
AttitudeAngles - roll, pitch, yaw attitude angles
Lat GPS lattitude.
Lon GPS longitude.
GAlt GPS altitude. Please note OpenTX subtracting offset from this which is equal to GAlt firstly received. This is true for displaying, but not true for logging where un-altered MSL value is logged.
Spd Horizontal ground speed.
GPSTime GPS time and date.
ASpd True airspeed. You have to have Airspeed module enabled and propperly configured to make it work
RPM This value is currently used to provide feedback about FC arming state and flight mode. Leftmost digit encodes arm state as follow:
1 - Disarmed
2 - Armed
Rightmost digits encodes flight mode number. To make it work propperly, you have to set propeller blade count to 1 in OpenTX settings. The flight mode returned is the index of the FlightMode option, e.g. 0 for manual, 1 for acro, etc.


Flight controllers
Board Supported External inverter needed
Colibri No -
DiscoveryF4 No -
FlyingF3 Yes No
FlyingF4 Yes Yes
Quanton Yes Yes
Revo Yes Yes
Sparky Yes No
Sparky2 Yes Yes
BrainFPV Yes Yes*
*BrainFPV only supports inverted serial on the Main Port, if using Flx Port for S.PORT an external inverter is required.

Successfuly tested with version 2.0.8 and 2.1.0. Some older versions had some bugs regarding telemetry.

FrSKy receivers

All receivers with SmartPort should be supported. I've tested this only with X8R though.

More sensors on one S.PORT

SmartPort is enginered as bus, so theoretically it's possible to connect more sensors to it parallel with your dRonin FC. We also have positive reports from some users this really works in practice. dRonin uses fixed sensor ID 0x1B, so your sensors must have different IDs assigned (it can be changed by FrSky Servo Channel Changer). With newer OpenTx(>=2.1.0) there is no longer problem with telemetry items duplicity, so battery voltage can be monitored by both your flight controller and FLVSS sensor and you can distinguish them in OpenTx!

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.