Skip to content

Lab 09: Believer Avionics

Overview

In this lab, we connected the CubePilot flight controller to the Ground Control Station (GCS), configured telemetry communication using the RFD900x modules, and integrated external sensors including the MS4525DO airspeed sensor and Here3+ GPS.
The main objective was to verify live communication between the GCS and CubePilot, adjust key flight parameters, and ensure the onboard sensors functioned properly through the GCS interface.

Resources

Hardware
Holybro MS4525DO Airspeed Sensor
CubePilot Here3+ GPS
RFD900x Telemetry Radios
Hex-to-Decimal Converter

Ground Control Station (GCS) Setup

Steps
Connect the CubePilot to the AIDA3 PC via USB.
Verify live movement in the HUD within the GCS.
Review the GCS Manual and answer the following questions.
Questions
Question
Answer
What does the GUID_THISMAV parameter control?
It assigns a unique identifier to each vehicle when multiple drones are operating on the same network.
Under Platform Connection, what indicator confirms connectivity?
A heartbeat icon appears in the top bar of the GCS.
Difference between manual and stabilized flight modes?
Manual: pilot directly controls actuators. Stabilized: limits and smooths pitch and bank angles for stability.
There are no rows in this table

Parameters

Parameters allow modification of the aircraft’s behavior.
Navigate to the Parameters tab.
Download and export your parameter file (Parameters.json).
Upload and save for future comparison.
Telemetry Configuration
Question
Answer
What is MAVLink?
An open-source telemetry protocol that allows communication between the GCS and aircraft.
What baud rate must TELEM1 be set to?
57,600 bps
What connector links the RFD900 to the CubePilot?
JST-GH 6-pin connector
There are no rows in this table

Setup Steps

Connect the air-side RFD900 to the CubePilot TELEM1 port.
In the GCS Parameters tab, modify and record the following:
Connect the ground-side RFD900 to the PC and confirm the new COM port in Device Manager.
Switch from USB to RFD900 serial communication and confirm data is transmitted wirelessly.
SERIALX Parameters
Parameter
Original
Modified
Notes
SERIAL1_BAUD
115,200
115
Baud rate for telemetry
SERIAL1_PROTOCOL
MAVLink
MAVLink
Communication protocol
There are no rows in this table
Airspeed Sensor Setup
Question
Answer
Is an airspeed sensor mandatory?
Yes it ensures safe takeoffs, landings, and stall prevention.
What is open-loop throttle mapping?
Uses preset throttle commands without sensor feedback (unlike closed-loop systems).
Why is the pitot tube long?
To extend past the boundary layer for accurate pressure readings.
What communication protocol does it use?
I²C
What is hexadecimal? Convert 0x28.
Base-16 numeric system; 0x28 = 40 in decimal.
There are no rows in this table

Setup Steps

Connect the pitot tube to the airspeed sensor with silicone tubing.
Connect the airspeed sensor to the CubePilot via the correct port.
Adjust parameters to match ARSPDX specifications.
Reboot the autopilot and verify that the airspeed data displays correctly in GCS.
ARSPDX Parameters
Parameter
Original
Modified
Notes
ARSPD1_TYPE
NONE
I2CMS4525D0
Sensor type
ARSPD1_ADDR
40
0x28 (40)
I²C address
ARSPD1_BUS
Bus1 (external)
Bus0 (internal)
I²C bus selection
ARSPD1_TUBE_ORDR
Either
Port1
Differential pressure port order
ARSPD1_USE
Use
Use
Enables airspeed sensor
There are no rows in this table
GPS Integration (Here3+)
Question
Answer
What protocol does Here3+ use?
DroneCAN (8 Mbit/s)
What additional sensors are included?
IMU sensors (accelerometer, gyroscope, magnetometer).
There are no rows in this table

Setup Steps

Plug the Here3+ GPS into the CubePilot CAN port.
Flash ArduPlane firmware using Mission Planner.
Connect to the board and verify CAN parameters.
Navigate to Setup → Optional Hardware → DroneCAN/UAVCAN and connect to MAVLinkCAN1.
Access “com.cubepilot.here3+” parameters → download BlueCubeOldArduPilotParams.param.
Load and write WR_here3plus.param.
Reboot the FCU and reload Windracers firmware.
Verify GPS satellites are acquired.
CAN Parameters
Parameter
Original
Modified
Notes
CAN_P1_DRIVER
1
1
CAN bus driver enabled
CAN_P1_BITRATE
1,000,000
1,000,000
Bitrate maintained
CAN_D1_PROTOCOL
1
DRONECAN
Protocol set
CAN_D2_PROTOCOL
1
DRONECAN
Protocol set
There are no rows in this table
GSPX Parameters
Parameter
Original
Modified
Notes
GPS1_TYPE
1
UAVCAN
GPS sensor type
GPS1_ADDR
0
20
CAN node ID
GPS1_DELAY
150
100
Sensor delay
GPS1_POS_X
0
0
Antenna offset
GPS1_POS_Y
0
0
GPS1_POS_Z
0
0
GPS1_USE
UseForNavigation
UseForNavigation
GPS enabled
There are no rows in this table

Parameters Check

Open
Upload your original Parameters.json on the left and updated parameters on the right.
Compare changes and export Parameters1.json.
Share your link using the Diffchecker share button.
Result Summary:
47 additions and 11 removals, primarily affecting airspeed and gyro parameters.

Reflection

This lab introduced a complete integration workflow for CubePilot systems, connecting the FCU to GCS, establishing wireless telemetry through the RFD900x, and configuring both the airspeed and GPS sensors.
Through parameter modification, we learned how different communication protocols (I²C, MAVLink, DroneCAN) interact and how data from these peripherals supports flight control logic and navigation stability. Understanding the parameter relationships between firmware and hardware devices is crucial for building reliable, redundant, and data-rich UAS systems.
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.