Off-The-Shelf Hacker: Modding the Steampunk Eyeball
My Steampunk Eyeball traveled to Berlin as part of The New Stack’s panel discussion and pancake breakfast for Kubecon EU. Unfortunately, despite meticulous luggage packing, it arrived back in the States with a broken half-hoop frame. Obviously, the design needs to be much more robust for air travel.
It needed a few design revisions anyway. The pan servo was marginal from the beginning and through repeated manual adjustments eventually stripped its tiny little plastic gears. It turns out that a standard hobby servo fits with a few adjustments.
Version 1.0 also used micro servos for the pan and tilt action. The tilt servo is inside the eyeball sphere and understandably needs to be micro-sized. There’s not much torque involved, so the existing one works fine.
Components of the original:
- eFlight S75 servo
- $17 (local)
- 17.2 oz-in (1.25 kg-cm) @ 4.8 volts
- .12 sec/60 degrees @ 4.8 volts
- .90” (L) x .45” (W) x .94 (H)
- 4.8-5.3 volt
Steampunk Eyeball v2:
- Futaba S3003 servo
- $17 (local)
- 44 oz-in (3.2 kg-cm) @ 4.8 volts
- .23 sec/60 degrees @ 4.8 volts
- 1.6” (L) x .8” (W) x 1.4” (H)
The pan pivot arrangement always bugged me. I could never get ultra-smooth movement, because of slight binding in the bushing. This causes erratic panning movement as the servo and software try to overcome the sticky spots.
So, since I had to repair the half hoop anyway, I decided to replace the pan pivot bushing with a ball bearing mount while I was at it. Bearings provide much smoother operation while reducing the torque load on the servo.
In the following picture, circles mark the joints that came apart during the trip:
I performed the following steps to re-engineer the pivot and repair the half-hoop frame:
- Removed round plywood disks that positioned the pivot tube in the inverted candle holder base.
- Kept the half-inch copper pivot tube and cut it flush with the top of the base.
- Cut a six-inch long piece of 5/16” coarse thread rod for use as the new bearing pivot axle.
- Used two nuts at bottom of tube and two at the top, to snugly fit the 5/16” rod inside half -inch pivot tube.
- Extended the rod about 3” above the base housing.
- Soldered together a bearing cage out of 1/4” x 1/16” brass flat stock.
- Used two nuts at bottom of bearing cage and a nut at the top to keep the bearings on the rod.
- Deployed bearings that are of the standard roller blade variety (OD – .866”, TH – .275”, ID .315”) with a spacer in the middle.
- Rebuilt the frame, moving the back tube rearward a little so the bearing cage could be fastened between the half hoop tubes.
- Fabricated new servo brackets to fit the new (larger) standard servo.
- Built a servo drive — a flat blade with a collar to fit over the slotted 5/16″ rod end. Attached it to a modded plastic servo bracket with wire.
- Made a slot at the top of the pivot rod to match the servo drive.
- The drive, servo and bearings were adjusted for minimal slack. A tight system responds quickly with no “positional hunting” [random back and forth movement].
Take a close look at the pictures and you can see how I built the new parts.
One thing I noticed while testing is that the pan gain in the PixyMon program could be dialed way back from around 600 to 150. With much less friction in the pan bearing and a more powerful servo, the software didn’t need to command as much “oomph” to rotate the eyeball, around the horizontal axis.
The Steampunk Eyeball is back and better than ever. I’ve officially bumped it to version number 2.0, as well.
There are still a few odds and ends that need to be squared away, such as bolting the new servo to the brackets (and removing the alligator clips) and adding some gussets to the half-hoop frame.
The CHIP-powered MQTT Broker we developed over the last few weeks seems like a good candidate to add to the base of the eyeball. With the addition of the broker, I might be able to control and stream data to/from the eyeball, pretty easily. Perhaps the tracking data, from the eyeball could be sent as MQTT messages to other servo-controlled lights and gadgets that I use during a presentation. I’m exploring ways to use my devices for more audience interaction.
What could we do if we hooked the eyeball up to a Raspberry Pi or BeagleBone, interfacing through Python scripts? Might be an idea.
It’s fun cobbling Off-The-Shelf parts together to make physical computing come to life. Be sure to share stories of your projects with your friends and the world.