Make: Projects
Spazzi: A Solenoid Powered Dancebot
Build a cute robotic bobble-head that dances to your music, and even makes some of his own.
At BeatBots, we believe that dancing is one of the most worthwhile occupations a robot can have. We like making cute characters move in interesting ways, and as you’ll see, this doesn’t require expensive components or complicated programming. For Spazzi here, we decided to forego the rotational motors (servos and steppers) that many robots use. Instead, we went with solenoids, for movement that is fast, linear, and percussive.
We designed our popular teleoperated robot Keepon for research and the rigors of a child-filled playroom, so he’s made from high-end components and custom-machined metal parts. (A toy version, My Keepon, comes out later this year, and a portion of sales will subsidize the distribution of research robots to autism therapy practitioners.)
We designed Spazzi as a bouncy and easy to build robotic character that achieves the same adorable bounciness as Keepon through a simpler mechanism: solenoids and springs controlled by an Arduino microcontroller connected to a computer.
A solenoid is an electromagnet that pulls a rod (or “plunger”) inside its coil when current is passed through. Spazzi’s physical form is extremely simple; for his lower half, 3 solenoids stand parallel to form a triangle sandwiched between 2 plastic parts — a base and a waist. The plungers run up through the top of the waist and hold up the robot’s plastic head, extended by compression springs.
The 3 plastic body parts are based on the Reuleaux triangle — a shape with various interesting properties and uses (search online for more info). I made these parts on a 3D printer, but you could improvise your own body and head parts from any material, including cardboard. The core of the robot is just its assembly of solenoids and springs.
Solenoids are binary: assuming they can draw sufficient power, they are either fully compressed or fully extended. A transistor connected to a digital pin on the Arduino drives each solenoid by supplying 12V from the power supply when its pin is set HIGH. The front solenoid makes the head nod up and down, and the 2 rear solenoids make it lean back to the left or right.
With its 3 solenoids, Spazzi can move to just 8 different positions. But this limited repertoire produces surprisingly rich and varied movement when the activation and frequency of the solenoids are varied over time. This is performed by Max/MSP or Pure Data (PD) software on a computer, which sends on/off commands to the Arduino over a USB/serial port in response to music or other inputs.
Make Spazzi dance with the parts and code listed here, and then after that, you can choreograph his moves however you want!
See http://makeprojects.com/v/27 for recommended suppliers, prices, and other sourcing information.
Spazzi parts and code files (includes Spazzi.maxpat):
http://cdn.makezine.com/make/27/SpazziPa…
http://cdn.makezine.com/make/27/SpazziSo…
NOTE: To save time and money, pick up the MAKE Spazzi Electronics Bundle (item #MSSPZ from the Maker Shed and Jameco: http://www.makershed.com/spazzi, which includes: Arduino Uno microcontroller, MakerShield, mini breadboard, jumper wires, transistors, resistors, and diodes.
Steps
Step #1:
Next


- Assemble the MakerShield according to the instructions at http://makezine.com/go/makershield. Stick the mini breadboard to the center. Install the MakerShield on the Arduino Uno.
- Insert the 3 transistors into the breadboard in a row, making sure that they don’t touch. Looking at the printed face, the leads from left to right are Base-Collector-Emitter.
- Using jumper wire, connect the 3 emitter leads to Ground on the Arduino/MakerShield. Connect one end of three 1K resistors to pins D5, D6, and D7, and the other ends to the base lead on a transistor.
Conclusion
Spazzi and its appearance are trademarks of BeatBots, but anyone is free to make the robot for personal or nonprofit use.
Dr. Marek Michalowski (http://marek.michalowski.me) is a roboticist living and working in San Francisco. He co-founded BeatBots (http://beatbots.net) with Dr. Hideki Kozima, designer of the robot Keepon. Marek's BeatBots page: http://beatbots.net/project/spazzi
This project first appeared in MAKE Volume 27, page 56.





























Hi M G,
Spazzi uses the Arduino, which originated in Italy. The Italian word “spazzi” is a reference to sweeping, which is suggestive of the arrangement/movement of the antennae/eyebrows atop Spazzi’s head. Hope you enjoy the project!
The Arduino code is at the bottom of the introduction which is a bit hidden. I’ll add it to step 8. Thanks for pointing this out Isaac!
Hi Chris,
Thanks for bringing this to our attention. The project in the print version of MAKE Volume 27 had all the materials list details, but they somehow got dropped when we entered it, so I just added them all back in. Please see the list above for details on the solenoids and an updated parts list. Happy building! We’d love to see your version when you’re done. Cheers!
I found this one on the McMaster website. Looks like it has a different part number for the 12V model: 69905K22 Sealed Linear Solenoid Continuous, Pull, 12 VDC, 3/4″ Stroke, 4 oz Force
// What's Trending
Raspberry Pi Design Contest
Dad Builds Son an Iron Man Arc Reactor
Teardrop Camper Trailer
Seventeen Sneaky Secret Hides
What to do with an 800 Lb Eucalyptus Slab
10 Things to Connect to Your Raspberry Pi
80-Ruxpin Art Installation
3D Printed Kinetic iPhone Cases
// What's Shared
A better way to slice a pumpkin
DIY Nerf Darts
100 Dollar Store Organization Ideas for Craft Rooms and Beyond
In the Maker Shed: Minty Boost USB Charger
Mad’s Mouse House
Lace Princess Crowns
I Have a (Puzzling) Dream
Play the Rings of a Tree Trunk Like a Record
// Most Commented
Plastic Bags into Plastic Blocks: Revisited
10 Hot New Boards to Watch
Why the Maker Movement is Here to Stay
MAKE Asks: Roadside Hacks
Ten Tips for Hand Saws and Blades
DIY Hacks & How To’s: Convert From Battery Power to AC
How To Make Your Own Laundry Detergent
What to do with an 800 Lb Eucalyptus Slab