Skip to main content
Version: Next

FBus & S.Port Master

Rotorflight can act as a bus master on either the FrSky FBus or S.Port protocol. Both modes let the FC poll external FrSky sensors — voltage, current, GPS, RPM and more — collecting their telemetry and forwarding it through the main radio link. The two protocols use different wiring and speeds but work the same way from a user perspective.

The video below covers FBus Master setup in practice:

Which one should I use?

FBus MasterS.Port Master
ProtocolFBus (newer FrSky)S.Port / SmartPort (older FrSky)
Baud rate46080057600
WiringSingle wire (TX pin)Single wire (TX or RX depending on pinswap)
Also outputs channelsYes — 16 channels at up to 500 HzNo
Config optionsFrame rate, telemetry rate, discovery time, forwarded sensorsInverted, pin swap
Use whenYou have newer FrSky FBus sensorsYou have older S.Port sensors

Use FBus Master for newer FrSky hardware. Use S.Port Master if your sensors only support the older S.Port protocol.

Supported Sensors

The same sensor types are supported by both modes:

  • FLVSS — LiPo cell voltage sensor
  • FAS-150S — current and voltage sensor
  • FrSky GPS — position, altitude, speed
  • VARIO2 — variometer
  • RPM sensor
  • SBEC — BEC voltage
  • FrSky ESC sensor

Up to 32 sensors per source can be tracked (64 combined if both modes are active simultaneously).

Requirements

  • A spare UART with both TX and RX pins accessible for each bus master you want to use
  • FrSky sensor(s) that support the matching protocol (FBus or S.Port)

FBus Master Setup

Step 1 — Assign the UART

In the Ports tab, set the desired UART function to FBus Out. Save and reboot.

Step 2 — Wire the sensor

Connect the TX pin of the chosen UART to the sensor's FBus signal wire. FBus is a single-wire bidirectional bus. The signal is inverted by default, which is correct for standard FrSky FBus hardware.

note

If your sensor does not respond, try enabling Pin Swap (fbus_master_pinswap = ON) so the RX pin is used for the bus instead. Some FC layouts route the pins differently.

Step 3 — Verify sensor discovery

After powering up with sensors connected, FBus Master scans the bus for sensors during a 5-second discovery window. Open the CLI and run:

fbus_sensors

This lists every sensor physical ID found. Check that your sensors appear.

Step 4 — Confirm telemetry on the radio

Once sensors are discovered, their values should appear in your radio's telemetry sensor list. Trigger a sensor scan on your transmitter if needed.

FBus Master Parameters

ParameterDefaultRangeDescription
fbus_master_frame_rate500 Hz25–550Channel output frame rate
fbus_master_telemetry_rate200 Hz25–550Sensor polling rate
fbus_master_discovery_ms5000 ms100–10000Sensor discovery window at startup
fbus_master_invertedONON/OFFInverted signal — leave ON for standard FBus hardware
fbus_master_pinswapOFFON/OFFSwap TX/RX pins if your wiring requires it
fbus_master_forwarded_sensors(all)8 IDsPhysical IDs of sensors to forward to the radio

Adjusting the discovery window

If sensors are not being found reliably, extend the discovery window:

set fbus_master_discovery_ms = 10000
save

Limiting forwarded sensors

By default all discovered sensors are forwarded. To restrict which ones reach the radio:

set fbus_master_forwarded_sensors = 0x10, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
save

Unused slots should be set to 0xFF.


S.Port Master Setup

Step 1 — Assign the UART

In the Ports tab, set the desired UART function to S.PORT Master. Save and reboot.

Step 2 — Wire the sensor

S.Port is a single-wire bidirectional bus at 57600 baud. Connect the sensor's S.Port wire to the UART. The default settings (inverted ON, pin swap ON) suit most FrSky S.Port sensors — if your sensor does not respond, try toggling pin swap.

Step 3 — Verify and confirm

The same process as FBus Master applies. Run fbus_sensors in the CLI to confirm sensors are discovered, then check the radio sensor list.

S.Port Master Parameters

ParameterDefaultDescription
sport_master_invertedONInverted signal — matches standard S.Port hardware
sport_master_pinswapONSwap TX/RX pins — enabled by default for S.Port

S.Port Master has a fixed 5-second discovery window and a fixed polling interval; these are not user-configurable.


Inspecting Discovered Sensors

Both FBus Master and S.Port Master report into the same sensor cache. To see everything found:

fbus_sensors

Sensors are listed with their physical ID and source (FBUS or SPORT). To clear the cache and force re-discovery:

fbus_sensors clear

Troubleshooting

No sensors appear after fbus_sensors Check wiring. For FBus Master, confirm the sensor is connected to the TX pin. Try toggling pinswap if sensors still do not appear.

Sensors found but not showing on the radio Trigger a sensor rescan on your transmitter. For CRSF/ELRS, ensure telemetry is enabled on the link. Check that fbus_master_forwarded_sensors IDs match what fbus_sensors reports.

Sensors appear intermittently (FBus) Increase fbus_master_discovery_ms and reduce fbus_master_telemetry_rate to give the bus more time between polls.

Both modes active at once FBus Master and S.Port Master can run simultaneously on separate UARTs, sharing the same sensor cache. Sensors discovered via either protocol are available to the FC and forwarded together.