mpu_init failed



i updated my ROV to the new image.

The new Cockpit is amazing. The most awesome feature is the hold depth and heading.

I could test the hold depth one which worked really fine for me.

However, i had some trouble. Everytime i put the ROV into the water i could control it for a few minutes. After about 2 minutes an a drive of ca.4m it always switch off by itself.

I can't reproduce this behavior when the ROV is on my desk. I could see voltage falling down to 6/7.5 twice for a second or so.

During testing my IMU worked fine.

But after a while it didn't do anything. I cant get it to work again.

In the data panel it says

mpu_init failed with code -1 and sometimes it switches to mpu_init failed with code -6

does anybody know what that means?


Hey Tobias,

The mpu_init failed -1 typically indicates that the first address we looked for the MPU was not found. The system automatically tries the secondary address which usually works.

mpu_init code -6 should not be happening. I would have to dig around to find the reference to what the code implies.

Was this all working just fine before the upgrade?



Hi Tobias:

When the voltage gets down to around 6-7 volts, the ROV will probably shut off when try to drive the thrusters. If your batteries are in decent shape, you should be reading around 8-9V if you are using the white LiFePO4 batteries and 9-11V if you are using the Trustfire batteries.

There is also the issue if you are using Trustfire batteries that they might be cutting out if you are driving too hard. Look at the battery current telemetry on the right side of the cockpit. The current for the battery packs is IBat1 and IBat2, or something like that. If you see that one pack is drawing current but the other is not, then it is probably due to the protection module in one of the Trustfire batteries being tripped. Unfortunately, when this happens you will probably have to open up the battery tube to reset it.

This issue is hard to reproduce when operating the thrusters in air, because in air they draw very little current.



By booting the rov today the errors have gone and the mpu is initiated right. It works again.

Do i have to calibrate the compass erverytime i boot? Because it always starts at about 15° no matter which position the ROV has.

When i calibrate it works fine.


Hi Walt,

thanks for your answer, i still use the trustfire - they where the recommended batteries when i built the ROV.

I realized a few days ago that there are new ones (LiFePO4).

is it worth it to upgrade? Can i use the same charger inellicharger i2 from NITECORE?


Hi Tobias
Could it be that your trustfire tripped because you tried to turn (yaw) the Rov? That happened to me all the time, untill I changed the code (issue 243). I had to redo the changes after updating to a new image.


Hi Hubertus,

i do not really know what i did when the ROV switched off. I will try the fix and see if it works for me.




This could be, it depends upon what "new image" Tobias is running.

Tobias, if you're running the 2.5.0 release, then yes, you should look in GitHub at Pull Request #243, as it will cure a lot of the Trustfire Battery tripping issues.

If he's running the developer's release of 2.5.1, the I *think* that this fix is already in the code.



I just upgraded to image OpenROV-2.5-29.img.7z

I'll check if the code issue has been changed allready



Hi Tobias:

That's the 2.5.0 release, and yes, it has an issue with the Trustfire batteries in that yawing motions can cause the battery protection circuit to trip.

Here is the patch in pull request #243. It only changes one line of code, so it's very quick to apply.



it hasn't been implemented yet.

I did the changes manually. Can't test it right now - maybe tomorrow i'll see if the changes take effect.

thanks all


do i have to re-upload the firmware from sd-card to the board to the changes take effect?