BMM150 init fail in Jetson NX

I recently purchased a bmm150 compass from seed grove to interface it with my jetson NX. When i connect using i2c port I2C1_SDA I2C Bus 8 , the device is getting detected using sudo i2cdetect -r -y 8 as

But when i run the compass code, it throws me an init error. I am not sure if the issue exists with jetson or with compass library. The below is the error message where 0x08 represents the bus and 0xD represents the address.

It works perfectly in rpi but not in jetson devices (Raspberry Pi and BMM150 digital geomagnetic sensor python example | Pi bits).

I could see many questions on the same topic but no accurate response/suggestion was given.

Looking forward for help.


If the slave address is 13 you need to modify it to 0x13 like sensorObj.BMM150(0x8,0x13)

Hi @ShaneCCC ,
I have tried it as well, its not working. Same init error is repeating.

Its not the issue with compass hardware but quite unsure how to overcome this error.

What’s the line 896 in

Hi @ShaneCCC ,

def init(self, bus=0, addr=0x10, cs=-1): line 895
this = _pyupm_bmm150.new_BMM150(bus, addr, cs) line 896

In line 895, i changed bus to 8, addr = 0x13 as well. But it does not take any effect and still displays init fail error.

There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.

This function looks like for SPI instead of i2c?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.