🧲 DIY Inductance Meter (Self-Meter): Measure Coils with Any Multimeter (2026 Guide)
Hey makers! Electro here. Ever needed to check an unknown coil, a transformer winding, or a salvaged inductor — and realized your multimeter has no inductance range? Today we're building a self-meter: a tiny adapter that turns any analog or digital multimeter into a precise inductance meter, covering 10 μH to 100 mH on three selectable ranges. No expensive LCR meter required!
🔄 Updated for 2026: working principle explained, full BOM, calibration procedure, and a modern ESP32/Arduino resonant LC meter version with ready-to-upload code.
The self-meter adapter: your multimeter becomes an L-meter.
🧠 How It Works: From Inductance to Voltage
The trick is to convert an unknown inductance into a DC voltage your multimeter can read. The circuit drives the unknown inductor with a fixed-frequency square wave. Since the inductive reactance is:
XL = 2π × f × L
at a fixed frequency, the AC voltage developed across the inductor is directly proportional to L. A precision rectifier + filter converts this AC voltage into DC, and your multimeter displays it — with a clean scale like 1 mV = 1 μH.
- 1 mH range: high test frequency (≈100 kHz) for small inductors (10 μH – 1 mH)
- 10 mH range: medium frequency (≈10 kHz)
- 100 mH range: low frequency (≈1 kHz) for larger coils
🧱 Circuit Blocks
- Oscillator (NE555): generates the square wave; the range switch selects the timing capacitor to change frequency.
- Constant-amplitude driver: feeds the unknown inductor through a series resistor (voltage divider with XL).
- Precision rectifier + filter (LM358 + 1N4148): converts the AC across the coil into a smooth DC voltage.
- Calibration pot (10 kΩ): sets the scale factor (1 mV/μH) on the multimeter.
🛒 Bill of Materials (BOM)
| Component | Model / Value | Role |
|---|---|---|
| Oscillator | NE555 | Square-wave generator, 3 ranges |
| Op-amp | LM358 | Buffer + precision rectifier |
| Diodes | 1N4148 | Rectification |
| Range switch | 1P3T rotary | Selects 1 / 10 / 100 mH range |
| Calibration pot | 10 kΩ multiturn | Sets 1 mV = 1 μH scale |
| Timing caps | 1 nF / 10 nF / 100 nF | Range frequencies |
| Power | 9 V battery | Portable operation |
| Display | Your DMM (200 mV / 1 V range) | Reads the DC voltage |
🛠️ Build & Calibration Procedure
- Solder the oscillator, rectifier and filter stages on a small PCB; keep leads short on the 100 kHz range.
- Connect your multimeter to the output (DC 1 V range), probes to the output jack.
- Zeroing: with the test clips open (no coil), adjust the offset so the meter reads 000.
- Calibration: connect a known inductor (e.g., 1 mH), select the matching range, and adjust the 10 kΩ pot until the meter reads 1.000.
- Verify with a second known value (e.g., 100 μH) — you should read 0.100.
🤖 The Modern Twist 2026: ESP32 Resonant LC Meter
Want something even more accurate? Use the LC resonance method: the unknown inductor + a known capacitor form a tank that oscillates; measure the frequency and compute L. Here's the code:
// Resonant Inductance Meter - Electro (TechFix Hub)
// L = 1 / (4 * PI^2 * f^2 * C)
const float C_CAL = 100e-9; // 100 nF known cap (measure it first!)
const int FREQ_PIN = 5; // LM311 comparator output
volatile uint32_t pulses = 0;
void countPulse() { pulses++; }
void setup() {
Serial.begin(115200);
attachInterrupt(digitalPinToInterrupt(FREQ_PIN), countPulse, RISING);
}
void loop() {
pulses = 0;
uint32_t t0 = millis();
while (millis() - t0 < 1000) {} // count 1 s
float f = pulses;
if (f > 100) {
float L = 1.0 / (4.0 * PI * PI * f * f * C_CAL);
Serial.print("f = "); Serial.print(f / 1000.0, 1); Serial.print(" kHz | L = ");
if (L < 1e-3) { Serial.print(L * 1e6, 2); Serial.println(" uH"); }
else { Serial.print(L * 1e3, 3); Serial.println(" mH"); }
} else {
Serial.println("No oscillation - check coil");
}
}
💡 Pro Tips (by Electro)
- Never measure in-circuit: parallel components destroy the reading. Desolder at least one leg.
- Short leads: on the 1 mH range, lead inductance adds errors — use short test clips and zero them out.
- Measure your cal cap: the resonance method is only as good as C_CAL — verify it with a trusted meter first.
- Core matters: ferrite-core coils are frequency-dependent; expect different readings at 1 kHz vs 100 kHz. That's physics, not a fault!
❓ FAQ
What accuracy can I expect?
After a careful calibration: ±5% on the mid-scale of each range. Good enough for troubleshooting, winding coils and sorting salvaged inductors.
Why three ranges instead of one?
Because XL = 2πfL. A 10 μH coil is invisible at 1 kHz (XL ≈ 0.06 Ω), while a 100 mH coil saturates the circuit at 100 kHz. Switching frequency keeps the measured voltage in a usable window.
Can I read the value on an analog multimeter?
Yes — the output is plain DC voltage. Use the 1 V scale and read 1 mV per μH; analog meters are actually lovely for quick sorting of coils.
🎯 Conclusion
Whether you build the analog self-meter adapter or the ESP32 resonant version, you now have a reliable way to measure inductance from 10 μH to 100 mH without an LCR meter. It's the perfect bench companion for winding your own coils, checking transformers, and salvaging parts — and it costs less than a coffee.
Built your own inductance meter? Share your calibration results in the comments — I read every single one!
