Connecting a RM3100 magnetometer to Pixhawk cube


i recently bought a RM3100 magnetometer to connect to my Pixhawk cube. I should be a relative easy plug ang play, but I cant seem to get it to connect on my pixhawk. I saw that it exist a list of magnetometers that is visible for the pixhawk (2017 list). Do I need to add RM3100 to the pixhawk system? And if I do, how do I do it?

Update to ArduCopter 4.0.4. It is fully supported already.

Good day, if you have purchase the kitcan node by mRo you can wire it directly on a can port of the fc, if you own rm3100 by drotek, its i2c or spi.
If your rm3100 is can you need first enable the P1 driver to 1 on CAN parameter

Amilcarlucas: Do I have to have a framework to Arducopter 4.0.4? I have a Rover (boat) that I use as a frame.

Dave84: It is a Drotek, and I have connected the i2C to the pixhawk (on i2C there). If I want to connect the SPI from the RM3100, where should I connect it to the pixhawk?

if you want use SPI you need to connect it on the SPI port of your fc

Sorry, but I cant seem to find the SPI port, is it called something else?

what kind of fc do you have

It is this one

looking on some schematics i don’t have found the SPI port on your fc…

Go to and install the latest firmware for your board.
I don’t know why the last stable version of the Rover is so old (Nov 2019), but in that version the RM3100 still didn’t work.

Echo: Should I perhaps download the dev firmware? maybe that version will work? I have the latest stable version installed (4.0.0) and that does not support RM3100.

you can download the 4.1.0 dev, if rm3100 is recognized you will find it in the compass para and HWID

I downloaded the Ardupilot Dev. 4.1.0 for Rover. I did not find the HWID parameter for Compass.

You will find it on MP

Not applicable for you as you’re using i2c, but a note for others that find this thread later: there is essentially no run-time discovery of external spi devices. To use spi peripherals in most cases you’ll need to add the device in the hwdef.dat and compile your own firmware.

Dave84: Hi David. I found something called HWStatus on QGC. I have also tested the RM3100 and it seems to work. When I turn it the compass on QGC turns. The only thing is that it is pointing 45 degrees in the wrong direction, how can I fix that? Is it also possible to disable the internal compass?

That’s strange, it works for me with CubeBlack and ArduRover V4.1.0 dev.

Echo: I found it. I am just trying to calibrate it with the internal one. It is a mess. I have to go through every possible orientation that is.

yes… you can disable the internal compass if you want.
For point the compass in the right direction you gave to follow the arrows printed on the cover and perform a new calibration

I have the same setup as Echo showed on his figure.

  1. RM3100
  2. AK09916

If I say “use compass 1” it still includes whichever compass is in the 2. and 3. order. I really only want to use the RM3100 compass, the offsets of the other ones are really bad and I want to exclude them. Is there a way to just remove all except RM3100?