Instructables

Groovin' Grover: A Microcontroller-based Marionette

FeaturedContest WinnerContest Winner
Picture of Groovin' Grover: A Microcontroller-based Marionette
0 - 2 - Groovin Grover.JPG
Groovin' Grover is a marionette manipulated by four hobby servos and a Pololu Maestro microcontroller-based servo controller. You can control each of Grover's limbs independently and make him walk, wave, and most entertaining - make him dance. Groovin' Grover is easy to assemble and wire up. The Maestro Servo microcontroller is easy to program using free software from Pololu.

With a simple program I was able to make Groovin' Grover dance to a popular dance tune from the 1980's and one from 2005. As you can see in the videos below, Grover has been programmed to dance to the music and at times his moves seem uncanny.

The first video shows a close-up of Groovin' Grover dancing to "Safety Dance" by Men Without Hats. The second video shows Groovin' Grover, his stage, and the servos that control his movements. He's dancing to "Feels Good Inc." by Gorillaz. If you listen carefully, you can hear the servos and if look carefully, you can see the transparent nylon threads that connect the servos to his limbs.




 
This instructable has been entered in the 18+ category for the Robots contest.

Step 1: Parts List

1 - 8 - Platforms.JPG
1 - 9 - Platform Hardware.JPG
1 - 10 - White Cloth.JPG
1 - 11 - Clear Nylon Thread and Needle.JPG
1 - 12 - Additional Parts.JPG
You will need the following parts to assemble Groovin' Grover and his stage.

Grover's Brawns and Brains:
  • Four small inexpensive hobby servos like the TS-53 from Tower Hobbies.
  • One Pololu Micro Maestro 6-Channel USB Servo Controller available from Sparkfun and other internet sites.
  • One 6" Futaba J Plug or equivalent available from Tower Hobbies.
  • One 5 Volt Wall Wart (AC adapter). I had an extra one but you can find used ones at Thrift stores or new ones at electronics stores.
  • One 3 to 6 foot USB cable with a male USB mini-B connector and a male type A connector.
  • Two 1" pieces of Heat Shrink Tubing (alternatively, you can use electrical tape).
Grover Himself:
  • One 5 - 6" Grover finger puppet.
  • Four 1/4"-20 hex nuts (these will be used to add weight to Grover)
  • One small (1") safety pin (this will be use to help hold the weights inside Grover.)
Grover's Stage:
  • Two 8" x 12" x 1/4" pieces of plastic, wood, Masonite, or other firm non-conducting material. I used yellow plastic I had purchased for another project I never got around to build.
  • Four 12" 1/4"-20 threaded rods.
  • Sixteen 1/4"-20 hex nuts.
  • Four self adhesive rubber feet (medium size 1/4 to 1/2" in diameter, 1/2" tall).
  • Two and a half feet of self adhesive Velcro strips.
  • One 11 3/4" x 18 3/4" white cloth for the backdrop on the stage. I cut an old pillow case to make mine.
  • Two small plastic wire clamps (see photo below).
  • Two small machine screws and nuts for the wire clamps (see photo below).
Materials for Hanging Grover:
  • Clear Nylon Thread
  • Sewing Needle
  • Washer (1" outer diameter)
  • Blue Painter's Tape.
  • Four small paper clips.
Software and Documentation (not pictured):
  • Pololu Maestro Servo Controller User's Guide: HTML version or PDF.version.
  • Maestro software and drivers are available at File Downloads section of the Micro Maestro Resources web page.
Tools (not pictured):
  • Soldering iron and solder
  • Wire cutters / Wire Strippers
  • Scissors
  • Small wrench for use with the 1/4"-20 hex nuts
  • Electric drill and 1/4" drill bit and drill bit to match machine screws for the wire clips
  • Heat Gun for the heat shrink tubing
  • Voltmeter
  • Ruler
  • PC for developing and downloading programs to the microcontroller. The Pololu software currently only supports Windows and Linux.

 
Remove these adsRemove these ads by Signing Up
Why did this article pop up? I was searching "stripper dances"?!?
vjindal3 years ago
Pretty cool! You have my vote!
Very cool! You have my vote!!
esrun3 years ago
I really like this! I have some elmo toys just like this one. Although I don't think I'd go the servo route (due to lack of materials), I could imagine myself making a manual version of this.

Good job :)
Hat's off to you sir, this is absolutely BRILLIANT!

Might I add a suggestion though? Perhaps an additional wire to anchor him may make him swing less and accentuate his arm/leg movements.
talk2bruce (author)  Instructable_James3 years ago
It's a good suggestion. I'm going to try that out and I'll post the results as a comment so you know how it turned out.
Can this work with those ostrich marionettes that can be bought at zoos?
whj38573 years ago
Thanks. This is great. I wish I had known about this for my last project. I needed something like this and I couldn't find a cheap solution. This is affordable.
Very interesting. I wonder if one could record the performance of a puppeteer and then play it back using your system.
talk2bruce (author)  digitalmorphine3 years ago
What a cool idea! I think the challenge would be to find a way to instrument the puppeteer's puppet to capture the movements and then write a program to translate that data into the Maestro scripting language. This certainly would be possible.
Thanks.
The only problem (which is not actually a problem, more like a limitation) would be that the puppet could only move his hands and feet, maybe in a straight line, but not turning around or moving in the Z axis. But you could play a bit with it, yes... I think so.
I'm not sure if one could develop a system to make a puppet move in "3D"... but maybe that's stretching a bit.

By the way, have you seen this?
bells.tellart.com

Just adding to the pool of ideas. :)
Parasoar3 years ago
Awesome, this is a really cool project. Grover wiggles a lot though, maybe adding a line from his butt via a spring or rubber band to the ground would help with stabilizing his rocking motion (no pun intended)?
talk2bruce (author)  Parasoar3 years ago
This is a really good idea and solution to him wiggling so much. Thanks! I'm going to try this out and post the results here.
Nice, I wonder if you can program the servo controller itself, instead of relying on a computer all the time.
talk2bruce (author)  frank260801153 years ago
You need a computer to compile and download the program into the servo controller but once the code is saved to the microcontroller you don't need to stay connected to the computer. You will need to find a way to power the microcontroller: you can use a USB cable connected to a USB wall wart or use one of the ways described in the User's Guide.
Ah I get it, it stores a script, but you don't really program the PIC itself

The product page mentions "upgradeable firmware" though, so there is a way to mess with the internal workings
talk2bruce (author)  frank260801153 years ago
Just to clarify, the Maestro Control Center software on the PC compiles the script into compiled code and down loads it into the microcontroller. The microcontroller interprets that compiled code and in turn executes those instructions to control the servos. The Maestro’s internal script memory allows the script to be automatically played back without any computer or external microcontroller connected. You are correct that you don't actually write code to the "bare metal" of the microcontroller.
so it's more like a Basic Stamp, cool
Avagadro3 years ago
Totally awesome! Want one!
IAmButAnEgg3 years ago
WANT!!! Great job, talk2bruce, you've got my vote.
jeff-o3 years ago
You should add a microphone so that grover starts danging whenever music is playing!
ChrysN3 years ago
Awesome! Well done.
I'm can only see this getting bigger and better. Very cool!
thingy3 years ago
There's a monster at the end of this instructable.
NatNoBrains3 years ago
First.