Adding an External IMU to your Hub

All Control Hubs feature an internal IMU. If your Expansion Hub was purchased BEFORE December 2021, it has an internal IMU installed.

Configuring the 9-Axis IMU (REV-31-3332)

To use the 9-Axis IMU the Control Hub must be running Robot Controller App v10.0 or newer.

The 9-Axis IMU is configured similar to other I2C devices. First, navigate to the Control Hub Portal or Expansion Hub where it is connected in the configuration menu.

Configuration menu on the Driver Hub

Next, scroll to find the option to add something to the I2C Bus. Note: The internal IMU appears in I2C Bus 0. For this example, we are adding the 9-Axis IMU to I2C Bus 1.

I2C Bus options in the configuration menu

Once in the menu, click "Add". This will show the option to add a new sensor to this I2C Bus.

Option to add a new I2C device to the bus

Scroll to select the REV 9-Axis IMU from the dropdown menu.

9-Axis IMU within the available dropdown menu

Name the IMU something relevant that will be easy to identify later. Remember the built-in IMU, if applicable, may also appear as an option while programming.

Naming the IMU to identify it while programming

Finally, select "Done" and complete the remainder of your configuration process.

The "Done" option will save the added sensor

9-Axis IMU in Blocks

Once configured, the 9-Axis IMU will appear as an option under "Sensors" in the Blocks menu.

The IMU listing in the Blocks side menu

When calling the IMU, the configured 9-Axis IMU will appear as the assigned name in the dropdown option on the individual block.

IMU selection dropdown

9-Axis IMU in OnBot Java

When "Setup Code for Configured Hardware" is checked while creating a new OpMode in OnBot Java, the IMU will automatically be added to the hardwareMap using the assigned name from configuration.

An internal IMU, if applicable, will retain its default name based on the version of IMU (BNO055 or BHI260AP).

The configured IMU appearing in OnBot's hardwareMap

Other Compatible External IMUs

There are a few options that will work for giving your Hub Gyro/IMU function.

  1. navX2 Sensor Bundle - Also supported in the FTC programming environment. Code examples are listed on AndyMark's page, and this product includes the correct cables to use within FTC.

  2. Adafruit 9-DOF Absolute Orientation IMU - This is the same IMU as in Control Hubs from before 2022, but will require you to either create an adapter cable or solder a cut sensor cable to the board. Plugging this in and configuring the IMU on I2C port zero will allow you to use and program the same as an internal IMU.

  3. Integrating Gyro with our Logic Level Converter and Sensor Cable Adapter - This is supported in the FTC Programing environment but is just a single-axis gyro, not a full IMU.

Last updated

Was this helpful?