C-COMPASS: PX4 & ArduPilot User Guide
C-Compass is a high-performance industrial anti-interference electronic compass; it integrates a vehicle-grade RM3100 electronic compass and supports the DroneCAN protocol. It is widely used in unmanned systems such as PX4 or ArduPilot as an external electronic compass to eliminate magnetic field interference from internal components (cables, batteries, motors, etc.).
Feature
- Low noise, low temperature drift, high-resolution car-grade RM3100 electronic compass
- Advanced magnetic filtering algorithm can effectively eliminate magnetic interference and accurately measure the device’s heading
- Self-developed M4C software architecture, rapid customization and development
- DroneCAN bus protocol, supports open-source platforms such as PX4/ArduPilot
Datesheet
| C-Compass | |
| MCU | STM32F412 |
| Sensor | RM3100 |
| Software Architecture | CUAV M4C |
| Protocol | DroneCan/UAVCAN |
| Communication rate | 2Mb |
| Refresh rate | 80Hz |
| Noise | 15nT |
| Accuracy | 0.25° (effective value) |
| Repetition accuracy | 0.05° |
| Resolution | 0.01° |
| Sensitivity | 13nT |
| Range | -800 μT to +800 μT |
| Controller type | PX4/ArduPilot(CUAV/Pixhawk e.g.) |
| Interface | GHR-04V-S |
| Operating Voltage | 4.75-5.3V |
| Operating temperature | -20 to 80℃ |
| Operating humidity | 5%~95% (non-condensing) |
| Casing material | Aluminum alloy |
| Weight | 13g |
Pinouts
Hardware connection and installation
Tip
Mount the module away from high-power devices such as motors, ESCs, and batteries, using M2 screws to secure it to the body.
Users guidance
Enabling the C-COMPASS magnetometer requires setting different parameters depending on the controller’s firmware type.
- User’s guidance for ArduPilot
- User’s guidance for PX4
Users guide for ArduPilot
This section describes the setup and configuration required to use the C-COMPASS application with a controller running ArduPilot firmware.
Enable Electronic Compass
Run QGroundControl ground station > Vehicle setup > Parameters interface, enter “UAVCAN” to find and set the following parameters.
UAVCAN_ENABLE = Sensors Automatic Config UAVCAN_SUB_MAG = Enabled Calibrate Electronic Compass
- Go to the “Sensors > Compass” page for the visual indicators for calibration.
[TIP] Calibrating the magnetometer requires installing the controller and magnetometer in the vehicle and not moving it until the calibration is complete. For larger vehicles, you can unmount the arm or wing to make it easier to perform the calibration (with the electronic compass away from the arm or wing).
Users guide for ArduPilot
This section describes the setup and configuration required to use the C-COMPASS application with a controller running ArduPilot firmware.
Enable Electronic Compass
Run Mission Planner and go to the Config > FULL Parameter List.
//If connected to CAN1 CAN_P1_DRIVER = 1 //If connected to CAN2 CAN_P2_DRIVER = 1 Missionplanner Electronic Compass Page Annotations
- A: Magnetometer information panel. For C-COMPASS, the BUS type is UAVCAN, External (external).
- B: You can adjust the order of the electronic compasses by clicking on the up and down arrows, with the first one having the highest priority.
- C: Which magnetometers need to be calibrated (unchecked will not be used or calibrated)?
- D: After adjusting the order of the magnetometers, click on Reboot to restart the controller.
- E: Click on Start Electronic Compass Calibration.
Execute electronic compass calibration
- Click the “Start” button to begin the calibration process.
- Drive the vehicle in a “spherical” pattern until the calibration is complete.
- As shown in the diagram below, the system displays a prompt indicating that the calibration is complete.
Tip
Blowing into the tube is also a basic check that the dynamic and static ports are installed correctly. If they are swapped then the sensor will read a large negative differential pressure when you blow into the tube, and the calibration will abort with an error.