Introduction: Laser Toy Cat Scratching Post

This is a fun scratching post for cats that entertains them while you are out!

The piece consists of a top and base that neatly fit onto a replaceable corrugated cardboard post.

A laser based in the top moves on it's own for a period of time after pressing the button. In this way your cat can play with the laser and you can sit back and relax!


  • 1 12"x20" plank of wood
  • Uno R3 Elgoo Kit
  • White Filament for 3D printer
  • 1 5V 650nm 5mW Red Dot Laser Head
  • Corrugated cardboard for scratching post middle
  • Wire (thick gauge)
  • White Paint
  • Velcro

Step 1: Make the Wooden Base

Use a bandsaw to cut the 12"x20" plank of wood in half longways.

Take one of those halves and trace the size of the corrugated cardboard in the middle.

Now cut out the board into 4 pieces from where you traced.

Drill small holes along the edges for the wire to go through. Make sure the holes match up to the side of the piece of wood you intend to attach it to.

Thread the wire through the holes to connect the four sides together.

Then use the wire to connect the four sides to the base.

Now you may paint it! I used white to match the top. I also made sure to get a lead free, child friendly paint so that it is safe for my cat.

I also added some velcro to the base to keep the corrugated cardboard firmly in place while still allowing it to be removed and replaced.

Step 2: 3D Model and Print the Top

In Tinkercad or Maya model a lid to fit on top of the post and house the laser and motor.

Leave a hole in the middle of the lid for the servo motor to pop out of.

Now create a roof for that hole. This roof will move along with the servo motor, thereby moving the laser.

I printed this model on a MakerBot. It took 14 hours to print and cost roughly $24.

Step 3: Wire It Up!

(Pictured: Elgoo Kit and Lasers used)

For this circuit we will need:

  • 1 laser
  • 1 button
  • 1 Servomotor
  • A mini breadboard
  • Plenty of wires
  • An Elgoo Uno or Arduino microcontroller

Step 4: Write the Code

Here is the code I used:

//This code essentially looks for a button pressed and then turns on the laser and makes the laser/motor move to random degrees for a set amount of times before switching itself off.

int pressed = 0;

Servo servo_2;

int counter;

void setup() {

pinMode(7, INPUT); pinMode(13, OUTPUT); servo_2.attach(2);


void loop() {

if (digitalRead(7) == HIGH) {

digitalWrite(13, HIGH); for (counter = 0; counter < 10; ++counter) { servo_2.write(random(1, 180 + 1));


// Wait for 1000 millisecond(s)

servo_2.write(random(1, 180 + 1));


// Wait for 1000 millisecond(s)


digitalWrite(13, LOW); }


Step 5: Assemble and Play!

Fit the cardboard post into the base and pop the top on.