This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

ICM20948 magnetometer issue

Hi,

I am develloping product witch ICM20948 and need to use magnetometer. I tried to move some existing and working code for arduino. I was able to get data from magnetometer. But next day when i tried the same thing, magnetometer wasnt responding. Just sometimes it ran for a while. In datasheet I founded that reseting i2c master is possible, but after this reset it was working 50/50. Sometimes yes, sometimes not. Now it isnt working at all. I know that it has not much in common with Nordic but I completely ran out of ideas. Please, could someone help me? I thing the problem is in the i2c master, but now also resseting it doesnt work. I could try post this issue to Stackoverflow, but they immediatelly mark this question as non related to programming, so I am asking you. 

Regards

Parents
  • If you look on Github web site, you will find an exemple of the ICM20948 working with the nrf52832. https://github.com/github-deden/nRF52832_ICM20948_DMP_Samples  Read the issues section to get the magnetometer working properly (small change in the code needed).  There is also an improve i2c driver in the issues.  

    The code is based on Invensense Embedded motion driver. You should download also that code from there web site in the developper section.  Download the version for the nucleo board.   I have develop softwares for the nrf52832 board and ICM20948, using ESB communication between 7 peripheral and 1 central.  Still some testing phase but so far so good.  Software just need optimisation but it basically work. Good luck with your project.

Reply
  • If you look on Github web site, you will find an exemple of the ICM20948 working with the nrf52832. https://github.com/github-deden/nRF52832_ICM20948_DMP_Samples  Read the issues section to get the magnetometer working properly (small change in the code needed).  There is also an improve i2c driver in the issues.  

    The code is based on Invensense Embedded motion driver. You should download also that code from there web site in the developper section.  Download the version for the nucleo board.   I have develop softwares for the nrf52832 board and ICM20948, using ESB communication between 7 peripheral and 1 central.  Still some testing phase but so far so good.  Software just need optimisation but it basically work. Good luck with your project.

Children
Related