Serial Ports:

Ruby can communicate with external devices using serial interfaces (UART).
The serial interfaces can be used to communicate with a flight controller, with a camera gimbal, a receiver or other devices based on each individual application.
If you need more than one serial interface, to connect to multiple devices, you can add any number of USB to serial adapters and connect them to the USB ports on the Pi, as in the picture below:


Accessing serial ports on a Raspberry Pi

Note: Use only brand name USB to serial adapters or ones with CP2109 or CP2102 chipsets. The USB serial adapters with CH340 chipset are not supported.

All available serial ports will be shown in the Ruby UI interface and you can change the parameters and usage for each individual port.


Most of the times, on the vehicle, you want to connect your flight controller to the Raspberry Pi so that Ruby can receive telemtry info from the flight controller and to send data and commands to the flight controller.
You need to connect the serial interface as in the picture below:


Wiring of flight controller for telemetry data

Note: Keep in mind that Raspberry Pi uses 3.3 volts logic levels. Most modern flight controllers (Pixhawk, Cube, STM32, etc) also use 3.3 volts so nothing special needs to be done. If you have an old or special flight controller that used 5 volts logic levels, you need to insert a level shifter.