I am trying to interface an ESP8266 microcontroller with an ICM-20948 IMU chip.

Using the reference code from Invensense, the internet and trial and error, I managed to configure the chip do do 9-axis sensor fusion using its internal compass and DMP.

I am using a mosfet(BSS138)-based level shifter and a linear voltage regulator to provide the ICM with its required 1.7V VCC / logic voltage.

For the first 5-30 seconds, everything works fine and I get perfect drift-corrected quaternions. However, the data stream then just apruptly stops and the call to Wire.endTransmission() fails with error 4 (which very helpfully means "other error")

Does anyone know what the reason for such behavior could be?

  • 1
    \$\begingroup\$ Comments are not for extended discussion; this conversation has been moved to chat. \$\endgroup\$
    – Voltage Spike
    Dec 31, 2020 at 5:31


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.