9DoF ICM-20948 Issues

I got around to testing a brand new out-of-the-plastic Sparkfun 9DoF ICM-20948 (https://www.sparkfun.com/products/15335) I purchased, attempting to use it with a SparkFun Thing Plus ESP32 WROOM (https://www.sparkfun.com/products/15663), along with basic Arduino IDE and ESP32 software for it (I use the ESP32 quite a bit with my own dev environment, but I am also able to use it with my current Arduino IDE environment without issue).

Connected to the ESP32 using Qwiic and all default settings over I2C it will not work with any of the library examples.

The first, second, and third examples simply repeats: “Initialization of the sensor returned: Data Underflow”

The PortableC example repeats: “whoami does not match. Halting…”

Considering I’m using the exact components used in the SparkFun guide, the Arduino IDE with latest library installed… I’m not sure what I could possibly be doing wrong. Not that that isn’t possible but I don’t see it! How likely is it that the part is simply defective?

What examples are you using? More specifically, how are you “opening” those examples (copy/paste, GitHub, Arduino IDE Library Manager) ?

The examples installed along with the latest version of the library for the Sparkfun 9DoF ICM-20948. The library installed via the Arduino Library Manager. Sorry that wasn’t clear!

Would you happen to have another board to run these examples on?

Hello. I do have another SparkFun Thing Plus ESP32 WROOM and unfortunately it exhibits the same behavior, the “Data Underflow” error. I would say it is pretty unlikely then that the board itself is the issue. Anything else you can think of to try? Again, latest library, Arduino IDE, using the example in the IDE that the library installed, the board, the cable, and the 9DoF board are all SparkFun products. I’m also using the ESP32 WROOM with other work without issue. I have also tried different Qwiic cables so I don’t believe that to be the issue either. Thanks!

Been a few weeks, any thoughts? Is my 9DoF board likely defective or are there any other thoughts?

Have you tried using an Uno? It’s possible the library isn’t playing nice with the ESP32 WROOM.

SparkFun has an entire page devoted to these two products working together, so I can’t imagine it simply isn’t compatible. :slight_smile: https://learn.sparkfun.com/tutorials/sp … okup-guide

The Uno is a fair bit outdated and incompatible with the nice Qwiic cables (I know I could connect it anyway but doesn’t really help me). Sadly the 9DoF board would be of no use to me if a Uno or similar ATmega328P based board was needed. At the rate this is going though I’m guessing I’m stuck with a useless board and no refund. :confused:

I certainly don’t mean to sound flippant, but I trust that you’ve tried a different Qwiic cable. (Over the past 55 or so years, I’ve had a number of very frustrating problems turn out to be bad cables. A few years ago, I got a real bargain on a DVR that was a “return” – I discovered the original problem: a bad HDMI cable [and out-of-date dead batteries for the remote control].)

Not flippant at all! I’ve run into this before, going crazy before discovering a bad USB cable or some such. I thought of this immediately (because of similar experiences) and tried the other qwiic cables I have available to no avail. Thanks for the idea though!

TS-Brandon:
Would you happen to have another board to run these examples on?

Is there a path forward here? When I’ve talked directly to SparkFun support in the past they made it very clear they wanted folks to try the forum first. When exactly is a point where we can talk about me sending the part back or something? I tried everything, with multiple cables, with the exact board SparkFun’s guide uses (two of them!) and everything else to replicate the exact conditions SparkFun states it should work and it does nothing. Is there a support path?

Hi Jerry.

Did you purchase the board directly from SparkFun? If so, let’s try a different board.

Fill out the form on this page with your SparkFun order number and put the URL for this forum post in the “Why do you want a RMA” section and we will see what we can do for you.

Thanks Chris, I appreciate the path forward!

I am having the same problem described.

Using the correct library and example code.

To use the I2C feature, do I keep the ICM-20948 breakout (original state without touching the jumpers) correct?

https://user-images.githubusercontent.c … c5babf.PNG

To use the I2C feature, do I keep the ICM-20948 breakout (original state without touching the jumpers) correct?

Correct, the board is setup for Qwiic by default.

Can you send a photo showing your setup?

At first I did the standard procedures,

connecting the cable.

is correct?

https://drive.google.com/file/d/1KdjOXr … sp=sharing