FPV Flight Controller Wiring: UART Mapping, Pinout, and Peripheral Connection Guide — 2026

The wiring phase separates builds that fly and builds that chase electrical gremlins for weeks. Most FC wiring mistakes aren’t bad solder joints — they’re misassigned UARTs, inverted protocols on non-inverted pads, or peripherals fighting over the same resource. Here’s how to wire every peripheral correctly the first time, on any F4 or F7 flight controller.

UART Fundamentals — What Each Peripheral Needs

A UART is a two-wire serial port: TX (transmit) from the FC, RX (receive) to the FC. Every peripheral you wire needs one UART pair, and each UART can only serve one peripheral. The numbering (UART1, UART2, etc.) is arbitrary — what matters is which UART has hardware inversion and which one doesn’t, especially on F4 processors.

F4 flight controllers have hardware inversion on specific UARTs only (usually UART1 for SBUS, sometimes UART3 or UART6). F7 and H7 processors handle inversion in software on any UART, which simplifies wiring significantly. If you’re on an F4, your SBUS receiver MUST go to a dedicated SBUS pad (which routes to the inverted UART) or you’ll need an uninverted SmartPort signal from the receiver — a common failure point on FrSky builds.

ExpressLRS receivers use CRSF protocol, which doesn’t require inversion. Wire ELRS RX to any free UART’s RX pad, set the UART to “Serial Rx” in the Ports tab, and select “CRSF” as the receiver protocol in the Receiver tab. No inversion headaches.

UART Mapping Quick Reference

Peripheral Protocol Pads Needed Baud Rate Special Requirement
ExpressLRS RX CRSF RX only 420k (auto) Any UART, no inversion needed
Crossfire RX CRSF RX + TX (for telemetry) 420k (auto) Any UART
Analog VTX (SmartAudio) UART TX only Auto Usually dedicated TX pad
Analog VTX (Tramp) UART TX only Auto Usually dedicated TX pad
GPS Module UART RX + TX 115200 (UBlox) Any free UART
DJI O3/O4 Air Unit MSP + UART RX + TX 115200 Dedicated connector on most modern FCs
ESC Telemetry UART RX only 115200 Specific UART (often UART4 or UART5)
Camera OSD Control UART RX + TX 115200 Usually dedicated CAM pad
Blackbox Logger SPI or SDIO Dedicated onboard chip, no UART needed
LED Strip Dedicated pad LED pad (single wire) Not a UART — uses dedicated timer output

Step-by-Step Wiring Order

Wire in this order. Deviating creates physical access problems — you’ll block your own soldering iron path.

Step 1: Motors. Solder motor wires to the ESC or 4-in-1 connector first. They’re the largest pads and the hardest to access later. Verify motor order (1-4 clockwise from front-right on most frames) before soldering — desoldering motor wires from a populated FC is miserable.

Step 2: Power. Main battery leads to the ESC, then the ESC-to-FC harness. Verify voltage at the FC’s 5V and 3.3V test points with a multimeter BEFORE connecting peripherals. A shorted 5V rail will kill every peripheral on the bus.

Step 3: Receiver. ELRS or Crossfire RX to a free UART. RX pad on FC → TX pad on receiver. Ground wire from receiver to any FC ground pad. Keep the receiver antenna away from the VTX antenna — at least 40mm separation to prevent 5.8GHz desensing the 2.4GHz or 900MHz receiver front-end.

Step 4: VTX. For analog: VTX SmartAudio or Tramp wire to a dedicated TX pad. Power the VTX from VBAT or a regulated pad — check your VTX’s input voltage spec. For DJI O3/O4: use the dedicated DJI connector if your FC has one. It provides regulated power and pre-assigned UART. If not, wire RX and TX to a free UART pair, power from a 9V BEC.

Step 5: GPS. Solder GPS RX and TX to any free UART. GPS modules need 5V power — some FCs have a dedicated 5V/GPS port. Configure baud rate to 115200 in the Ports tab and set the protocol to UBlox.

Step 6: Camera and OSD control. Analog camera video wire to the CAM pad, OSD control to dedicated CAM OSD UART if your camera supports it (Runcam Device Protocol or Caddx UART control). For digital systems, video is handled through the air unit’s MSP connection.

Step 7: Buzzer and LED. These are non-UART peripherals. Buzzer goes to BZ+ and BZ- pads. LED strip goes to the LED pad. Both are optional but useful for status indication.

Common Wiring Mistakes

Mistake 1: Swapping RX and TX. The FC’s RX pad connects to the peripheral’s TX pad, and vice versa. “RX to TX, TX to RX” is the rule. When in doubt, check with a multimeter — a UART TX pad will show a weakly pulled-high idle state (~3.3V), while RX floats. A swapped pair won’t damage anything but the peripheral won’t communicate.

Mistake 2: Connecting FrSky SBUS to a non-inverted UART on F4. F4 processors require hardware inversion for the SBUS signal. On an F4 FC, the SBUS pad routes to a specific inverted UART (usually UART1). Connecting SBUS to a generic RX pad produces nothing but frustration. Either use the dedicated SBUS pad or, on FrSky receivers with uninverted SmartPort output, solder to the uninverted pad on the receiver PCB.

Mistake 3: Daisy-chaining multiple peripherals through a single UART. One UART = one peripheral. You cannot share a UART between a GPS and ESC telemetry by splicing wires. Each needs its own UART. If you’re out of UARTs, use SoftSerial on two unused pads (motor 5/6 or LED strip pads can be remapped) — but SoftSerial has a baud rate ceiling of 19200, which only works for SmartPort telemetry, not GPS or ESC telemetry.

Mistake 4: Powering the VTX from an under-spec BEC. A 1W analog VTX draws roughly 300-400mA at 5V. Powering it from a 500mA BEC that also feeds the FC and receiver is asking for brownouts. Check your BEC’s total current rating and sum up all peripheral loads. The VTX should ideally be on its own regulator or powered directly from VBAT if the VTX accepts battery voltage input.

Mistake 5: Not verifying with a smoke stopper before the first power-up. After wiring everything, plug in through a smoke stopper (current-limiting device) before connecting a battery directly. If the smoke stopper trips, you have a short — find it before it finds you. A $10 smoke stopper saves a $200 stack.

Regulatory Context

⚠️ Regulatory Notice: The flight recommendations in this article should be followed in accordance with the latest 2026 drone regulations in your country or region. Always verify local laws regarding flight altitude, no-fly zones, remote ID requirements, and registration before flying. Regulations vary significantly between the FAA (US), EASA (EU), CAA (UK), CAAC (China), and other authorities. Proper wiring — particularly reliable GPS and failsafe configuration — is a component of regulatory compliance for BVLOS and advanced operations.

Remote ID requirements, now mandatory for most FPV aircraft over 250g in FAA airspace (and similar requirements rolling out in other jurisdictions), depend on reliable GPS wiring. If your GPS module is on a loose UART connection that drops out intermittently, your Remote ID broadcast fails — and that’s a compliance violation, not just a flight inconvenience.

For antenna placement once you’ve wired the receiver and VTX, our antenna placement guide covers the physical layout that maximizes signal separation. And our RPM filtering setup guide covers the ESC telemetry UART configuration that enables bidirectional DShot.

For clean wiring on an F4 FC, the SpeedyBee F405 V4 stack’s layout is particularly builder-friendly — the DJI connector, GPS pads, and receiver UART are all on the perimeter of the board, not buried under other components. The ESC-to-FC harness uses a single plug instead of a rat’s nest of individual wires.

Leave a Comment

Scroll to Top