If you are using the BetaFPV F4 AIO 12A/20A/35A FC, and can’t find UART6 (TX6, RX6) in the ports tab, here is why. I had a tough time figuring this out, thought I should share to save people’s time.
- BetaFPV F4 AIO 12A FC: https://amzn.to/31Aw6Kb
- BetaFPV F4 AIO 20A FC: https://bit.ly/3dSEtmG
- BetaFPV F4 AIO 35A: https://oscarliang.com/product-g0hi
Missing UART 6?
Well, there is no UART6 on this board, simply never existed.
The labelled TX6 and RX6 in the pinout diagram are actually Softserial 1! I think this might have “tricked” some people into getting this FC and thought it had 3 hardware serial ports, but in fact it only has 2.
Further Reading: What’s a UART?
That’s why you don’t see UART6 in the ports tab in Betaflight, but there is Softserial 1, which they already set up for you. You need to connect your device to TX6 and RX6 to use Softserial 1.
This is annoying, but not the end of the world. You can still use softserial for a lot of things that aren’t “timing critical”, basically almost everything apart from RC links.
To put it simply, you can use Softserial for SmartAudio, SmartPort Telemetry, GPS, Camera Control, DJI UART, and so on, but you SHOULD NOT use it for SBUS, Crossfire etc.
Further Reading: What’s Softserial?
Wrong Softserial Config
The “fun” doesn’t stop there, they even configured Softserial wrong, so it’s not going to work properly :D
If you type
Resource in CLI, you might find the pin
B03 is assigned to both
SERIAL_RX 11 and
SERIAL_TX 11. If you need to use both TX and RX pin, you should assign
Enter this in CLI:
resource SERIAL_RX 11 B10
SBUS and UART Conflicts
Finally, if you use the SBUS pin, don’t use RX1, or you might get jittering in RC signal (your quad doing random things).
The SBUS pin is basically RX1 with an inverter.