Setting up two limelights

Our team wants to set up two limelights on the bot, one LL2 and one LL3, and I am wondering whether anybody else has done it and has tips for wiring those, programming, and even general issues that commonly occur with having two. Any advice and links are appreciated! Thank you in advance!

As far as wiring goes, there have been several threads about about using multiple Limelights this year. Here are 2 posts with my recommendation on how to do it:

Essentially just follow the diagram from here but add the POE injector between the switch and Limelights:

What network switch were you planning on using? The Brainboxes switches bought this year seem to have low voltage drop-out issues so if one is used it should probably at least be powered from a VRM.

1 Like

Are they low-voltage drop-out issues or static issues? I’d heard that grounding the brainbox to the frame helped a lot.

Hmm that could be it. I was trying to figure out why they went from a rock solid option last year to such a problem this year and figured something must have changed with the newer devices.

But given the static charge issues present with so many robots this year due to the combination of intake design, game piece material, new carpet, and TPU wheels, I could believe that being the actual source of issues.

I have also heard a theory of it being high frequency interference from krakens/vortexes that can be isolated by using a VRM.

Thank you for the links! We have a netgear ethernet hub, but its pretty old, so we are hoping to change it to something newer and better.

If it is already wired up on the robot and working reliably then I probably wouldn’t replace it just because it is old.

We haven’t tried it yet, but that’s what we have, so I don’t know how well it will perform on the bot.

We have 3 Limelights all in the PDH / Mini Power Module and havent had any issues (1 x LL3 and 2 x LL3G)

We have 4 LL on our robot. 1 on each side, the front and back are LL3’s and the two sides are LL2’s (which we currently do not use and are considering removing).

I guess the main question now is how do we program the LL’s to have different network tables?

If you give them each a different name such as limelight-front and limelight-back, they will show up in network tables with those names. Then if you use the limelight helpers class, you can refer to them by name.

   var lastResult = LimelightHelpers.getLatestResults("limelight-blue").targetingResults;

Don’t you touch my LL’s! Those Build Guys are always trying to do weight reduction by removing computing devices!

We see a lot noise, likely ambiguity flipping, as noted in many CD threads. Everyone tries to filter out the most obviously bad poses.

It would be nice to be able to combine all the possible pose solutions from all the cameras to get a better solution. Functions like OpenCV: Camera Calibration and 3D Reconstruction return multiple poses but LL does not so there is no opportunity to otherwise determine the best guess from multiple possibilities.

1 Like

What are the resolutions on your 4 LL’s?

Since we have been progressing in making both LL’s to work, we have encountered an issue with the streams of the two cameras updating only every 5 or so seconds, and not doing it at the same time. Has anyone else had the same issue and what could be a solution?

Make sure you have different DNS names, URLs, static IP addresses - everything you use to identify them - for each of your LLs.

We fixed it by changing one of the LL’s gateway IP to match the LL IP. It seems to work for now, but is it possible that this will cause issues later on? It did seem like a weird fix….

I hate to ever argue with success but this doesn’t sound right. The LL documentation has a good description of setting up one LL. You should have followed that for your first one.

Then with access to that first LL change that first LL by replacing the .11 URL to address to .12 and the hostname to , say, B. And then reboot it and make sure all is okay.

Then setup the second LL in the usual way as documented with the standard hostname and the standard URL .11.

The above assumed static IP (the …11). If using dynamic then you don’t enter the static IP address. The hostname needs to be unique, though.

Also, there is the assumption of the LL as a part of the robot network with the radio on the robot network.

Thank you for the tips. At the end, we think it was actually the ethernet hub that was causing the issues and that was strangely working with the weird solution. We got an new ethernet switch and it started working properly with the right setting for the IP addresses and the gateways. I don’t know whether it matters that we were using a hub, instead of a switch at first, but my guess is that LL’s work best with ethernet switches, instead of hubs. I am not an expert at this though.

I saw the word hub and knew that probably is the problem then saw you had a switch which is the correct device to use for a simple network. I missed that “hub” on your earlier post.

I’m no network expert, either. The key to the LL working or not may be the hub is only half-duplex and the switch is full-duplex.

1 Like