# XRP RP2350 board: internal IMU conflicts with Qwiic OTOS IMU

**URL:** <https://xrp.discourse.group/t/xrp-rp2350-board-internal-imu-conflicts-with-qwiic-otos-imu/860>\
**Category:** Robot Hardware\
**Created:** [September 23, 2025, 9:48pm UTC](https://xrp.discourse.group/t/xrp-rp2350-board-internal-imu-conflicts-with-qwiic-otos-imu/860 "2025-09-23T21:48:53Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jbenjam](https://avatars.discourse-cdn.com/v4/letter/j/8c91f0/32.png) [@jbenjam](https://xrp.discourse.group/u/jbenjam)\
**Post date:** [September 23, 2025, 9:48pm UTC](https://xrp.discourse.group/t/xrp-rp2350-board-internal-imu-conflicts-with-qwiic-otos-imu/860/1 "2025-09-23T21:48:53Z")

</div>

I’m running into an issue on the XRP (final) control board (RP2350). I also have a beta board, which works fine with the same setup.

Here’s the problem:

- The built-in IMU works normally by itself.

- The SparkFun Qwiic OTOS IMU (0x17) also works by itself.

- When both are connected on the same I²C bus, the built-in IMU stops responding.

Since the two devices are on different addresses (0x6B for the internal LSM6DSO, 0x17 for OTOS), I expected them to coexist. But as soon as OTOS is connected to the Qwiic port, calls to the internal IMU fail with `[Errno 5] EIO`.

Has anyone seen this kind of behavior with the RP2350 board? Any ideas on how to get both sensors working simultaneously (timing tweaks, bus speed changes, pull-up issues, etc.)?

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![Fgrossman](https://avatars.discourse-cdn.com/v4/letter/f/b77776/32.png) [@Fgrossman](https://xrp.discourse.group/u/Fgrossman)\
**Post date:** [September 25, 2025, 3:26pm UTC](https://xrp.discourse.group/t/xrp-rp2350-board-internal-imu-conflicts-with-qwiic-otos-imu/860/2 "2025-09-25T15:26:05Z")

</div>

We have not tried this, but my guess would be that the drivers for the QWIIC OTOS are setting up the I2C in a different way than the XRPLib libraries do for the built in IMU. You may need to modify the QWIIC drivers to not re-initialize the i2c ports.

---

<div class="post-metadata">

**Author:** ![SparkFro](https://yyz1.discourse-cdn.com/flex011/user_avatar/xrp.discourse.group/sparkfro/32/12_2.png) [@SparkFro](https://xrp.discourse.group/u/SparkFro)\
**Post date:** [October 13, 2025, 3:49pm UTC](https://xrp.discourse.group/t/xrp-rp2350-board-internal-imu-conflicts-with-qwiic-otos-imu/860/3 "2025-10-13T15:49:56Z")

</div>

Hi there! Sorry for not responding sooner, I’ve been out for a bit!

Which Qwiic connector are you using? The XRP’s internal IMU is on the Qwiic 1 bus, so I’d recommend connecting the OTOS to Qwiic 0 to ensure not bus conflicts.

Also, our I2C driver will assume Qwiic 0 by default, so if you put it on the Qwiic 1 bus but do not explicitly specify that in your code, you’ll get that error.

Hope this helps!
