Didn't forget about my earlier intention of building a digital esr meter with analog output.
Here is what I have done so far.
The mcu is a ATtiny85 (8pdip). It creates an excitation signal across the dut (ESR + C3 in the attached schematic). A synchronous detector is built around R2/R4/C3/DRV_P and R1/R5/C1/DRV_N, with DRV_P/DRV_N are two GPIO pins out of the ATtiny85. DRV_P/DRV_N pins alternatively short the signal coming from the dut. As a result, the voltage during the positive cycle is integrated on C3 and the voltage during the negative cycle is integrated on C1.
A differential amplifier in the mcu picks up the differences, from pins ADC_P and ADC_N, respectively. The software picks up the right gain to maximize the resolution automagically.
Once the difference is ADC'd, the mcu calculates the ESR, and then drives a pwm generator to create an analog voltage on C4.
So the operating principle is almost identical to the ones shown earlier here.
The picture below shows the meter measuring a 5ohm ESR capacitor, with the meter full scale being 50ohm / 5V so we should expect to see 0.5v on C4 -> which the meter does.
Interesting features of the meter:
1) it will auto-null the opamp offset;
2) it utilizes three strategies to calculate the ESR. Each ESR measurement is done via 6 adc sampling.
3) The meter picks the strategies based on the estimated capacitance.
Rough performance figures: Fairly good from 0.5ohm to 50ohm. Below 100mohm, the meter tends to underestimate ESR for large capacitors (1100u or over), and overestimate ESR for small capacitors (22uf and under).
Calibration: given the lack of pins, the calibration is done via adjusting R6 (for a coil meter), or adding another resistor across C4 if a voltage meter is used.
Total part count: 10 (+ 1 decoupling cap for the avr).