No data measurements from ISM330DHCX

Hi,

I’m trying to get measurements from the “SparkFun 9DoF IMU Breakout - ISM330DHCX, MMC5983MA (Qwiic)” using the “example1_basic” code (link), but nothing appears in the serial monitor.

I connected the “SparkFun 9DoF IMU Breakout - ISM330DHCX, MMC5983MA (Qwiic)” to the “SparkFun Thing Plus - ESP32 WROOM (USB-C)” using a flexible Qwiic cable, and the board is connected to my laptop via a USB-C cable. The power LEDs on both the IMU and the board are on.

What should I do?

You need to upload and run the appropriate code on the MCU, and make sure that the serial monitor baud rate is set correctly.

I already did

Post the message that appeared in the Arduino IDE output window, when you uploaded the code.

  1. Arduino example:

  2. Output after uploading:

  3. Serial monitor after I pushed the reset button of the board:

  4. The code corresponding to the message:

So, something did in fact appear on the serial monitor. That is very important information.

The next step is to run the Arduino I2C address scanner program, to verify I2C communications. It should detect and report the I2C addresses of all connected I2C devices. You can double check that for correctness with the library code, as alternatives are possible for that sensor.

I performed an I2C scan test following this guide: (link).

When I compiled the “Examples/Adafruit TestBed/I2C_Scan” sketch, the compilation failed with the following error:

I also tried using the code provided in the above link. The code compiled and uploaded successfully, but I received the following message in the serial monitor:

It seems the board cannot recognize the IMU sensor. What would be the appropriate next step to resolve this issue?

There are several possibilities: the sensor is not functional, the Qwiic cable or connection is defective, or you may be using the wrong I2C bus on that particular processor (possibilities include Wire and Wire1, see this page: ESP32 I2C Communication: Set Pins, Multiple Bus Interfaces and Peripherals | Random Nerd Tutorials).

If you have a different type of Arduino with the Qwiic adapter and/or another Qwiic cable, try those.

You might look for examples of how to use I2C devices with that particular MCU module, but I don’t have any experience with it, so can’t be of further help.

1 Like

Thanks for all your responses! They were very helpful.

I tried different microcontrollers, various Qwiic cables, and different sensors, but nothing worked.

One concern is that I can’t select ‘SparkFun ESP32 Thing Plus C’ even after installing the SparkFun ESP32 Boards. Instead, I selected ‘SparkFun ESP32 Thing Plus’ without the ‘C’. Could this be related to the problem?

Please let me know if anyone has any insights.

Hi @purmod ,

Please check you have the “esp32 by Espressif Systems” board package installed, then select “SparkFun ESP32 Thing Plus C” as the board. (The pinout is different to the original “SparkFun ESP32 Thing Plus”.)

Apologies for the confusion. The “SparkFun ESP32 Boards by SparkFun Electronics” package is mostly obsolete…

I hope this helps,
Paul

1 Like

Thanks!

This has resolved my issue.

1 Like