SmartMotion® MEMS Motion Sensors

phpbb forum ID
13263
By leiflundberg , 9 September 2018

Hi, I am struggling to get the I2C communication going with the ICM-20789. The datasheet tells that you can select the address via the AD0 pin. Grounded means 0x68 and connected to VDD means 0x69. Still on page 51, chapter 10 it says that the device address is 0x63...
How to understand this?
I try to establish contact by sending a command addressing the device and the "WHOAMI"-register and then a read command but I don´t get any response.
Do I miss something, like a start-up command to activate the circuit or...

All good ideas (or working codes) are welcome!

By lakshman , 8 September 2018

Hi all,
I using ICM-20601 IC for GYRO & Accelerometer data.I am configuring and reading data through SPI communication in FPGA,wheh i configured SPI clk as 2.5 Mhz from device i am unable to read correct data, then i clanged the SPI clk speed to 1 Mhz.I am able to read data, but it was not according to my device configuration.I configured device to +/-32g and tested by keeping the device is in stable Z-poisson so, i am expecting output of +/-1g data, but i am getting +/-4g as output.my configured registers are
regsister-6B data 09
6A data 11

By adib1024 , 7 September 2018

Dear Invensense team,

looking at the datasheet for the ICM20602 there is only possibility for WHO_AM_I register identification.
DS-000176-ICM-20602-v1.0.pdf
And the first register starts with address 04h.

looking at the given ICM20602_eMD_nucleo_1.7 code, I see access to more identification possibilities not mentioned in datasheet.
"""
#define MPUREG_MANUFACTURER_ID 0x00
#define MPUREG_CHIP_ID 0x01
#define MPUREG_REVISION_ID 0x02
"""

By robert_parr , 29 August 2018

Hi
I have an ICM-20948 on my PCB and I am collecting raw data from the accelerometer absolutely fine over the SPI.

However when using the in built I2C master to read the magnetometer I don't get any data back.

I am configuring the I2C_MST_CTRL register with the recommended value of 7 in the clock config bits.

I am configuring the USR_CTRL register to take a value of 0x20 to enable the I2C master.

Then when I want to write using the slave 4 (I thought this would be easier to debug as it has the transaction complete flag) I follow the following sequence:

By janwillemp , 24 August 2018

Currently I am trying to get an Invensense MPU-9250 working with Android (Codeaurora Oreo release) on a SOM using the Snapdragon (msm8996). I found and set up a driver and that looks to be working just fine (cat /sys/bus/iio/iio:device0/regdump gives non-zero values when the device is connected, otherwise all zeros)). Now the next step is getting it connected to the OS through the Android Sensors HAL. I found some code under $ANDROID_ROOT/hardware/invensense/65xx, which is pretty much the same IC without the magnetometer, so that should be fine (right?).

By egholm , 21 August 2018

Hi there,

Am I the only one that has tried to interface to an ICM-20789 (or any other chip to be used with the eMD) from a 64-bit host? (and failed!)

The eMD source (eMD-SmartMotion_ICM20789_20689_1.0.0) is a mess with respect to use of primitive type.
Somewhere they use "long" directly, other places they typedef "unsigned long" to their own "u32" type, and finally, other places they use the "correct" C99 types "uint32_t".

BR,
Martin