Adafruit MMC56x3 with SpeedyBeeF405AIO

Hello everyone!

I really could use help in getting my compass to work with my Flight Controller so that I can finally use guided mode.

I have a Speedy Bee F405 AIO running Ardupilot 4.7.0 beta2
I want to use a Adafruit MMC56x3 compass with it.

I do not have a GPS + Compass module instead I have a NEO-M8M GPS setup and working perfectly.

The FC does not detect the compass. I have connected it to SCL and SDA.

The light on the compass turns on and the compass works just fine with a Arduino.

Thanks in advance!

Use the Custom Firmware Builder to enable that compass for that feature limited Flight Controller.

Already did that but still no success

Hi @DynaRTX,

As @dkemxr says we’d like to first confirm that the firmware built includes the MMC5XX3 driver.

I’ve put a Copter-470-beta3 for SpeedyBeeF405AIO binary here that I’m sure includes the feature. Maybe you could give this a try?

The next most likely problem is the pin mapping. The board appears to have two qwiic connectors that are JST SH/SR connectors but the port and pin mapping is definitely not compatible with the regulard JST-GH connectors that most autopilots use.

The pin mapping for the autopilot is here

So it needs to be lined up with the adafruit compass pinout.

This wiring might work but it’s actually slightly incorrect because I suspect the SpeedBee’s I2C logic levels are 3.3V and this will make them 4V or maybe 4.5V. It will probably work but it’s not quite correct. A better solution would be to provide 3.3V into VIN but I don’t immediately see a 3.3V output from the SpeedyBeeF405AIO.

I guess this is the first time you’ve tried to use this compass? You haven’t tried with 4.6.3 of course?

Hello, @rmackay9

Thank You for your response!

I installed this firmware and checked mission planner but still no success.

Also as for the pinout I have the pinout of SDA and SCL exactly as given in the pinout by you.
But for the pinout of power I am using the “A” “B” pins given in the pinout for GND and 5V respectively.
Hopefully that is not a problem.

And yes this is my first time using a compass.

I actually have tried using ardupilot copter 4.6.3 with the custom firmware and also with stock but to no avail.

Looking forward to your reply!

1 Like

Hi @DynaRTX,

Could you share what you see on the MP HW ID page?

I suspect that there is an issue with the SpeedyBeeF405AIO hwdef pin mapping for the I2C, the compass is broken or it’s not OK to power it using 5V (it might need to be 3.3V)

FYI @andyp1per (who wrote the original hwdef)