Alvaro Prieto’s Laser-Shooting Robots

[Alvaro Prieto]’s talk at the Hackaday Supercon began with a slide that asks the rhetorical question “Why Laser-Shooting Robots?” Does a rhetorical question need an answer? [Alvaro] gives one anyway: “Because lasers are awesome.” We concur.

But it doesn’t hurt that DEFCON holds a laser robot contest to give you an excuse, either. You see, [Alvaro]’s laser-wielding robot was the First Place finisher in the 2014 DEFCONBOTS contest, and a much more ambitious design came in third in 2015. His Supercon talk is all about the lessons he’s learned along the way, because that’s really the point of these contests anyway, right?

“I have no idea what I’m doing.”

[Alvaro] started off with a disclaimer, but when [Alvaro] says he doesn’t know what he’s doing, what he means is that he hasn’t received formal training in building laser-wielding, autonomous turret robots. (How did we miss that class in school?)


He’s a true hacker, though; he didn’t know what he was doing when he started out but he started out anyway. [Alvaro]’s takes us from the first prototypes where he used servo motors with inadequate angular resolution mounted to balsa wood frames that he (obviously) cut with a knife by hand, through laser-cut frames with custom gearing and stepper motors, all the way to his DEFCONBOTS 2015 entry, based on OpenBeam aluminum extrusions and using professional laser-show galvos capable of swinging the beam around to thousands of points per second.

Lessons Learned

IMG_2593-110Since [Alvaro] is an electrical engineer who “writes code for a living”, he didn’t focus much on the code side at all. Instead, he shared a lot of what he’s learned through designing and building real, physical robots to target and illuminate moving ping-pong balls, including:

  • Hobby servo motors aren’t terribly accurate
  • Laser cutters make custom gears, but then you have to measure stuff
  • Microsteps don’t always occur
  • When using friction drive, tolerances matter a lot
  • If your robot turns and has wires, it needs limit switches
  • Webcams are wiggly and hard to mount
  • Make everything in twos and bring them all to the competition, because things break
  • Test everything thoroughly beforehand
  • Use a few trimpots in sensitive analog circuits — resistors have tolerances
  • In computer vision code, find the area you’re interested in first and then only analyse that section in detail
  • Lasers that require 3V turn into dark-emitting diodes above 3V

And much more. But don’t take our word for it, watch [Alvaro]’s talk for yourself.

Finally, if you’re interested in computer vision, hobby robotics, or even laser shows, you should really check out [Alvaro]’s personal website and the DEFCONbots 2015 Reference Robot. In both places you’ll find templates, code, and experience about what has and hasn’t worked for people. If you get inspired, maybe you’ll give [Alvaro] a run for his money next summer.

4 thoughts on “Alvaro Prieto’s Laser-Shooting Robots

  1. As a more of a mechanical engineer (CAD/CAM) I knew some of the conclusions while reading that :p
    Friction drives have some uncertainty (the u coeficient itself of friction!) … and you design with a margin of angular contact AND tension. Usually by regulating distance between the two.

    Cause if a friction belt starts slipping … it keeps slipping. You actually need to stop moving (which isn’t something your average PID controller knows), realize both input and output are sync again, then you may move to your destination

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.