The Arduino UNO Inductance Measurement Shield is a dedicated peripheral board designed to enable precise inductance measurements, a functionality absent in most conventional digital multimeters (DMMs). While specialized LCR meters offer inductance measurement, they typically lack broader capabilities such as voltage or current measurement. This shield addresses this gap by providing a compact, integrated solution for inductance quantification via frequency-domain analysis.
- Rapid inductance measurement for prototyping, education, or field diagnostics.
- Integration with automated test systems leveraging Arduino’s serial capabilities.
The shield employs a Colpitts oscillator topology modified to exclude the inductor. The unknown inductor (Lx) is connected externally via test leads, completing the resonant circuit.
Key design elements include:
- Resonant Circuit:
- Two series-connected 1 nF capacitors (C1=C2=1 nF) form the known capacitance (Ctotal=0.5 nF).
- A fixed 1 µH reference inductor (Lref) is integrated on-board, connected in series with Lx.
- Frequency Limitation:
- Lref ensures oscillation continuity when test leads are short-circuited.
- It imposes an upper frequency limit, ensuring compatibility with downstream circuitry.
- Theoretical maximum resonant frequency: fmax≈7.1 MHz
calculated via:
$\large f=\frac{1}{2\pi\sqrt{L_{ref}C_{total}}}$
- Comparator Stage:
- An Analog Devices LTC8741 (or replacement) high-speed comparator converts the oscillator’s sinusoidal output to a square wave.
- Critical specification: Propagation delay ≤ 80 ns, ensuring signal integrity up to 7.2 MHz.
- Frequency Division:
- A 74HC590 8-bit binary counter divides the oscillator output by 256.
- Output frequency range: 0 Hz to 27.7 kHz (theoretical, 7.2 MHz/256).
- Enables reliable measurement by the Arduino UNO’s 16 MHz microcontroller.
- A pushbutton with hardware debouncing (RC low-pass filter with a time constant of 4.9 ms).
An on-shield OLED displays measured inductance values in real time, eliminating external monitoring requirements.
(click on the image to see the 3D model)
For Arduino UNO:
- JP1 jumper – short-circuit (with a drop of tin) the FREQ and ICP fields.
- JP2 jumper – leave in the Auto position (Vcc from IOREF).
Interactive BOM and parts placement
The production files can be found in the location: https://github.com/michpro/Arduino_LMeter_shield/blob/master/production/
The software was developed in the Arduino environment (Source).
The running program can be in one of four defined states:
- ST_IDLE:
- no operations are performed,
- ST_MEASURE:
-
The Arduino calculates inductance using the resonant frequency (f) via the formula:
$\Large L_{x}=\frac{1}{(2\pi f)^2\cdot C_{total}}-L_{ref}$ Process Flow:
- Arduino measures the frequency at the 74HC590 output.
- Multiplies by 256 to reconstruct the original oscillator frequency.
- Computes Lx using the known Ctotal and Lref.
-
Displays the calculated Lx value on the OLED display.
-
If the measuring terminals are short-circuited without any additional inductance, pressing the ‘Calib’ button will cause the measured inductance value to be used to compensate for subsequent measurements (zeroing).
-
- ST_NO_INDUCT:
- No inductance is connected to the measuring terminals - they remain open and the generator does not oscillate. Information about this state is displayed on the display together with the measurement inductance correction.
- ST_FCPU_CALIB:
- After connecting a stable PPS signal from the GPS module, the program proceeds to the calibration procedure for the clock frequency of the Atmega328p chip in the Arduino module. This procedure takes 240 seconds. After this time (provided there were no interruptions in the PPS signal), the actual clock frequency of the Arduino module processor is calculated. This value is stored in the internal EEPROM memory and is used for calculations during subsequent meter starts. If, for any reason, the user wants to restore the default value of 16MHz for Arduino UNO, the ‘Calib’ button must be held down during module start-up/reset.
Copyright © 2025 Michal Protasowicki
-
Source: https://github.com/michpro/Arduino_LMeter_shield
Hardware part of this project is released under CERN Open Hardware Licence Version 2 - Permissive.
-
Source: https://github.com/michpro/Arduino_LMeter_shield/LMeter
Software part of this project is released under MIT Licence.
If You find my projects interesting and You wanted to support my work, You can give me a cup of coffee or a keg of beer :)