Servo Pointer Project

I've often wanted to have a big mechanical gauge that can be read from down the hall. I'd hook this up to something that I wanted folks to pay attention to, like getting system tests to pass. AlistairCockburn calls these Information Radiators. BjornFreemanBenson has built them out of traffic lights and drag-strip light poles.


In this project I build a medium sized gauge using FoamCore for the triangular pointer and a matching base. I used a model airplane servo motor to turn the pointer, which I held together with DoubleStickFoam. I freehand cut the pointer to get a more funky look. I guided my xacto knife with a steel straight edge for the rest of the cuts so the base would fit nicely and hold with hot melt glue.


Tip: I eyeballed all the angles, trying not to have anything square and boreing. However, I made sure that the two back braces were cut at the same slope by just dividing a square board at a slight angle.


I used the ServoMotor program to run the pointer off of Bynase levels. I tested with the AnalogKnobConverter producing the signal.

    Knob -> Servo

The full range of motion of the knob (270 degrees maybe) was larger than the full range of motion of my motor (180 degrees or less) so the pointer had a feeling of being slow.


I reconfigured my AnalogKnobConverter as a light sensor. Then I started having fun.

     Sensor -> Servo

The pointer would sit quietly pointing in a positive direction as I worked, only to surprise me when my hands cast a shadow over the sensor and the pointer sprung to life. Turning off the desk lamp confirmed that, yes, that made it even darker.

When I tired of waving my hands and watching my pointer wave back in unison, I got the idea of having the pointer wave over the light sensor and thereby creating a FeedbackLoop.


The pointer was big enough to cast a good shadow. When this touched the sensor, its output fell, the pointer moved, and desk lamp light returned to the sensor. I moved it further, the same thing happend. I pulled back. The pointer moved the other way, to cast its shadow on the edge of the sensor.

The two sides of the shadow worked differently. This reversed when I flipped the pointer over so the shadow drove the pointer the other way.

I found that by adjusting how close to the sensor I held the pointer I could change the sharpness of the shadow and thereby the quickness (or gain) of the feedback. When I held it with a half-inch, the system over responded each way. This oscillation continued, with an amplitude of several sensor diameters, even as I repositioned the pointer as I had been doing before.

I tried adding a FilterTransform to the Bynase circuit.

   Sensor -> Filter -> Servo

This changed the frequency of oscillation, but not the amplitude or threshold.


I've yet to connect my gauge to anything happening on my home or office network. For this I think I would use a script on a big computer to run queries and send results, probably as a single character, to a Bynase enabled computer programed to listen.


Last edited March 11, 2006
Return to WelcomeVisitors