RM3100 Magnetometer i2C B Port

Hi, I have an RM3100 magnetometer on a Drotek RTK GPS rover module. It’s using the I2C B port on a Holybro Pixhawk 4. The UART on the same port recognises the F9P GPS with no issue, however after completing the compass setup the third compass (the other two being the Pixhawk 4 and it’s external compass) does not appear. I am wondering how I might configure the I2C B port to work with the RM3100?

When i was using the RM3100 i had to start it manually at first. (i was using the drotek module).

In Qgc, go to the mavlink console, type “rm3100 status”, to see if the rm3100 driver is running.
If it is not then type: “rm3100 start”, to start. if the connection is not there it will say:
WARN [rm3100] no device on bus 2
WARN [rm3100] no device on bus 1

If the connection is there (and working) it will display the bus and poll rate.
In my case:
WARN [rm3100] no device on bus 2
INFO [rm3100] Poll rate set to 100 Hz

use “rm3100 info” to check measurement.
And I use “sensors status all” to see an overview.

Just to add to the conversation I found that I needed to issue an rm3100 start in nshterm. To have PX4 autostart add the following file to the flash card filesystem using your favourite editor called etc/extras.txt.


set +e
rm3100 start # start rm3100, continue if start fails (else remove the set +/-e)
set -e

This did the trick for me - starts the RM3100 whenever it’s plugged in. For me it appears as compass two - and I’m still figuring out how to make it compass 1 after compass calibration. I can do this manually in the .params file . . . but it would be kind of nice to configure it as the primary in the first case.

Same problem here. If I plug the rm3100 into Drotek Pro 3 FC, it will automatically start. When I connect RM3100 to pixhack v5+, I have to manual start. I wonder if droket has hard coded something in their FC.