Skip to main content

DA14585 IOT IMU Question


2 years ago

Posted by Craig Flanagan 0 points 1 reply

Hello Dialog, I have purchased the DA14585 IOT kit and am interested in using the IMU/geomagnetic sensor data fusion
capabilities in a product I am working on. Unfortunately the IMU which the kit uses, namely the TDK Invensense ICM-42605
is not yet commercially available according to TDK. The IOT kit offers up the possibility of using the Bosch BMI160 by undefining
ICM4XX_ACCEL_SENSOR_AVAILABLE and defining BMI160_ACCEL_SENSOR_AVAILABLE in da1458x_basic.h. However,
the older IOT kit uses a bosch geomagnetic sensor and this new kit uses an AK09915 geomagnetic sensor. The question is, if I change the
defines in da1485x_basic.h to use the Bosch IMU, will the sensor fusion code now fuse the Bosch IMU data with the
new AK09915? i.e. will just changing out the TDK IMU with the old Bosch IMU still produce a working device given
that the geomagnetic sensor has also been upgraded from the old IOT kit. I would like to test it myself but as you
know the pads for the Bosch IMU provided in the kit are really too small to solder by hand so it leaves me with the option
of making a new board to test this configuration which I am not ready to do yet, further if I made the board with the
bosche IMU and the AK09915 and they didnt work together that would be a waste of alot of time on my side. Can
you let me know if these two chips (the BMI160 and the AK09915) do in fact work together with the sensor fusion
code in the new IOT kit. Thanks, I love your products. Craig

accepted answer!

2 years ago


Hi Craig Flanagan,

The IoT MSK SW is tested with BMI160 + AK09915 and works as expected with SF and all the features, as the ICM42605 IC does, provided that the compilation switches @ da1485x_basic.h are set correctly. You may test the system by soldering the BMI160 and removing the ICM42605 or by connecting a BMI160 evaluation board to the external connector. Using the 2nd option, SPI pins are exposed to J18 but another pin has to be selected for interrupt (or get a wire directly from INT_ACCEL_GYRO/P1.2).

Thanks, PM_Dialog