Introduction: Spooky Teddy - Arduino Powered Self-rocking Chair & Rotating Head

Spooky teddy is a 2-part Halloween decor. The first part is the teddy bear that has a 3d printed mechanism that can rotate with an Arduino UNO and a solenoid. The second part is a self-rocking chair powered by an Arduino nano and a solenoid attached to the bottom of the chair. The two parts can be used independently from each other. The whole setup is controlled by a remote. But it can also be used with a motion sensor


In the first and second step I will explain the idea behind this project, later I will give you the list of all the things you may need to build this project on your own. Then I will give some insight on how I designed the 3d parts. After giving you a step by step assembly guide, I will end the instructable with a troubleshooting guide. So you can fix any problems you encounter.

I strongly encourage you to share your build when it's done!

The purpose of this instructable is not just to give you a cookbook. I'll show you the way I built this project and provide you with open-ended questions, so you can add your own ideas, and take this project even further.

Let's get started.


I have a twitter account where I share the progress of my projects before I publish them. You can follow me and give feedback on my projects. I think this will eliminate many problems of the project before it's published.

Step 1: Inspiration

While watching the movie Anabelle, I was mostly spooked by the rocking chair scene. And I thought to my self that this would be a great halloween decor for the front porch. Even though I did not know how this scene was shot. I had a feeling that magnets were used somehow.

Step 2: The Idea

The first thing I wanted to do with this project was the rocking-chair mechanism. After experimenting with a few electromagnets, I found out that magnets are a no-go. The electromagnets were not powerful enough to rock the chair from a close distance. And increasing the size of the electromagnet was not a solution since it had to be hidden. So I started experimenting with solenoids. Even though they were a bit noisy the noise could be lowered by attaching rubber bands to the ends of it.

After I was done designing the chair mechanism, I was trying to find an Annabelle doll to put it on the chair. while browsing I had an idea. instead of a stationary Annabelle doll, I could use a teddy bear and replace the stuffing inside with a rotating mechanism to move the head of the bear. This is where the second part comes in. I started designing a rotating system that could fit inside an enclosure attached to the bear. I wanted the mechanism to be quiet. So servo/dc-motor/stepper was out of the equation. After experimenting with a few solenoids I found out that it was the best choice for this project. Again I attached rubber bands to both ends of the solenoid to dampen the noise.

Step 3: Tools & Parts

I collected all necessary code and 3D parts into one file called You can find the file attached to this step.

3d printer (not necessary, you can easily do it with cardboard etc.)

1 x Arduino Uno

1 x Arduino nano

1 x 36v solenoid

1 x 5v solenoid

1 x 315Mhz Key Wireless Remote & receiver

1 x Rocking chair (look at your local furniture store)

1 x Teddy bear (if it has a zip behind that's a bonus)

4 x (5mm diameter 200mm length steel rod) - I had these lying around the house.

1 x (F6-14M 6mm x 14mm x 5mm) Thrust Bearing

1 x (8xAA battery holder)

1 x DC power source (7-12V)

4 x (6mm m3 bolt&nut)

Step 4: Design Process & Printing

In this step, I will show you how I designed the parts in Fusion 360 in detail. If you just want to print the parts, you can skip this step.

I suggest you read this step in detail before you print anything. I designed the parts according to my dimensions of the teddy bear, solenoid etc. So it is best if you design the structure according to your dimensions/parts.

If you are new to the Fusion 360 environment I suggest you take a look at a few tutorials first.
You can enroll in this class:

also, this youtube series gives a good beginner tutorial:


I used PLA to print the parts, my settings are:

  • 0.4 nozzle
  • 50% infill
  • temp. 195C

Step 5: Assembly Part 1 - Base & Electronics

For this step you need the 3d printed base files, a lot of jumper cables and a bit of patience. It is tricky to make it work on the first try. Don't give up!

I didn't explain the arduino setup in detail. If you did not use an Arduino board before you can check this tutorial first:


I've attached notes to the pictures explaining how the assembly is done. If you have any questions please don't hesitate to ask me!

Step 6: Seembly Part 2 - Teddy

Step 7: First Test

In the first test, you have to make sure that the head is rotating without any interruptions.

Here are the steps:

  1. Connect the solenoid directly to a power source
  2. Make sure that the head is rotating 90 degrees
  3. connect the solenoid back to the setup
  4. now test the setup once again this time activating it with the remote

Things to look for:

  • Is the head rotating 90 degrees?
  • what is the noise level?

If you have a problem regarding these questions, you can check the troubleshooting guide for solutions!

If the setup is working flawlessly you can start building the chair!

Step 8: Assembly Part 3 - Chair

There is only one 3d printed part assembled to the chair, called solenoidHolderChair.stl

I've explained how I attached it to the chair in the pictures.

Step 9: Final Test

You are done with the build now! It's time to test the chair with the bear and try setting up the mechanism so it works perfectly, and ready for display.

After connecting the battery and attach the rotating head mechanism inside the bear, check the power source for the chair and make sure the remote is working as intended. Now you should be able to rock the chair by pressing the B button on the remote continuously. When you press the A button the head of the teddy should rotate 90 degrees to face you.

Things to look for:

  • Is the chair rocking with the right interval?
  • Are there any interruptions with the remote?

Again, if you have any problems check the troubleshooting step.

Step 10: Troubleshooting

- The head is not rotating 90 degrees

The mechanism part can get stuck due to friction. You can use oil to reduce the friction and try again. Or you can use a different material for the mechanism part. Like wood etc.

-The chair is not moving

Your chair could be heavy, you can use a more powerful solenoid for the chair mechanism.

-The setup is working but there is a lot of noise because of the relays.

Well, this is a stupid mistake I made. You can use a Mosfet circuit to control the solenoids. They are quiet. I did not have one in hand so I had to use relays that were laying around.

-I want to use this on my front porch to scare some kids.

You can attach a motion sensor instead of a remote. There are a lot of tutorials showing how to set up a motion sensor with an Arduino. Or you can wait for next Halloween for version 2.0.

Step 11: What's Next

Spooky Teddy is not a finished project, it's more like a prototype. There are a lot of things open for improvement. While I was building this project. I had many ideas that I wanted to implement. But my resources were not enough and I simply did not have much time to work on it.

This is where you come in. In this step, I will list some things I had in my mind. Feel free to add more Ideas or ways to improve this project in the comments.

Here are a few,

  • Replace the Relays with solid state relays or a simple MOSFET circuit to reduce the noise & make it more spooky
  • attaching a motion sensor to the eye of the Teddy. This will make the project fully automatic.
  • Design and print a creepy doll instead of a Teddy to make it definitely scarier.
  • Add a mp3/music module to the arduino and add some speakers to play spooky music when activated.

I hope you enjoyed this project,

If you have any questions ask away! & tell me about your build!


Halloween Contest 2018

First Prize in the
Halloween Contest 2018