Our team has never used beam break sensors before and are looking into using them for the 2025 season. What we do have so far is 2 Banner Photoeletric sensors, we just aren’t sure how to wire them to a RoboRio.
Also are there better options then then ones we have? One came from a kit of parts, and the other we bought.
I would recommend searching threads here on chief. There are a number of very inexpensive options. That $80 you spent wasn’t wasted, but it was probably unneccesary. They’ll also explain how to power them (you’ll probably want a regulated source like the vrm) and how to wire them to the analog or DIO depending on their voltage when made and unmade.
Our team has had great success the last couple of seasons using these photoelectric sensors in place of beam breaks. They’re really easy to calibrate and program and do the same job. The big advantage is that you only need the sensor on one side and you don’t have to worry as much about alignment (always a challenge in beam breaks with a big gap between emitter and sensor.)
Edit: I should add that these sensors plug directly into a DIO port on the roboRIO and don’t need separate power connections.
These are what we use Amazon Link, Adafruit Link. Simple integration, each side will have its VDC connection, one of them will provide an additional signal back to the RIO.
Our team has used these Adafruit Beam Break Sensors for the past few years with minimal issues. We just wire them straight into the roborio’s digital input ports.
I’ve been experimenting with the LaserCAN from Grapple/Thrifty and its pretty amazing. Plus, its CAN-enabled, so you don’t have to do anything special with the wiring.
I recommend against the Adafruit sensors – they can get finicky depending on the lighting conditions and you don’t want to have to figure that out when you’re in a new venue. Even enclosing them in a shroud to limit the angle of light that could get into the sensor didn’t help much. We replaced them with these: https://www.amazon.com/gp/product/B07VKR1GBJ
I second (third including @CEF ) these Photoelectric IR Reflection sensors. We used three of them for 3468’s Infinite Recharge bot’s indexer. They worked great and we didn’t have to worry near as much about alignment and cross-talk of our emitters and receivers (we had two relatively close to each other)
I swear by AutomationDirect “Through-beam Pair” sensors. While a little more expensive than other options at around $66, they’re BY FAR the most reliable solution I’ve tried. They’re also compact, lightweight, and easy to mount.
Over the years we’ve tried a number of other photosensors including the HiLetgo 3pcs E18-D80NK and various other photo-reflective sensors and they’ve all, universally, been nothing but problems. The main issues we encounter with other sensors is either problems with sensitivity to ambient light, minimum range (sensor has to be mounted further away from the thing you’re trying to detect than is practical), and material reflectivity (sometimes game pieces come in multiple colors and they reflect differently/inconsistently).
The only real downside to the Automation Direct sensors is you do have to feed them 12v meaning only the “signal” wire goes back to the RIO (it’s relatively simple to separate the wires though). We use the analog ports to connect these (the voltage range doesn’t quite trigger the DIO ports true/false reliably, there’s apparently a way to fix this with a resistor, but the Analog solution is easier for us), and it’s worked great. We had 4 of them running on the robot this year, after replacing some cheaper sensors we had tried early on.
We use DQ12AB6LV, but it is a very similar wiring process since it’s 12V. We wire power and ground to a 12V source on our robot, then signal to the DIO ports on the rio. We use a 20-kilohm resistor as a pull-up resistor. The documentation for the banner sensor has blue as ground, brown as power, and white for signal.
Here’s my document on wiring those photosensors. As long as you stick with NPN sensors you don’t need resistors as you can see they are provided by the roboRIO. The sensors usually require about 12V and will switch the roboRIO digital input 5V/3.3V. The NPN types are sharing the “ground” or 0 V of the circuit which is how a 12V sensor can connect to the 5V roboRIO. You aren’t connecting 12V to 5V but are connecting 0V to 0V.
These are what we used before we switched to the photoelectric sensors I mentioned above. The Adafruit beam breaks do work pretty well, but with those problems I and others have noted that are inherent in beam breaks (alignment, ambient light, etc.) and do require power to them on both sides. It was these very points that had us looking for new sensors and gravitating to the photoelectrics.
These are the exact sensors we used this past season, and they’ve worked great for us. Sensitivity adjustment and mounting are really easy, and the only thing that ever caused us trouble was the IR bouncing off of metal tube and activating the sensor no matter the sensitivity range adjustments we made. Some black electrical tape solved the problem, and there have been no issues since.
We’ve had great success with the Adafruit sensors. We always splice the transmitter and receiver power wires together (red to red, black to black) so that they only take up one slot in the Rio DIO.
I’ll have to check out those amazon photoelectric sensors.
I’ve also had a great experience with the Adafruit beam break sensors.
We just keep stray light in mind when placing the sensors. For example, this past season we placed the light receiving side of the beam break sensors facing downward, eliminating any chance of other light sources triggering the sensor.
And we wired two of them together and attached them to both the forward and reverse limit switch pins on the Spark Max. And we bridged those pins so that if either sensor was tripped it would trigger both the forward and reverse limits. Then, we just selectively enabled or disabled the limit for forward or reverse depending on what the robot is doing. For ground intake, the forward limit was enabled. For source intake, reverse limit was enabled. When intaking was complete, both limits were disabled.
I’ve also had great results with these if you have the space. Since they are reflective, you don’t need to worry about alignment.
My favorite feature is the manual sensitivity adjustment and the “triggered” LED on them - that means you can calibrate the sensor with just power and don’t need any help from the programming team which makes them really easy to use and calibrate during build or to tune later without needing anything extra.
That’s just super helpful for team members since you can easily see what the sensor is, well, sensing right on the sensor itself.