# IMU calibration after adding a power bank on Stretch SE3 base

**URL:** <https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394>\
**Category:** Ask\
**Created:** [September 5, 2025, 6:53am UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394 "2025-09-05T06:53:35Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![seongwoncho](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/seongwoncho/32/937_2.png) [@seongwoncho](https://forum.hello-robot.com/u/seongwoncho)\
**Post date:** [September 5, 2025, 6:53am UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/1 "2025-09-05T06:53:35Z")

</div>

Hello,

I mounted a power bank on the base of my Stretch SE3 and noticed that the IMU readings are significantly disturbed, likely due to magnetic interference. For example, when I query the IMU with:

```auto
import stretch_body.robot
r = stretch_body.robot.Robot()
r.startup()
print(r.pimu.status['imu'])

```

the values for `mx, my, mz` appear clearly distorted compared to before.

Is there an official calibration procedure or manual for recalibrating the IMU on Stretch SE3?

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [September 5, 2025, 11:13pm UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/2 "2025-09-05T23:13:51Z")

</div>

Hey @seongwoncho, good question. I’ll check with the hardware team and get back to you. For Stretch RE1 and Stretch 2, we had two CLIs to calibrate the softiron matrix (called [REx\_base\_calibrate\_imu\_collect.py](https://github.com/hello-robot/stretch_factory/blob/master/python/tools/REx_base_calibrate_imu_collect.py) and [REx\_base\_calibrate\_imu\_process.py](https://github.com/hello-robot/stretch_factory/blob/master/python/tools/REx_base_calibrate_imu_process.py)), but I’m not sure if they work with Stretch 3.

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [September 5, 2025, 11:46pm UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/3 "2025-09-05T23:46:38Z")

</div>

Hi @seongwoncho, I just confirmed. Unfortunately, the new IMU’s magnetometer can’t be recalibrated since it doesn’t allow the softiron matrix to be set programmatically.

---

<div class="post-metadata">

**Author:** ![seongwoncho](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/seongwoncho/32/937_2.png) [@seongwoncho](https://forum.hello-robot.com/u/seongwoncho)\
**Post date:** [September 6, 2025, 1:28am UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/4 "2025-09-06T01:28:32Z")

</div>

Got it, thanks for confirming. I’ll try shielding or increasing the distance to reduce interference.

---

<div class="post-metadata">

**Author:** ![seongwoncho](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/seongwoncho/32/937_2.png) [@seongwoncho](https://forum.hello-robot.com/u/seongwoncho)\
**Post date:** [September 8, 2025, 4:46am UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/5 "2025-09-08T04:46:05Z")

</div>

Surprisingly it wasn’t the IMU at all — I realized that my code wasn’t even using the IMU sensor values, and the same rotation errors appeared when I placed a different heavy object (~2 kg) on the base.

So the issue clearly comes from **the added weight rather than magnetic interference**. I already tried `REx_base_calibrate_wheel_separation.py`, but it didn’t make much difference.

Are there other calibration steps or adjustments you’d recommend in this situation?

---

<div class="post-metadata">

**Author:** ![bshah](https://yyz2.discourse-cdn.com/flex030/user_avatar/forum.hello-robot.com/bshah/32/55_2.png) [@bshah](https://forum.hello-robot.com/u/bshah)\
**Post date:** [September 8, 2025, 8:40pm UTC](https://forum.hello-robot.com/t/imu-calibration-after-adding-a-power-bank-on-stretch-se3-base/1394/6 "2025-09-08T20:40:36Z")

</div>

What kinds of rotation errors are you getting? Like your commands aren’t being executed or the `base.status['x/y/theta']` odometry reported isn’t accurate?
