The goal of this project was to develop a circuit capable of measuring inductance as conveniently as a multimeter measures capacitance. To achieve this, I designed it to be battery-powered, portable, and microcontroller-based, with a user-friendly interface that displays the inductor’s value.
I placed an inductor and resistor in a voltage divider with an AC source, using the output voltage to calculate the inductor’s impedance. With the signal frequency known, I solved the voltage divider equation to determine inductance.
This version worked with an external function generator, but generating a stable AC source directly from an Arduino presented challenges.
This version was inspired by how multimeters measure capacitance. By placing the inductor in series with a reference resistor, the microcontroller applied a known voltage across the inductor. I measured current indirectly by observing the voltage across the resistor, then used 𝐿=𝑉⋅Δ𝑡/Δ𝐼 to calculate inductance.
Initial trials showed that the voltage across the resistor was too small for the Arduino’s ADC to detect. To address this, I added an op-amp stage to amplify the signal, and since the gain was known, I could adjust the value in code. However, the Arduino’s sampling rate proved insufficient for the short voltage pulses, meaning a faster microcontroller or processor would be required for reliable results.
Using an Arduino, I applied 5 V across a resistor–inductor series circuit and measured the time for the inductor’s voltage to reach 63.2% of the input, corresponding to the time constant.
This method required the total circuit resistance to be below 10 Ω, which led to high currents that risked damaging the Arduino. To implement this safely, an external power supply and switching stage would be needed to isolate the Arduino from the load.
Building on Version 3, I added a MOSFET to switch an external power supply, allowing the Arduino to remain isolated from high currents.
While this circuit showed potential, I chose to pursue alternative designs that better aligned with my project goals.
In this version, I used a charged capacitor and a switch to connect it to the inductor under test, forming a resonant LC circuit. The goal was to measure the oscillation frequency and calculate inductance using f=1/(2𝛑*sqrt(LC)), L = 1/(2𝛑f)^2 * 1/C
While the theory was sound, sustaining oscillations proved difficult. The circuit required specific L and C values that limited flexibility, and damping reduced the oscillation window available for the microcontroller to take accurate samples.
Building on the LC tank circuit, I attempted to sustain oscillations using an op amp configured as a Colpitts oscillator. This approach was intended to provide continuous oscillations, making frequency measurement easier and allowing inductance to be calculated using L=1/(2πf)^2 *1/C
While the circuit oscillated as expected, the frequency deviated from calculated values and did not vary with inductance. The configuration effectively functioned as an RC oscillator rather than the intended LC oscillator.
Using the same Colpitts configuration, I implemented the circuit with an NPN transistor to create a Colpitts oscillator. This approach required additional components for decoupling and DC blocking compared to the op amp version.
While testing different capacitor values, I identified a configuration that produced stable oscillations. I refined this design into Version 8.
While refining Version 7, I removed the larger capacitor and observed with an oscilloscope that the circuit oscillated at a frequency dependent on the inductor value. I redesigned the circuit around this behavior and plotted the inductance–frequency relationship in Excel.
To ensure reliable measurement, I added an op amp buffer stage, preventing loading effects and stray capacitances from distorting the signal.
The full circuit diagram and write up can be found here.
Check out my notes, sanity checks, and circuit diagrams on this page.