Controller Board modification for 2 pairs of light cubes


As many of you already know, OpenROV is going to be heading to Lake Tahoe in early June for an exploration of the wreck of the steamer SS Tahoe, which lies in 120-150m of water:

The principal vehicles we’ll be using for the expedition will be two heavily-modified OpenROV 2.8 units. They’ll be ruggedized to handle depths down to 150m, will have the high-definition 1080p camera from the upcoming Trident, new more-powerful batteries, neutral buoyancy tether, two pairs of external light cubes for illuminating the wreck, and a TriTech MicronNav USBL transponder to allow us to track the exact position of the ROV.

We’ll have further details on the ROVs once we have all the details perfected and ready-to-go, but for now I thought I’d post details of the modifications we had to do to the controller board to support two pairs of external lights and mounting of the USBL transponder.

A stock OpenROV can easily drive a pair of external light cubes, and revision 2.8 is prewired and pre-programmed to do so through the PWM3 channel on the controller board and external wires TP20 and TP21. It is easy to wire up the PWM4 channel to drive another pair of light cubes. But if you do so, and run both sets of light cubes simultaneously, then sense resistor R12 on the controller board ( see sheet 3 of the schematic here) starts to overheat. The current OROV 2.8 design can’t really handle more than about 2A of current being drawn on external loads without something overheating. Given that people are now starting to strap on more and more external loads, we’ll fix this issue in OROV 2.9, but for now you need to modify the controller board a bit to safely do this.

OpenROV 2.8 comes pre-wired to put (+) battery power (through R32 and R73) onto external wire TP20, while connecting wire TP21 to the low-side switch PWM3 (Q6). To attach two pairs of light cubes to the vehicle, we’re going to bypass the existing wiring to TP20, and hook TP20 directly to switched battery power, through a 4 amp polyfuse to provide some protection from external short-circuits. (+) battery power for both sets of light cubes will come from the TP20 wire. One pair of light cubes will use the existing wiring on TP21 to attach the (-) lead, and the second pair will have its (-) lead connected to the TP22 wire.

The first step to the mod is to desolder R73, which would be the normal way that battery power would get fed to TP20. We’re going to replace that with a higher-current wire.

We pick up battery power for the light cubes at the drain of MOSFET Q1, the main power switch. Here’s the polyfuse attached to Q1:

The red wire from the polyfuse goes down through one of the holes for the ESC2 leads, down to the bottom of the board:

On the bottom it connects to the pin of the DB-25 connector used for TP20:

For the (-) leads, the 2.8 controller board already has an attachment between TP21. We need to add another wire between TP22 and PWM4- to control the second pair of light cubes. Here’s the connection at PWM4-:

And here’s the other side of that wire at TP22:

The transponder for the TriTech MicronNav USBL system requires 12V power. We could attempt to run it off of battery voltage, but the battery bus voltage isn’t quite 12V, and dips even lower when the motors are running. A safer bet is to generate a clean 12V power supply from the 5V supply that is already available on the controller board. To get power to the transponder, we will use the power and ground connections that are pre-wired into OROV 2.8 for an external servo (TP24 and TP25).

External wire TP24 normally feeds +5V to an external servo, so we need to change this to +12V. So first we need to cut off the 5V connection by removing R71:

We’ll generate 12V power from the 5V bus by using a Pololu boost regulator board. The input and ground pins of this board will connect easily to the prototyping header pads on the controller board:

The output of the boost converter is wired to TP24. Here’s a shot of the completed wiring:

We’ll have more details on the other ROV modifications once we’re done with testing them.


How to utilise pwm4 for extra external lights
New Release Candidate Image ready with 31.0.0 RC
Using Auxiliary Wires

I am repeatedly impressed with the expertise demonstrated on the forum and equally encouraged by the freely dispensed time, understanding and solutions made available across the wide range of topics. I have a 2.8 (3209 “EyeSea”) to which I have added external lights.

I have converted the controller board following the procedure as described by @Walt_Holm above. I have populated my array with a combination of green (for better penetration) and high power white leds. I’d like to be able to switch the green and white banks independently and have provisioned to do so via the pwm3 and pwm4 channels. The problem I have is that, while technically proficient enough to modify the electronics, I don’t have sufficient knowledge to activate the pwm4 in software. I’d like to map the pwm4 channel to the keyboard and add an extra indicator bar to the cockpit. I’ve read in several posts that this should be easy to do, so can someone point me in the right direction?


Hi @cmcp,

We’ve been reworking quite a lot of the underlying firmware and software systems to more generically and dynamically support devices from a “module”/“plugin” approach, and have made a lot of progress in making what devices and sensors we currently support much more reliable and performant. One area of work that is still underway is supporting more dynamic and flexible enumeration and discovery of devices, such that you can have multiple motors, external lights, sensors, etc with unique identifiers that can be automatically detected and controlled from cockpit without a lot of hassle.

For our imminent new release, the firmware already supports adding multiple external lights, but that dynamic discovery system in cockpit will not be in place. It is very easy for me to put a simple workaround and support a second set of external lights, and I have gotten requests for that from a number of people now, so I will try to make sure that makes it in.


Many Thanks for that swift reply, I can live with a workaround utilising the existing PWM1/PWM3 combination in the meantime.


Hi! Looking forward to do the modification to setup 2 pairs of external lights on my rov!

After getting rid of R73 at first step I need to make contact between the 2 R73 pins with high current wire. Is high current wire just a thicker than usual wire? Is it fine if I use a piece of the wire that comes with the external lights?

Also, is it possible to get a link to buy the 4 amp polyfuse needed?



I used some of the off-cut from the DB25 connector (AWG20). I don’t have the light cubes - I built my own as it was uneconomic to ship to the UK but I guess you can compare the lead with the purple/red supply wire on the ROV and I’d expect it to be similar and therefore suitable; I found the polyfuse readily available on eBay. Good luck with the project.


Thanks for the info!

Is the 4 amp the holding current or tripping current when looking at a polyfuse specs?


Hi @guillaume.ethier
The polyfuse is described by @Walt_Holm as a rudimentary short circuit protection so I’d imagine it will act as a tripping fuse and may take some time to reset if triggered.

You don’t say how you’re intending to manage your two sets of cube lights but you can use pwm3 and pwm4 in tandem to spread the current load if you’re happy to switch both sets on/off/dim at once. You can achieve this via a diode connection as described here

I loved your 3d printed housings - nice job!


Hi @guillaume.ethier:

Here’s a link to the polyfuse that I used:

This has a hold current of 5 Amps. I initially started with a 4 Amp polyfuse (as detailed above), but after some testing I decided to bump this up to 5 Amps, as under some circumstances the polyfuse was tripping. The rating of a polyfuse changes with ambient temperature, and the mounting location shown in my original instructions is in a relatively hot section of the electronics.

Also, note that the wire you add does not run between the two pins of R73- it runs from one end of the polyfuse to pin TP20 on the DB-25 connector. The pictures at the start of the thread should show how to do this.

The wire that I used for the modifications was 22 AWG. I think the light cube wire is similar but I’m not sure.

Hope this helps.



Many thanks it helps a lot!

I did replace R73 with a small piece of wire to keep the connection between the two pins of R73 going AND add the polyfuse and wire between Q1 and TP20… I understand there is no need for the wire between the two pins of R73 to do this as the battery current now goes through TP20 and the polyfuse straight into Q1?
All I have to do is get rid of R73 and leave it empty…?

Sorry for my horrible electronics skills!!!



I don’t mind controlling all the lights at once.

Just to make sure I understand correctly, with Walt Holm’ modification, I should not have to worry about the 2 amp restriction anymore if I use 4 open rov external lights? The reason why you did your modification additionally is because you use lights that draw more current than open rovs ones?

Cheers for the housings! I’m working on additional ones for the new lights. Havn’t figured out where I’ll put them yet…!


Re the 2A restriction, each pwm channel is rated at 2A so although the @Walt_Holm modification allows a greater overall load you should still respect the individual pwm limit. My lights draw approx 1.5A per lamp which is why I’ve utilised pwm3 and pwm4. I used the same cree XHP50 LED as the cube lights but with a different driver.

In your case you can use the same positive feed wire for both sets of lights and use the spare (white) wire from the DB25 connector at TP22 on the return side of your second set; you should connect TP22 to P4- as described in Walt’s mod. You are correct in assuming that you should leave R73 pins empty.

If you prefer to switch your 2nd set of external lights separately you could route the TP22 return wire to P1- and use with or in place of the internal lights.

Which ever you choose, enjoy!



Works perfectly! I did use P1- to controle both sets of lights seperatly as you mentionned! I rather do that and forget about internal lights, thanks for the cues!


You’re welcome - look forward to viewing your results.

  • Colin


Mod works great, thanks for the help @cmcp and @Walt_Holm !

Here’s the result!


Hi…i am a new user here. In my case I don’t have the light cubes.I built my own as it was uneconomic to ship to the UK but I guess you can compare the lead with the purple/red supply wire on the ROV and I’d expect it to be similar and therefore suitable.

circuit assembly