This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (www.makecourse.com).

This mechanism was created to move small dolls as though they are running. I've attached the STL files for the figure I use in the video, but the goal was to make it possible to strap in any long legged doll or stuffed animal. Please be forewarned – it has problems, and will be modified to include a 12V motor and smaller input gear in the future.

Step 1: Step 1: Gather the Materials

1 Sheet of .220 in thick acrylic

24 3/8 in nuts

7 3/8 in x 5in bolts

8 3/8 in washers

2 M4 x 20mm screws

4 M4 washers

2 M4 nuts

4 Screws for the black box

2 Screws for the Stepper Motor

1 Phillips Head Screw Driver

1 Roll of Velcro

1 Black box

1 Arduino Uno R3

1 USB Cable

1 Mini Breadboard

1 5V Stepper motor and shield

1 9V Pigtail Connector

1 9V Battery

1 Potentiometer

5 Female to Female cables

10 Male to Male cables

1 Glue gun

1 Stick of Glue (for the glue gun)

1 Toothpick (to spread glue)

1 Roll of wire, to connect the pieces of the figure

1 Ruler

Step 2: Step 2: 3D Print and Laser Cut Files

Here are the 3d Printable STL files for the Figure and the Laser Cut PDF and DXF for the mechanism.

Here is the link to the black box = http://www.polycase.com/dc-47p

The Solidworks files for the box and screws are attached, along with a PDF for where to cut the lid and box to allow for the screws to pass through, and for the stepper motor to attach to the front.

The modifications on the side I did by hand with a glue gun; you will want to cut the box depending on where your arduino is, and where you want the knob of the potentiometer to be.

The figure was made with different scaling factors in the program for MakerBot, so make sure that the scaling goes how you like it, before you print. In Solidworks, the figure was one size in inches, but the MakerBot had it as a different size, and in metric. For instance, the forearms are 6.5 cm on this figure, calves at 11 cm and the head printed at 7 cm.

Assembly of this figure involves running wire through internal passages to connect first the head, pelvis and body, then through - connecting the arms, and then the legs and feet through the pelvis.

Step 3: Step 3: Assembling the Box

Here are the pictures of how to set up and configure the black box, and set up the breadboard.

1. I started by gluing some velcro to the box and to the back of the breadboard and arduino.

2. Then, I wrapped the potentiometer with female cables up in electrical tape, then velcroed to the side.

3. I screwed in the stepper motor to the inside of the lid.

4. I made sure that all the wires would be organized in a way that wouldn't be affected by the screws going through the box.

5. I velcroed the motor shield to the lid, as well.

6. I attached the power and ground of the motor shield (yellow and blue wires) to the breadboard.

7. I attached the 4 digital pins of the arduino to the motor shield: 8 to green, 9 to yellow, 10 to black and 11 to red.

8. I attached the input gear to the stepper motor,trying to make sure it is level and not interacting too much with the screws. (You can see the scratches from previous attempts on the acrylic.)

9. I used the glue gun to attach gear to the stepper motor.

10. I tested it with the external power source, just to make everything is connected properly.

11. I screwed it shut.

Step 4: Step 4: the Arduino Sketch

Here is the simple arduino sketch.

/* "Busy Work" Project Code

Kat McKell

Spring 2015 USF MAKE Course Student


#include <Stepper.h>

const int stepsPerRevolution = 200; // number of steps per revolution

Stepper myStepper(stepsPerRevolution, 8,9,10,11); // initialize the stepper library on pins 8 through 11:

int stepCount = 0; // number of steps the motor has taken

void setup() { // empty inside the setup


void loop() {

int sensorReading = analogRead(A0); // reads the value from the sensor connected

to analog pin 0

int motorSpeed = map(sensorReading, 0, 1023, 0,70); // map the motor's speed (0 to 70 rpm) to the potentiometer's turned position (0 to 1023)

if (motorSpeed > 0) { // set the motor speed:


myStepper.step(stepsPerRevolution/25); // step 1/25 of a revolution:



Step 5: Step 5: Assembling the Assembly

Here are the Step-by-Step pictures of the recommended order of assembly.

1. In preparation, take the hex gears and pressure fit to the 3/8 in bolt. There are 3 of them. These 3 gears need to turn in unison, so they will be fixed to the shaft. That way, when the input gear from the stepper motor moves, it will turn the shaft rather than just one gear.

2. Insert the first bolt through the plate.

3. Add a nut to hold it in place.

4. Glue that nut in place. The metal makes the glue dry just about immediately, so I used a small amount on a toothpick to get it to work. It took several attempts, but mistakes in this is easy to fix; the glue peels right off.

5. Take one of the hex gears and add it next to the nut.

6. This also needs glue, so that it won't spin out of alignment as the bolt turns.

7. Use the black box to determine the spacing for the other two hex gears. They will be side by side, but need to clear the box in the final assembly. I made a green mark on the bolt to tell me where it needs to go.

8. Glue the hex gears in place.

9. Add three spacers to the plate (lined up with the two holes in the bottom), washers (depending on how you need them to line up the gears, which may change depending on how you cut the holes in the box - I used 3) and start 2 bolts through the holes.

10. Place the box on the washers, under the hex gears, and slide the bolt through the box.

11. Add the other 3 spacers, washers (if you need them) and line up the front plate over the the assembly. Add the nuts to hold them in place.

12. Prepare the linkages: take a long link and short link, and use the smaller M4 screws, nuts and washers to connect them together at the center.

13. Prepare two sets.

14. Prepare the two output gears. They need the 3/8 in by 1 in bolts. Each need a nut, washer, the end of the long link and another nut, through the outer 3/8 in hole.

15. Glue the end of the bolt in place with a big dollup of glue. (Easy to put on - yay!) You want the link to slide, but the nut not to fall off.

16. Do this to both sets.

17. Now take the other two 3/8 in by 1 in bolts and put them through the holes above the hex gears.

18. Attach the output gear to the bolt through its center, and add a nut to the end to hold it in place. (I also glued this one. )

19. Do this for both sets, making sure that the gears mesh with the hex gears below them.

20. Prep the Stand: cut velcro to go through the openings. These will be what holds the doll, and since they wrap on themselves, longer is probably better than shorter. =)

21. The next two bolts go in the holes to the left. The bottom hole will only hold the stand, through its bottom hole.

22. The bolt on top is more complex: It needs: a nut, a nut, a washer, the left short link, a washer, the stand's upper hole, a washer, the right short link, a washer, a nut. The first and last nuts act as spacers to help keep it all in plane. Once everything is lined up correctly, glue the nuts outside the short links and the internal washers to the bolt.

23. Use the ruler to check that the bottom has the same width as the top.

24. Add nuts to those two bolts to hold them in place against the front plate.

25. Add the bolts at the top in the two remaining holes. Each bolt will have 2 nuts.

26. Add velcro straps to the upper part of the long links, to hold the feet of your figure.

Thank you so much for reading my first instructable!

This looks cool and complicated. I am impressed with your hard work. Keep it up because it will be awesome.
<p>Thank you so much. =) If I can lighten up the output gears, it should work. Maybe short dowels just for that part? </p>
<p>This is amazing! I love the look of those gears, top notch! Making something that doesn't work as well as you originally thought and hoped is just part of the fun and expierence of making! </p>
Thank you. I have been so sad and frustrated trying to figure out how to fix the system, but reading your encouraging comment honestly made me feel better.

About This Instructable




More by KatMcKell:Busy Work 
Add instructable to: