IMU is dead and only port side LEDS working



We took our ROV 2.8 out for a dive and the starboard side LEDs stopped working after a while in the water. We brought the ROV back home to find out that the IMU is also not working anymore. The only reading it gives is the depth. Everything else is just zero. When I press on the pressure sensor the depth reading goes up and comes down consistently upon release.

There was no leaking - didnt detect any water after pulling rov out…

Can somebody help me?


Have you checked the voltage of the batteries? Off the top of my head the only way you can have half the LEDs on the light board stop working is if the voltage of the system is too low.


Hey Brian,

Thanks for your reply. Its 8.9 V whereas nominal is 9.2. So thats not way too off?


also the pressure and temperature seem to be giving reasonable readings as well. Im not sure why the roll pitch and yaw are just 0.0.


That is normal. Normal operating range is between about 7.5-9.6. With regard to the IMU have you updated your software to the latest software (30.0.3)?


yes i downloaded the latest version a couple of weeks ago.


When the ROV first starts up it does need to me moved around for the IMU to initialize. If it is sitting perfectly still it will read 0 until it senses movement or the motors are run.


I also went back and looked at the schematics. The left and right side look like they are in parallel. Can you check to make sure none of the components on the circuit board fell off? If you can post a picture I can take a look also.


i just restarted the rov and ensured I was moving the imu at start … i got this message saying mpu_init failed with code -1 …

I do know thaat looseing the metal screws allowed me to start controlling the LEDs which were on all the time otherwise.

Your help would be much appreciated.

I have attached the pics. Nothing has falled off.


Just a clarification that it is not when the ROV is booting. After the ROV is booted there is a delay before the IMU sensor begins to give values. I don’t have the exact number in front of me but when the mission time clock in the bottom right corner is at 2:00 everything should be good once it senses movement.


I have been playing around with it since it has started and its been over 30 min and Im getting the same problem.


Have you tried restarting the system? I know it sounds simple but this can often get everything started in a good state.


yes briaan. Quite a few times. Does restarting the arduino or resetting it help? i can try redoing the software image again.

I also confirm the temperature dropped when I put the IMU in water.

Do you think this is a software issue, and perhaps I can directly trying pinging the IMU over the command line? If so any ideas how I could do that?


I am not sure what the issue is. The two issues you are seeing seem unrelated but if they both failed at the same time I am guessing they are somehow related.

I would lean more towards a hardware issue for the lights since the controls are all from the same two wires on the controller board.

As for the IMU I would also lean towards a hardware issue unless you have modified the code. The 30.0.3 release on a 2.8 has been stable in all of our testing.

It is getting late where I am so I am headed to bed.

Good luck with the troubleshooting. Maybe someone else has some ideas.


Thanks Brian. Well this was our first test with the IMU in the water. Its certainly sealed up properly and we just got this IMU. So Im not quite sure how to go about debugging the IMU if its a hardware issue.

Thanks anyways for the help. Ill see if I can work ut what happened with the LEDs.


hey everyone,

wanted to put in a little update.

I just wanted to update a couple of things

  1. I redid the image and it still does not work.
  2. The data panel in the cockpit says mpu_init failed with code -1
  3. BNO_INIT Status failed
  4. The temp, pressure, and depth data seem to be ok … I dipped the imu in water the temp went down, the depth increases as i press on the pressure sensor, and so does the pressure value. But roll pitch and yaw are 0.

Im clueless. The LEDs on the starboard side are off so I dont know what to do very confused. Any help would be much appreciated.


Hey Nasir,

In your first post, you say that your IMU stopped working after the first dive. I just want to confirm that that means it was confirmed to be working beforehand. Also, do you have the MPU9150 IMU or the BNO055 IMU (I believe we call the BNO the IMU2 on our store now)? This is most likely a hardware problem, maybe something wrong with the IMU itself. I’ve got something we can test after I know a it more about your setup.

I’ve got no idea what is going on the the LEDs though, off hand. Will take a look at the schematic and see if I can come up with a theory.


Hey Charles thanks for your reply.

  1. We have the BNO 055 imu2. We just got the open Rov 2.8 and our Imu
    arrived a couple or weeks ago. However if I’m not mistaken I only saw
    mpu9150 files in the arduino folder on the open Rov. I have downloaded the
    latest image.

  2. The Imu was working before hand. We didn’t calibrate the Imu or pay much
    attention to the values and just checked whether it was giving any readings
    at all. However after the dive or sometime during it went off. Now it’s
    just level 0’s.

Looking forward to your reply!



That is really odd and really makes me wonder if something is wrong with your hardware. The one test I’d like to try, if you’re up to it, is to disconnect and reconnect the power to the IMU2 after the ROV has already booted up and you’ve received the BNO_INIT_FAILED message. The code for the IMU is designed to try and reinitialize the device every 10 seconds or so, and there have been problems in the past where it could get in a bad state and needed to be entirely power cycled.

Doing this is easy, you just need to clip the positive power wire on the IMU, preferably close to where you made your solder connection so that you can easily repair it afterwards. Once it is clipped, strip a bit of coating off of the ends and then use a breadboard, alligator clips, or whatever to connect them back together again, watching to see what happens in the cockpit message log for the next minute or so. If the IMU doesn’t successfully initialize after doing this, try rebooting the ROV with the IMU completely disconnected at the time of boot and then connect it once you can load the cockpit again, again watching the output window to see if it successfully initializes.

Let me know what you discover!

New IMU not working

Sure Charles. I’ll get to it right away.