Connecting Raspberry Pi to the flight controller
In order to program autonomous flights, work with Pixhawk or Pixracer over Wi-Fi, use controller app and access other functions you need to connect your Raspberry Pi to the flight controller.
USB connection
USB connection is the preferred way to connect to the flight controller.
- Connect your FCU to the Raspberry Pi using a microUSB to USB cable.
- Connect to the Raspberry Pi over SSH.
Make sure the connection is working by running the following command on the Raspberry Pi:
rostopic echo /mavros/state
The
connected
field should have theTrue
value.s
You need to set the
CBRK_USB_CHK
parameter to 197848 for the USB connection to work.
UART connection
UART connection is another way for the Raspberry Pi and FCU to communicate.
- Connect the TELEM 2 port on the flight controller using a UART cable to the Raspberry Pi pins following this instruction: the black cable (GND) to Ground, the green cable (UART_RX) to GPIO14, the yellow cable (UART_TX) to GPIO15. Do not connect the red cable (5V).
- Set the PX4 parameters:
MAV_1_CONFIG
to TELEM 2,SER_TEL2_BAUND
to 921600 8N1. In PX4 of version prior to v1.10.0 the parameterSYS_COMPANION
should be set to 921600. - Connect to the Raspberry Pi over SSH.
Change the connection type in
~/catkin_ws/src/clover/clover/launch/clover.launch
to UART:<arg name="fcu_conn" default="uart"/>
Be sure to restart the
clover
service after editing the .launch file:sudo systemctl restart clover