Machines Gone Wild! Physical Programming with Cam-Driven Mechanisms


by Susan Klimczak -

Here at Learn 2 Teach, Teach 2 Learn, we have been developing a new physical programming activity called "Machines Gone Wild!" that helps our youth learn about mechanical engineering with mechanisms and physical programming with Arduinos. So many of our youth "think with their hands" while building and last year we found that none of them had ever studied automata or mechanisms in their schools.  The youth teachers also told us they wanted an activity that programs geared motors because in the past, we have only used servo motors. 







Developing great activities often starts with inspiration we get from some of the great examples found on the internet.  We took our inspiration for the Cam Mechanisms from the great San Francisco Exploratorium project:

At Learn 2 Teach, Teach 2 Learn we repeat each activity four times because our 34 youth teachers are divided into small learning groups of 8-9.  This works wonderfully for piloting and developing activities.  Each week we get feedback from youth teachers about what would make the activity better for them and then improve our activity design for the next week.  The first week, we had youth teachers cut and build the cam boxes themselves, but they suggested that we fabricate the cam boxes so that they could spend most of their time experimenting with the automata cam mechanisms, rather than cutting cardboard.

So, our wonderful community industrial designer Brad Presler collaborated with mechanical engineer Robert Crowder and I to design a wonderful Cam Mechanism Box, as well as the cams and levers, that we fabricated on our lasercutters with recycled cardboard boxes.

We cut down small dowels from our local hardware store for the axels. Straws and skewers came from the grocery store.  Glue guns helped a lot!

For the physical programming part of the activity, we used Arduinos with Modkit MotoProto Board Shields that have headphone jack plug-ins for inputs and outputs.  A small connector that pressfit our geared motor ( attached to the dowel to make the axel move.  We also created LED lights, buttons and potentiometers that could be plugged into the MotoProto Board to add programming options for the automata mechanism.

Arduino Modkit was used as the software.  It allows drag and drop graphical programming, but also has a code view that shows the Arduino code equivalent to the block view to scaffold programming learning.  

Here are a few of the projects from our pilot session!

 You can see the sun and moon cam in action connected to the geared motor here on youtube:

Here's a little video that shows some examples made by our youth teacher and shows the cam mechanism connected to LEDs, geared motor and touch sensor, programmed using Modkit Micro:

Credit:  We were able to take the time to develop this activity in such a way that we can take it to 600 elementary and middle school youth this summer through a generous grant from the Making the Future Foundation at Cognizant.


Sylvia Martinez's picture


This is a cool project! Is there anything special about the MotoProto board sheild that made it really good for this? Or was it just something you had on hand?

By the way, the second and third photos are broken links for me.


Susan Klimczak's picture

The Modkit MotoProto Board was especially good for this as an introduction to physical programming because 

1) We could introduce the Arduino to our youth who had never seen one in a non intimidating way!  

2) We could connect LEDs, Buttons, Potentiometers and Geared motors fast easily using just headphone jacks and wire connectors.  This allowed the youth could quickly do some impressive and creative things and have early success. We find that inspiring youth who otherwise might not have been interested in technology and engineering with creative projects that allow early success is very important.  It creates a sense of self-efficacy, a belief that "I can do that!" and "I can learn that!"  This is especially important with our youth of color who often have complicated relationships to failure.

3) The Modkit Micro software orients youth to the hardware by having them drag components onto the screen and assign them to the right pins in the Hardware View.  The Blocks view allows them to quickly have success in programming through the graphical interface.  Then, after programming in Blocks View, they can look at the Code View to see the text version of the code they just created in Blocks View.