Betaflight ports: MSP, serial RX, GPS and the other UART jobs
Betaflight ports are the UARTs on the flight controller. The Ports tab is one card per port: the USB virtual COM port, and UART1, UART2 and the rest of whatever the firmware reports. On each card you turn MSP on or off, and on a real UART you can turn on serial RX and pick one telemetry protocol, one sensor and one peripheral.
A port assignment does not finish the device. A serial receiver still needs its protocol on the Receiver tab. A GPS still needs the GPS feature on the GPS tab. A SmartAudio or Tramp wire still needs the Video TX tab. The Ports tab only reserves the UART and the baud. Connect over USB or Bluetooth in Chrome or Edge, or from the Android or iPhone app.
Free. Hardware connections need Chrome or Edge on a computer; phones use the FlySpark app.
- Free
- Nothing to install
- Demo without hardware
In short
The Ports tab gives each UART one job per group: MSP, serial receiver, telemetry, a sensor such as GPS, or a peripheral such as a VTX. FlySpark shows a card per port, including USB, and MSP stays on for that USB port. A receiver still has to be set on the Receiver tab after serial RX is enabled.
Key facts
- Each port is a card. USB is marked as the virtual COM port.
- MSP on USB cannot be switched off. Other UARTs can enable or disable MSP.
- Serial RX is a switch on every port except USB.
- Telemetry, sensor and peripheral groups allow one function each, or Disabled.
- Betaflight telemetry includes FrSky, HoTT, LTM, SmartPort, MAVLink and iBus.
- Betaflight sensor input includes GPS, ESC sensor and Benewake LiDAR.
- Baud choices include AUTO, 9600, 115200, 400000, 460800, 921600 and higher, up to 2470000.
Betaflight
INAV
ArduPilot
PX4- BLHeli_S
Bluejay
AM32
ExpressLRS
EdgeTX
DroneCAN
MAVLink
Try it
Share a port
Give GPS or RX to two UARTs and the line reports the clash.
No clash
Betaflight
Features
- 01
One card per port
The firmware lists the ports. USB is the virtual COM port and uses a USB icon. The others use a UART icon and the name the board reports.
- 02
MSP
Every card has an MSP switch and, when it is on, an MSP baud. On USB the switch cannot be turned off, so the cable you used to connect keeps working.
- 03
Serial RX
A switch on every port except USB. Enable it on the UART your receiver's TX and RX wires use. SBUS on a pad that is not a UART is not this switch.
- 04
One function per group
Telemetry, sensor and peripheral are each a single choice: Disabled, or one protocol. Turning one on clears the others in that group. You cannot put GPS and a rangefinder on the same UART.
- 05
Baud
When the chosen function has a baud, the card shows it. Betaflight's list runs from AUTO and 9600 through 115200, 400000, 460800, 921600 and on up to 2470000.
- 06
Betaflight functions
Telemetry: FrSky, HoTT, LTM, SmartPort, MAVLink, iBus. Sensor input: GPS, ESC sensor, Benewake LiDAR. Peripherals: Blackbox, VTX SmartAudio, VTX IRC Tramp, VTX MSP plus DisplayPort, RunCam device, FrSky OSD.
- 07
INAV functions
INAV uses the same cards with its own list, including rangefinder, optical flow, MSP DisplayPort, DJI FPV, ESC telemetry, SBUS output, gimbal and head tracker. A SIM text function appears for telemetry when the firmware has it.
What the Ports tab is deciding
A UART has two wires, TX and RX, and it can only speak one serial stream at a time. The groups stop you assigning two jobs that would both need that stream. MSP can share the port in the way the firmware allows, which is why it is its own switch. Serial RX is its own switch too, and only on a hardware UART. USB is kept for the configurator.
The choice is stored as bits on the port. Picking a new function in a group clears the other functions in that group first, then sets the one you picked. Disabled clears the group. Baud is stored separately for MSP, GPS-class sensors, telemetry and peripherals, and the row appears only when a function in that group is active.
Serial RX and the Receiver tab
Turning on serial RX reserves the UART for the receiver. It does not choose CRSF, SBUS, iBus or the other protocols. Those are on the Receiver tab, and they have to match the receiver you actually soldered. ExpressLRS and Crossfire use a serial protocol, usually CRSF, on this UART. The binding phrase for a UART ExpressLRS receiver is not on the Ports tab. It is the ExpressLRS tool, over the receiver's Wi-Fi, in the phone app.
If the stick bars on the Receiver tab stay still, check this switch first, then the protocol, then the physical TX-to-RX crossing: the receiver's TX pad goes to the flight controller's RX pad.
GPS, ESC sensor and telemetry
GPS is a sensor-input choice. After you save it, open the GPS tab and turn the GPS feature on, then pick the protocol and baud behaviour there. The Ports baud and the GPS tab baud have to agree with the module. ESC sensor is the serial RPM wire some ESCs use instead of bidirectional DShot. Benewake LiDAR is the rangefinder choice on Betaflight.
Telemetry is the stream back to the radio: SmartPort, CRSF is not in this list because CRSF rides the serial RX port, and the radio protocols here are FrSky, HoTT, LTM, SmartPort, MAVLink and iBus. Pick the one your radio's receiver actually speaks. A second telemetry wire on a different UART is a different card.
VTX, blackbox and camera control
SmartAudio, IRC Tramp and MSP plus DisplayPort are peripherals. The VTX tab uses that UART once it is assigned. Putting SmartAudio on the wrong UART is why a video transmitter stays at the default channel. RunCam device control and FrSky OSD are the other peripheral choices on Betaflight.
Blackbox as a peripheral is an external logger on a UART, not the onboard flash chip. Onboard logging is the Blackbox tab. Do not assign the Blackbox peripheral unless you have that logger.
INAV ports
INAV's telemetry list adds a SIM text function and SmartPort master. Sensors add a rangefinder and optical flow. Peripherals add MSP DisplayPort, DJI FPV, ESC telemetry, SBUS output, a gimbal, a head tracker and a log function. The card layout is the same: one choice per group, baud when the function needs it, MSP kept on for USB.
INAV 8 drops some older function bits. FlySpark hides those bits on INAV 8 so you are not offered a function the firmware removed. If a device from an older guide is missing, it is because this firmware does not have that function, not because the port is broken.
Save the ports, then reboot when the save bar asks. A UART change often does not apply to the running firmware until that reboot, and the configurator may disconnect if you changed the port you were using. Come back on USB, open the Receiver tab, and move the sticks before you solder anything else. A Bluetooth module or a Wi-Fi MSP bridge also needs MSP enabled on the UART it is wired to, at a baud both ends share. USB itself does not need that, because its MSP switch cannot be turned off.
At a glance
Betaflight port functions
| Telemetry | FrSky, HoTT, LTM, SmartPort, MAVLink, iBus |
|---|---|
| Sensor input | GPS, ESC sensor, Benewake LiDAR |
| Peripherals | Blackbox, SmartAudio, IRC Tramp, MSP + DisplayPort, RunCam, FrSky OSD |
| Serial RX | A switch, not on USB |
| USB | MSP stays on |
Betaflight
Put a receiver and a GPS on two UARTs
Open Ports
Connect and open the Ports tab. Find the UART printed on the silkscreen next to the receiver pads.
Enable serial RX
Turn serial RX on for that UART only. Leave it off everywhere else. Save and reboot if the save bar says to.
Set the receiver protocol
Open the Receiver tab and choose the protocol the receiver speaks, such as CRSF for ExpressLRS or Crossfire.
Assign GPS on a different UART
On a free UART, set Sensor input to GPS, set the baud the module uses, then enable GPS on the GPS tab.
Troubleshooting
Common problems and fixes
Problem
Receiver tab is stuck at the centre
Fix
Serial RX must be on for the UART you wired, and off for the others. Then set the protocol. Check TX and RX are crossed.
Problem
The configurator drops after a save
Fix
You turned MSP off on the port you are using, or you piled another function onto USB. On a hardware UART, leave MSP on only where you need a Bluetooth or Wi-Fi bridge.
Problem
GPS shows no satellites
Fix
The sensor choice and the baud have to match the module, and the GPS feature has to be on. A GPS needs a clear view of the sky before it will fix.
Problem
A function from an old guide is missing
Fix
The list is what this firmware supports. INAV 8 hides functions it removed. Pick the protocol the device actually speaks on this version.
Glossary
Glossary of terms
- UART
- A hardware serial port. One TX pad and one RX pad.
- MSP
- The protocol FlySpark uses to talk to Betaflight and INAV. USB keeps it on.
- Serial RX
- The port function that reserves a UART for the receiver. The protocol is chosen on the Receiver tab.
FAQ
Frequently asked questions
What is a Betaflight UART?
A serial port on the flight controller. The Ports tab lists each one the firmware reports, plus USB. Each UART can take MSP, and one choice from each function group.
Why can't I turn MSP off on USB?
USB is how the configurator is talking to the board. The MSP switch on that port stays on so you do not disconnect yourself.
Where do I set CRSF or SBUS?
Serial RX on the Ports tab reserves the UART. The protocol is on the Receiver tab. Both have to be set.
Can GPS share the receiver UART?
No. Sensor input and serial RX are separate, and a UART should not be asked to be both the receiver and the GPS. Use two UARTs.
Which baud does GPS use?
The baud on the GPS function, often 115200 or 57600, matching the module. The GPS tab has its own auto-baud switch. If the module is silent, set both ends to the same number.
Why is my VTX missing from the Video TX tab?
SmartAudio, Tramp or MSP DisplayPort has to be selected on the UART the VTX wire uses. Until that peripheral is set, the VTX tab has no port to talk to.
What is the ESC sensor port?
A serial RPM wire from ESCs that do not report RPM over bidirectional DShot. It is a sensor-input choice, not the motor signal itself.
Do INAV ports look the same?
Yes. The groups are Telemetry, Sensors and Peripherals, with INAV's own protocols, including MSP DisplayPort, DJI FPV and ESC telemetry.
References
Sources
The official documentation behind the background facts on this page.
- Betaflight WikiBetaflight · betaflight.com
- Betaflight Setup GuideBetaflight · betaflight.com
- Betaflight FailsafeBetaflight · betaflight.com
- INAV WikiINAV on GitHub · github.com



