Using Here 4 Blue GPS into J19 on VOXL2 with Ardupilot
-
We have a custom drone using VOXL2 as the flight controller and we are running Ardupilot. We are using the Here 4 Blue GPS connected to J19 over UART. We took off the cover of the Here4 and unplugged the CAN cable and we are using the dev board for now. We have the 10 pin connector on the dev board to the GPS, the dev board 6 pin UART goes to J19 on VOXL2 with pins 1-6 matching 1-6.
Mission Planner Parameters for Here 4 on VOXL2gps_drv_options: 4 gps1_type: 2 gps_save_cfg: 1GPS connection seems to be working fine but we are unable to get the Here4 compass/mag to work or be detected.
The Here4 has a RM3100 magnetic compass and ICM42688. What configuration changes do we need in order to get these sensors to work on the VOXL2?
Here are our versions:
voxl-version ──────────────────────────────────────────────────────────────────────────────── system-image: 1.8.04-M0054-14.1a-perf kernel: #1 SMP PREEMPT Mon Mar 24 22:31:58 UTC 2025 4.19.125 ──────────────────────────────────────────────────────────────────────────────── hw platform: M0054 mach.var: 1.0.1 SKU: MCCA-M0054-C11-T0-M0-X0 ──────────────────────────────────────────────────────────────────────────────── voxl-suite: 1.5.1 ──────────────────────────────────────────────────────────────────────────────── Packages: Repo: http://voxl-packages.modalai.com/ qrb5165 dev Last Updated: 2026-05-04 22:46:17 List: libfc-sensor 1.0.7 libmodal-cv 0.5.18 libmodal-exposure 0.1.4 libmodal-journal 0.2.6 libmodal-json 0.4.7 libmodal-pipe 2.14.12-202603091236 libqrb5165-io 0.5.0 libvoxl-cci-direct 0.3.3 libvoxl-cutils 0.1.5 modalai-slpi 1.2.0 mv-voxl 0.1-r0 qrb5165-bind 0.1-r0 qrb5165-dfs-server 0.2.0 qrb5165-imu-server 1.1.3 qrb5165-mini-tof-server 0.2.2 qrb5165-rangefinder-server 0.1.5 qrb5165-slpi-test-sig 01-r0 qrb5165-system-tweaks 0.3.6 qrb5165-tflite 2.8.0-2 voxl-ardupilot 4.8.0-325875bb voxl-bind-spektrum 0.1.1 voxl-camera-calibration 0.6.0 voxl-camera-server 2.2.4 voxl-ceres-solver 2:1.14.0-10 voxl-configurator 1.0.3 voxl-cpu-monitor 0.7.7-202601091810 voxl-docker-support 1.3.1 voxl-elrs 0.4.7 voxl-esc 1.5.4 voxl-feature-tracker 0.5.2 voxl-flow-server 0.3.6 voxl-gphoto2-server 0.0.10 voxl-joystick-server 0.0.6 voxl-jpeg-turbo 2.1.3-7 voxl-lepton-server 1.3.3 voxl-lepton-tracker 0.0.4 voxl-libgphoto2 0.0.4 voxl-libuvc 1.0.7 voxl-logger 0.5.3 voxl-mavcam-manager 0.6.0 voxl-mavlink 0.1.5 voxl-mavlink-server 1.4.15-202603130958 voxl-modem 1.1.8 voxl-mongoose 7.7.0-2 voxl-mpa-to-ros 0.3.9 voxl-mpa-tools 1.5.8 voxl-open-vins 0.4.19 voxl-open-vins-server 0.3.12 voxl-opencv 4.5.5-3 voxl-osd 0.1.8 voxl-portal 0.7.11 voxl-px4 1.14.0-2.0.105 voxl-px4-params 0.7.6 voxl-qvio-server 1.2.0 voxl-remote-id 0.0.9 voxl-reset-slpi 0.0.1 voxl-state-estimator 0.0.5 voxl-streamer 0.7.5 voxl-suite 1.5.1 voxl-tag-detector 0.0.5 voxl-tflite-server 0.4.1 voxl-utils 1.4.8 voxl-uvc-server 0.1.7 voxl-vision-hub 1.8.23 voxl-vtx 1.4.7 voxl-wavemux 0.0.1 voxl2-io 0.0.3 voxl2-system-image 1.8.04-r0 voxl2-wlan 1.0-r0 -
The ICM42688 is an IMU and there is already one of those on the VOXL2 so you don't need that external one. The RM3100 is supported by ArduPilot. If it is not detecting it then we need to do some troubleshooting. First is to double check the wiring to make sure that the i2c pins for the RM3100 are correctly routed to the i2c pins on J19. You said dev board 6 pin UART. A UART should be only TX and RX (And power and ground for the external board) so only 4 pins. Are the other 2 pins for sure the i2c lines for the RM3100? And what pins are you connecting to on the VOXL2 J19 connector? Perhaps put a scope on those lines to see if you can detect activity. Make sure COMPASS_ENABLE is set to 1. You can limit which magnetometers that ArduPilot searches for on initialization by setting the COMPASS_DISBLMSK parameter. Make sure all bits are set except for the RM3100 bit (bit 16) to force it to only look for RM3100. Bus speed should be 400 kHz by default.
-
Thanks @Eric-Katzfey ! Here is the pinout for the dev board "UART" port that includes i2C_SCL and I2C_SDA.

The dev board pins 1-6 matching to J19 pins 1-6
We will give the COMPASS_DISBLMSK parameter a shot and see if that works.