Guide: Using an External IMU

Given the issues that my team and other teams had with the internal IMU shared in this message thread, I’m posting a guide to setting up and using an external IMU sensor from Adafruit until REV comes up with an update about the unexpected IMU reset issue.

This isn’t guaranteed to fix the issues for your particular robot. Please reply if your team tried it and share if it worked or not.

Materials list

Hardware setup

  • Cut the 4-pin JST PH cable, separate the 4 conductors and strip 5 mm of insulation from the end of each conductor

  • Solder the conductors to the Adafruit IMU board like this:

  • Plug the sensor cable into I2C Bus 1 (note: you cannot use Bus 0 because the internal IMU is on Bus 0 and uses the same address as the external IMU you are adding). I recommend using some hook and loop tape to fasten your IMU on top of the Control Hub. Pay attention to the board orientation in the picture. Put the chips towards the top and the words 9-Axis Abs Orientation towards the USB port of the Control Hub (this is for product 2472. If you use product 4646, you’ll have to figure out the orientation).

Robot configuration

Software use

Initialize and use the Adafruit IMU exactly the same as you would the internal IMU.

If you mounted the device as recommended above, initialize the IMU this way:

Good luck teams!


Thanks for the detailed explanation!

We have received and tested our AdaFruit 4646 version of the breakout board. I like this version as it supports the STEMMA connector and there is a STEMMA → JST PH cable available. This avoids cutting/soldering for teams without that capability.

You can see in the pictures at the link below that the IMU pin 1 orientation is rotated 180 degrees between the 2 different versions of the breakout board so you will indeed need to change the LogoFacingDirection parameter between the 2 boards.

Unfortunately, ESD disconnects are hard to reproduce reliably so I have no feedback on whether this external device will perform better in the presence of ESD or not. But you can be sure we’ll have it ready to swap in if things go bad on a cold/dry day…

1 Like