Multiple responses from the same code, ICM-20948

Hi there,

I am a student working with the ICM-2048 IMU, I’m using 3 to hopefully track arm position and orientation.

I however have run into a weird problem, my 3 sensors all respond differently to the same code.

The first ‘well behaved’ sensors works completely as expected, it outputs the 9 DoF Quaternions and Accel data.

My second sensor will give me its ID, but when I try to read the FIFO it is empty as if I initialized it incorrectly.

The third sensor just gives me the same value for every register after being initialized. If ask for its ID it just gives me a random value. If I read the FIFO it just gives me the same value as many times as I ask.

I am really confused what is going on and would love some suggestions. I know it cant be the hookup because one sensor works and I hook them up all the same way. So why do 3 sensors react widely different from each other? Did I just break 2?

For the Technical details:

My code is in LabVIEW and I’m using an myRIO-1900.

My code is based on the GitHub arduino code from the sparkfun website, so it should function summarily if not identical.

I am using the DMP functionality, if that changes anything.

The sensor code is: SEN-15335 at https://www.sparkfun.com/products/15335

I attached pictures of the front and back of my sensor, and a screenshot of the ‘Same random value’ issue.

I have grounded the ADO connector.

If any of you need anything more from me let me know

SS of Wrong ID.png

Hello, is your problem solved? If not, I request you to perform a test. Check if all the boards are physically identical. I can see that there are some jumpers at the back of the board. Kindly check the continuity of these jumpers in all of the three boards. It is to be sure if there has been any manufacturing error in the case of any of the boards.

Hi thanks for your response. But no my problem hasn’t been solved yet.

I Checked the jumpers on the back for all three and they appear to be identical.

I grabbed my magnifying glass to inspect the front but that side appeared identical as well.

I am also considering reflowing the PCB with hot air, does anyone know if this is advisable with this sensor?

Any more suggestions are Appreciated.

  • Frake

As you can see in the ICM-20948 datasheet, the temperature range of the sensor is up to +85°C. If you reflow the PCB with hot air, make sure that you do not exceed this temperature. In my humble opinion, if the warranty is still valid for your products, it’s better to e-mail Sparkfun’s technical team. They may offer something worthwhile after the X-mas holidays.