Noah Header

Noah Baculi

Software Engineer

Random Laser Pointer

Designer and Engineer, 2024

Random Laser Pointer Assembly

My two cats have endless energy and they love chasing laser pointers. But their enthusiasm surpasses my human laser-pointing skills. I built this automated laser pointer station that moves a laser dot randomly across the floor and walls in stimulating and unpredictable patterns that keep my cats entertained.

The device uses an ESP32-C3 microcontroller to drive two SG90 servo motors that pan and tilt a 3.3V laser diode. A toggle switch controls power so I can easily turn it on and off. Two potentiometers let me adjust the X and Y movement range, and a preview button traces the boundary so I can aim the play area precisely.


Random Laser Pointer Internals

The firmware is written in Rust using a no_std environment with the esp-hal crate. The random movement algorithm generates smooth, unpredictable paths that keep my cat engaged. View the source code and wiring details on GitHub!

This project is so simple that all the electronic components are connected with perfboard and DuPont connectors.

I've learned a lot over the last 2 years so I'm looking forward to visiting this project with some new feature ideas later in 2026!


I designed the custom enclosure to house all the electronics compactly - powered with the universal USB-C connector. Explore the CAD model below: