ICM-20948 enumerates at 0x4B instead of 0x69 - QWIIC address

I bought two of these devices and one is at address 0x69 (correct) and the other is at 0x4B.

So the 0x69 device works with the sample code but the other does not.

When I run the code, I get a Data Underflow error. This appears to happen

when the device is not connected or connected.

So, is this a defective device or can I change the address in the code?

I am using the Sparkfun Blackboard.

Any suggestions?

Hello gswonk.

The address should only be 0x69 by default or 0x68 if you close the ADR jumper.

Are you using them both at the same time and have you changed the address jumper on one or both?

Are any other I2C or Qwiic devices connected to your BlackBoard?

There are no other devices connected to the BlackBoard.

I enumerated the devices using a Raspberry Pi, so I think that the device is either defective or is reconfigured.

Is it possible to change the slave address via software?

OK,

I figured out what happened. I bought both the BN080 (0x4B) and the ICM-20948 devices (0x69).

They look almost identical. Need to get new glasses .

Now the question. What is the difference between the devices? $34.95 (BN080) vs. $16.95 (ICM-20948)?

Ah, that explains it!

Essentially those are two different ICs made by different companies that do similar things.

You’d need to check the data sheets for both to get a better idea how they are similar or different but the block diagrams for each look very similar.