Googly Eyes Follow You Around The Room

If you’re looking to build the next creepy Halloween decoration or simply thinking about trying out OpenCV for the first time, this next project will have you covered. [Glen] made a pair of giant googly eyes that follow you around the room using some servos and some very powerful software.

The project was documented in three parts. In Part 1, [Glen] models and builds the eyes themselves, including installing the servo motors that will eventually move them around. The second part involves an Arduino and power supply that will control the servos, and the third part goes over using OpenCV to track faces.

This part of the project is arguably the most interesting if you’re new to OpenCV; [Glen] uses this software package to recognize different faces. From there, the computer picks out the most prominent face and sends commands to the Arduino to move the eyes to the appropriate position. The project goes into great detail, from Arduino code to installing Ubuntu to running OpenCV for the first time!

We’ve featured some of [Glen]’s projects before, like his FPGA-driven LED wall, and it’s good to see he’s still making great things!


15 thoughts on “Googly Eyes Follow You Around The Room

  1. I’m sure you realized that they are using steppers and not servos here. I am assuming because servos are loud and expensive for one that would have enough strength to swing a big acrylic disk. I still would have used servos and linked the two eyes together utilizing that mechanical advantage to allow a standard servo.

    The only instance I could see of using separate motors would be if the eyes are looking down one someone and need to come together when the person is directly underneath. Small sacrifice. I haven’t looked at it yet, but I bet the majority of the code is just paralleling the stepper movements anyway.

    1. I could have used servos but I had a bunch of extra stepper motors sitting around the house. The acrylic discs are heavier than I thought they would be. You can get some pretty good off-balance washing machine action going if you rotate the pupils continuously at high enough speeds.

      The motors can be set to individual positions but the Python script sends the same value for both motors to the Arduino. A bit more math in the Python script and they could function more like xeyes.

      1. What was most interesting to me is the mechanism. One of my hobbies is animatronics. I am always looking for new ideas like this. It had never occurred to me to do eye movement like that. Obviously it wouldn’t work for everything but I could see it as being quick and easy in some designs.

    1. Hmm, a tiny ~4″ lead screw / linear actuator on the back of each pupil could solve that. I wonder what the smallest and lightest and thinnest available lead screw is? Probably not cheap though.

  2. Built something similar with a top hat for Halloween a couple years ago. Cut open the top, and glued 2 ping pong balls in the opening. glued disks to straightened paper clips than ran through the balls to a servo linkage. It just ran a servo pattern on an AVR to look left, right, center, jitter. But, the servo was loud. should’ve used a stepper….. No CV though. just a green led for backlighting.

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.