SmartMotion® MEMS Motion Sensors

phpbb forum ID
13263
By dpeng , 17 February 2019

Hi All,

I've written an Arduino library for the ICM-20948 which you can find on Github here:
https://github.com/drcpattison/DPEng_ICM20948_AK09916

It contains raw sensor data, magnetometer/compass calibration and AHRS examples.

There will also be an accompanying breakout board which works with 3 - 5V microcontrollers available for purchase soon so please "watch" the repository if you're interested in updates.

Enjoy,
DPEng

By j56park , 14 February 2019

I have noticed that that with the sensor slightly impacted, its' ability for vibration/shock rejection is poor (i.e., in the accelerometer and gyroscope data, there is a high magnitude high-frequency noise component that contaminates the signal). How does one resolve this issue?

By nkspratheep , 13 February 2019

hi, I am using ICM 20948. I can get Compass XYZ values and Geomagnetic rotation vector but i need to find the magnetic heading so, how to find out the magnetic heading/ direction?

Is there any sample code available?

Thanks,
Pratheep

By ssarathkumar916 , 11 February 2019

Hi,

We are developing pedometer for one of our application.Initially we have developed our own algorithm to count steps in MPU9250. since component got EOL, without changing PCBA we are trying to use ICM 20648 because this is pin compatible with MPU9250.

Now we are facing problem in changing sensitivity to 16G. While changing sensitivity to 16G , we are reading 0.00000 from the result register. But in 2G (Default value) it is working correctly.

please help.

Thanks,
Sarathkumar S

By arrowlike , 10 February 2019

motion_driver_6.12 running in ARM platform
After initialization, the DMP operates as expected, producing INV_XYZ_GYRO/INV_XYZ_ACCEL/INV_WXYZ_QUAT in the FIFO output.
After ~10 minutes, sensors read value from function dmp_read_fifo becomes constant 0, no more measurement available.
In the meantime, no user code made write operation to PWR_MGMT_1, and this register is changing from value 1(correct operation) to value 16 or 32(no estimate being produced by DMP).

By kbkien , 10 February 2019

We are currently developing a device to detect a vessel engine whether it is in an ON mode or OFF mode. Looking at the datasheet of MPU9150, it does have a Digital High Pass Filter (DHPF) (Register 28 - Accelerometer Configuration) which is very useful to determine whether the engine is in an ON mode and remove the noises generated by the ocean wave that make the vessel moving.

Does MPU6050 has the DHPF?

By blazs120gl , 6 February 2019

Hello all! I'm new to this forum. I've adapted the emd v. IC demo to run on my ICM + SPI setup.
It will load the DMP firmware and I can enable the gaming rotation vectors (quaternion). As it can be expected from a compass-less device, the yaw is drifting as this axis can't be corrected from the gravity vector (axis of drift and vector parallel) and no other source of reference is available.

By elecia , 1 February 2019

Is it possible to change the baud rate in MotionLink? Or to get an old version of MotionLink when it was still possible?

I was running MotionLink 3.3.8 to evaluate the ICM20948 on the SK-20948. All was fine with that, even with a few code modifications on the Atmel SAMG55. I then connected the EV_ICM-20948 to my target processor (a PIC32). I brought up the MotionDriver with the command interface and wanted to test using the MotionLink software. However, the PIC is unable to produce 921600 baud (and 1000000 that it can produce is not close enough for UART to work).

By lexluthor , 30 January 2019

I read in a blog that in order to scale the output from the sensor 2's complement should be done on output and then divide it by the sensitivity scale factor.
Here's the code that I am using:

//2's complement
gyro_val.x = (gyro_val.x ^ max) + 1;
gyro_val.y = (gyro_val.y ^ max) + 1;
gyro_val.z = (gyro_val.z ^ max) + 1;

//Sensitivity
g_x = (gyro_val.x / 16.4);
g_y = (gyro_val.y / 16.4);
g_z = (gyro_val.z / 16.4);