Loss of motor control and cockpit resets


I am having an issue that resembles this issue : http://openrov.com/xn/detail/6365107:Comment:93601

My controls lock up, and the motors keep running until the cockpit resets after a few seconds.

Where my situation differs, is that I am using the new batteries. So I don't have a circuit to trip.

I would like to try the fix any way, but my dashboard is not working properly. It says that the cockpit is stopped but it is running. Pressing start has no effect. It also says that cloud9 is stopped. Pressing start has no effect either.

I have the image installed on an SD card. Previously, I had it on board. I assume it is still there, but just over ridden by the SD card.

I had this issue before installing the new image (as of a few days ago) with one change, with the previous version, the video would freeze and not come back unless I stopped and started the cockpit with the dashboard or restarted. Now the video comes back when the cockpit resets. (hooray!)

Another issue I have is that the motors often have trouble starting up. Especially the vertical motor. Interestingly, immediately after booting up the vehicle, the vertical motor worked perfectly with the on screen controls. The keyboard controls were, as usual, problematic. After using the diagnostic tools to run each motor at 1 then 0 then -1, to get the controls to work better, the on screen controls worked as badly as the keyboard.

I do have an IMU depth sensor. And Lasers! Pew Pew!

Not sure if that matters.

The video shows what I am talking about. There is not much to watch after the first 1:30 sec. It is not terribly interesting before that either. :)

Any Ideas?


I tried to edit the file with nano

sudo nano src/plugins/rovpilot/public/js/rovpilot.js

But that opens a blank (new I assume) file.

Is there a way to edit this without the cockpit?


Interesting. We have a similar issue with one of our units that we believe is tied to use of the IMU. I recommend editing the AConfig.h file and disableing the IMU (by setting the MPU9150 from 1 to 0). As for your question on how to edit:

from ssh:

sudo pico /opt/openrov/arduino/OpenROV/AConfig.h

Great video by the way. Really shows off use of the touch screen!

Let me know if that does not work. The dashboard not reporting correct status is known and something I am working on in the master branch that we are doing development.


Thanks for the reply!

I think changed the file and restarted the rov (a few times). It is still behaving in the same manner as the video. The IMU still seems to be working though. It still gives a depth and compass readings.

#define HAS_MPU9150 (0)
#define MPU9150_EEPROM_START 2

I changed the first line as above, but did not change the second line. Is that correct?

The Cockpit looks better and better by the way. I really like the laser indicator/button. :D

Oh, I also noticed why the vertical motor seemed to be 'working better' with the touch screen buttons. When I press the laser button, the lights come on too. I think that is what was happening. The rov is happy to go up, but does not like to go down. and the screen buttons were both making it spin to go up.

I'm pretty sure the buttons were working for me on the iPad with the previous SD image. Perhaps it is to do with the surface 2 pro? There seems to be better reaction time now though. :)


Ah. Please upload the firmware again after making the change to the AConfig.h file!




Sorry I forgot that part.

Success! I no longer have freeze ups from running the motor. :D

You are a god.

Thank you!

As you noted elsewhere, the xbox controller isn't working great. My PS3 controller works nicely, though it has to be plugged in to work as it doesn't pair with windows in bluetooth.


I am having the same exact issues with ROV 1271. We were prompted to program the controller board and upload the firmware from the SD card. After restarting, the motors would turn on with the key pad buttons, but then would stay on, until we went to diagnostics and moved the motor slider under manually test motors, or pressed the zero.

Periodically during this it would lose connectivity, the connectivity light would go from green to red, then back.

Then we would get push button control again for a while.


Do you have an IMU?

I have been having issues with my ROV in connection with the Turnigy ESCs.
Due to stutter starts of the motors, or in case of the vertical motor, stutter failed starts, I pilfered the ESCs from my 2.4 OROV and stuck them in 2.5/2.6. The motors worked the way they usually work on OpenROVs, perfectly. I re-enabled the IMU and everything is working fine now.
I suspect that the issue with the stutter starts can be sorted out in settings/software, since no one could use them they way they are. Due to my own ignorance, I will leave that to others.




Yes. And another interesting thing is that we could stop the motors by going to the diagnostics page and controlling the motor with the slider. But as soon as we pressed a key, it would lock itself on again.


Have you tried turning the IMU off like Brian suggested above? And what ESCs are you using? the standard EZRUN ones that OpenROV uses normally?


I am a novice at this. I purchased the ROV fully assembled. It has the "factory" firmware and standard ESC's. I can see I need to get smarter on this.



Turning the IMU off is not as hard as it sounds.

Download ---> putty.exe from this site : http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

it is the first one in the list

Run the program

type in the ip address (same as you use to connect to your rov in a browser)

it will warn you that it hasn't connected to this computer before, click yes, you do want to connect

login name is: rov

password is: OpenROV (case sensitive)

type (or cut and paste with a right click) :

sudo pico /opt/openrov/arduino/OpenROV/AConfig.h

you will have to type in the password again

it will open a file editor.

You need to move the cursor with the keyboard, the mouse will only highlight things

so using the down arrow, move the cursor to near the bottom of the file. look for this line:

#define HAS_MPU9150 (1)

again, using the arrow keys, change the number in brackets from 1 to zero like so:

#define HAS_MPU9150 (0)

press ctrl and x

press y to save the file and then enter to keep the same file name.

then you need to upload the firmware to the arduino. You do that from the cockpit in the browser. restart the rov first. Not sure that is needed but I think it is safer.

To upload the firmware: open the cockpit in the browser -> click on settings -> click on the one that says firmware -> a popup will open. Click on the (blue?) button that says up load firmware. Then wait. it will take a few min.

When that is done, restart the rov again and test the motors to see if they are working better.

If you want to change it back, just do the same thing again, but change the number back to 1. :D

Hope that helps!