Way to limit current and use xbox joystick controller full range


This weekend I changed the Arduino firmware to use the full 0 to 180 on the joystick but limit the range going to the esc’s (motors). And the code seems to works for me. I quit playing before the system went into reset when testing in my test tank. Attached are some waveforms showing the pulse width from the new code.

Changes on my OpenROV from the original:

Brass props, different battery tube end (o-ring ends), 10 Dewalt batteries from 14.4volt drill, plastic ping ball holders.

1662-TEKESCPULSES.jpg (153 KB) 1663-Motors.cpp (497 Bytes) 1664-OpenROV1.ino (2.6 KB)


Hi John,

this seems to be a similar to the solution we found: http://openrov.com/forum/topics/patch-reverse-working-with-kit-escs?commentId=6365107%3AComment%3A35987

We tweaked /opt/openrov/src/lib/ArduinoPhsics.js instead of the Arduino firmware, which opens the way to change the speed range via the cockpit software at a later point instead of having to update the firmware. What do you think?



Stefan I don't understand how to use this patch? Do you have to rebuild the beaglebone image? I have never done that. Can I just download an image with this built into it?



you can find the 'official' process of updating the software on the beaglebone here.

However, the ArduinoPhysics.js patch is not yet commited to Github. For experimenting with the code you can use WinSCP or something similar to log on to the beaglebone and transfer single files to it directly.



Hi, thanks for the help.

I am stuck again, Using WinSCP and moving the file I get an error that I don't have the rights to delete the old file or copy in the new one. The owner is root not rov. Any ideas?



Hey Stefan I figured this out and am all set to try the OpenRov in the test tank again


Hi John,

I'm curious about your test tank experience. I didn't have the opportunity to test my ROV underwater yet. Which kind of cells do you use? In a first bathtub test I had the problem that the voltage dropped too much to keep the beaglebone running when I started the propellers. But I used very cheap Alkalines. I would like to buy NiMH cells, but I'm not sure if they will provide enough peak current. Btw, Eric posted an excellent wrap-up on this topic here.



I am using 658-HHR300CH 10 10 0 9.580 95.80, MFG Part No:HHR-300CHA03, Panasonic NiMH - Nickel Metal Hydr. I bought 10 from Mouser Elec. cost was $9.58/each US. Recommend by Eric to try.

The test tank is around 4 ft. cubed. The inner tube is needed to keep the ROV neutral. Adding the more batteries increased the weight. I have been able to run the unit in the test tank with the my revised Ardunio code for around 20 mins. with out loosing control or a beaglebone reset. It might go longer but the tank is small and I keep running into the sides. My battery tubes I modeled in Autodesk Inventor and then cut the ends with a laser, this makes it easy to change the number of batteries. Just change the tube length. I added connectors on each tube so I could remove the tubes or charge them. I have tried several different batteries. I have made several videos. Are you on Google+. I have put them on my G drive and can add you so you can see them.


1665-openrovtsttank3.jpg (161 KB) 1666-batterytubeassemblyv21.pdf (170 KB) 1667-batterytube3.jpg (73.3 KB)