I found these 30 volt round analog panel meters on ebay for $5 from a company called Asia Engineer. With a simple hack, these can be turned into a 5 volt gauge, which can then be controlled via PWM from a boarduino.
the gauges sell for a buy-it-now price of $4.49, but shipping (from china) is $10, so the cost of a single gauge is about $15.
however, each additional gauge in your order gets a 50% discount on shipping. this means I was able to buy 10 gauges for $99.90 with shipping included (just under $10 per gauge).
for those of you who are unfamiliar with how expensive gauges are, a single automotive tachometer gauge can easily cost over $100.
my gauges arrived via registered us mail.
here are a bunch of photos of my tear-down procedure.
the gauge consists of a coil driven needle in series with a resistor. the coil is current controlled, so the range of the gauge is simply determined by value of the internal series resistor.
the series resistor appears to be a 1% 30k ohm (orange black black red brown).
I measure it as being 1% off (29.7k ohm) with my cheap and probably inaccurate multimeter.
the coil measures as 159 ohms.
the 5 volt hack
if the 30 volt gauge has a 30k ohm resistor, this means the needle should be fully deflected with 1 milliamp of current. This means we can turn this into a 5 volt meter by substituting a 5k ohm resistor.
I had 4.7k ohm resistors on hand, which means my 5.12 volt power supply is driving about 1.05 milliamps through the meter. this appears to be corroborated by the fact that my needle deflects just past the 30 volt mark.
a 5 volt gauge can be controlled from a microcontroller with pulse width modulation, as I have done in this youtube video.
after the disassembly process, I scanned the metal faceplate. these high resolution scans are useful for creating custom faceplates.
I am working on a python/cairo script to create a custom faceplate. the advantage of "drawing" the faceplate programatically (as opposed to laying it out by hand in something like photoshop) is that I can have the tick marks laid out according to any mathematical formula. this will allow the gauge to display non-linear data.
Here are my results so far.
this is the program I used to generate them: http://jason.pepas.com/code/asia-engineer-faceplate/0.1/asia-engineer-faceplate-0.1.py
update: version 0.2 supports tickmarks:
update: version 0.3 supports a sigmoidal scale:
update: version 0.4 has basic support for text labels:
in version 0.5 I reorganized the code, and added support for mounting holes.
more small code clean-ups, more examples.