I've written an Arduino library for the ICM-20948 motion sensor which uses the internal DMP (digital motion processor). I've tested it using a Teensy 4.1 and it seems to work well.
Library can be found here:
https://github.com/ZaneL/Teensy-ICM-20948
Nodejs app which takes the quaternion output and rotates a 3D object in real time:
https://github.com/ZaneL/quaternion_sensor_3d_nodejs
Video demo: https://streamable.com/ivmgfz


Library can be found here:
https://github.com/ZaneL/Teensy-ICM-20948
Nodejs app which takes the quaternion output and rotates a 3D object in real time:
https://github.com/ZaneL/quaternion_sensor_3d_nodejs
Video demo: https://streamable.com/ivmgfz

