Randomly Moving Cat Laser

Amelia, on a leash sitting in grass

Fig. 1 - Amelia, the plump cat


A close friend of mine has a cat named Amelia (Fig. 1) that is just as lovely as she is rotund. Around the same time that I first met this stout feline, I saw an interesting project mentioned on the Hack-A-Day blog post pertaining to a robotically controlled laser cat toy. This gave me the idea of constructing a similar device to give Amelia the purr-fect workout. Soon my plans were realized by utilizing a scrapped laser pointer, two cheap servos, and an arduino.

A profile view of the cat toy

Fig. 2 -Side view of toy


The entire laser circuit was first removed from a cheap laser pointer and put in parallel with the two servos. All of this is powered by the 5V pin of the arduino. The servo controlling horizontal movement is controlled through pin 8, while the one controlling vertical movement is controlled through pin 9. The code (included below) that runs the toy simply picks a random movement angle out of a given operational range and advances to the next movement after a random interval period.


During construction, the physical structure of the toy changed quite a bit. Originally, the structures were made out of perfboard that was craftfully cut and hot glued together. Obviously, such a hack job could not be given as a gift! After spending a week trying to design this properly, I stumbled upon ErectorSet-like steel parts near the screws and bolts section of Lowes Hardware. I highly suggest using these for rapid project builds as they're sturdy, inexpensive, and look great! It is important to note that if you're going to place an arduino board on a metal surface, as I've done here, you should place a layer of insulating material between the board and the metal plate. I've had issues with shorting in the past from similar oversights.


Download Code