While sitting around spinning a button on a string, I realized that this was not the best use of time.  By utilizing the power of the Arduino, along with a servo motor, battery and 3D printer; I was able to take this task--which a small child can do--and automate it.


Step 1:

Take a 20 inch long piece of 1 1/2 inch OD acrylic tubing along with an HS-311 servo motor, Arduino Uno, and 9 volt battery with holder and integrated battery switch.  Add a printed button, string, end pieces and servo motor holder.

Printed parts and design files can be found at:


Step 2:

Insert the end pieces into the tube.

Step 3:

Add the servo motor holder.

Step 4:

Drill out the end of the servo horn so that a piece of string will fit.

Step 5:

Insert the servo motor and servo motor cover.

Step 6:

Run string through the button and both ends.  Cut and tie.

Step 7:

Wire according to the schematic.

Program the Arduino with the following  complex code:

#include <Servo.h>


Servo button;



void setup()






void loop()






Step 8:

Wind the button up and turn on the switch. 

Now, your days of tedious button spinning are over!
I remember many years ago when my dad made me a &quot;buzz saw&quot; as he called it ...you just took it much , much further ! <br>Nice! <br>Build_it_Bob
Thanks for the comment! I'm not sure why this is fascinating to operate, but it is. Of course, the larger the button's diameter, the easier the process is. I just got curious as to whether this could be automated, so I gave it a try. The Arduino code has to be one of the shortest software listings I have ever written that does anything.

About This Instructable




Bio: I am an author and a maker. Current projects include Santa's Shop and Little Friend (ultracapacitor powered robot) on hackaday.io. I'm working ... More »
More by MikeTheMaker:Robot Servo With Idle Horn Servo Bracket Cabinet Light 
Add instructable to: