Multimeter
Could be a good DIY project. Use an AVR or a RasPi.
Features
- Resistance
- Voltage (AC/DC)
- Current
- Frequency
- Capacitance
- Inductance
- Transistor measurements (this would be nice if it could identify type, leads and rating)
This could also have 5V out (I'll need that for the circuit anyway) and some signal generators (just use the PWM on the AVR).
https://hackaday.com/2019/06/20/finally-an-open-source-multimeter/
Resistance
This should be easiest because we don't have to worry about frying anything. We put 5V across a voltage divider where one resistor is what we want to measure and the other is known. Measure the voltage in the middle, a bit of math, and get the resistance.
Voltage
I want to be able to measure a wide range of voltage at high precision. Say 0-1000V, without frying the AVR. The AVR has a resolution of 4.88mV
I can do this with 2 pins, 1 transistor, 1 resistor and 2 caps. One pin is PWM out with a shunt cap to average the voltage. This leads to a transistor. The other pin, operating as analog-to-digital converter (adc), is connected to the base, which goes through a resistor to ground. V-in has a shunt cap to ground. The V-in shunt (math needed) should prevent the voltage to the adc from rising fast enough to fry the chip. We use the input from the adc to set the duty cycle of the pwm, trying to keep the adc around 1V, if R is large (like 10kOhm) that should lower the current to a trickle (need to check transistor rating).
This configuration should lets us get a precise reading (especially if we average over several cycles), leveraging the pwm to adjust the resolution (we can measure increments of a few mV when the voltage is low, but can read large voltage as well, with less accuracy). We can also keep the current draw very low, near the minimum requirement of the transistor.