I recently bought a kit at Sparkfun to measure capacitors. (Which is actually this.) It works well and accurately measures very tiny capacitors, but the firmware is not open source and I would like to incorporate its functionality into an Atmega168 that is doing a number of other things (but not displaying a readout on an LED, as this one does). The kit uses an Atmega48.
I tried Chris Stratton's alpha of a possible open source replacement firmware: http://github.com/cstratton/atmega_capmeter but it seems to just hang with a display of 00.0P after briefly showing a display of "3210." I'm curious if anyone knows the algorithm the jyetech kit uses; it clearly isn't the one discussed here: http://arduino.cc/en/Tutorial/CapacitanceMeter because that technique fails for low value capacitors. (I tried it using large-value resistors, but it detected no capacitance with capacitors less than about 0.01 microfarad.) I'm using this technique to measure changing levels of a diesel dielectric in a special capacitor designed to measure fuel levels, and for this to work I need a very accurate measurement of low-value capacitance.
I should mention that I've also tried to measure fuel levels with IR and Ultrasonic rangefinders, and they are too inaccurate for my application.