Close
0%
0%

Turning Impedance into Frequency: An LC Experiment

Arduino + Franklin oscillator

Similar projects worth following
I did not start this project to build a high-precision LC meter. I started because I was fascinated by the structure of the Franklin oscillator itself. By converting impedance into frequency, the problem becomes something a microcontroller handles naturally. The oscillator runs in Class-A phase-shift mode, allowing stable observation of LC resonance. Instead of fighting oscillator errors, I focused on differential measurements. In the end, the accuracy majarly depends on only one thing: the reference capacitor.

While researching the origin of this LC meter approach, I found that the core idea is much older than microcontrollers.

The oscillator itself traces back to the 1920s, when Mr. Franklin at Marconi described what is now known as the Franklin oscillator: an LC resonator combined with a phase-inverted amplifier.

The history

Much later, in 1988, Dr. Hegewald in East Germany applied this principle to an LC meter concept using a microcontroller. This idea was later popularized by Neil Heckt through AADE, where he sold LC meter kits and openly shared both the circuit and the PIC firmware. The design was also described in detail by Phil Rice (VK3BHR) in an Australian amateur radio magazine.

What fascinated me is not absolute accuracy, but how naturally this circuit maps an analog impedance problem into a frequency domain that a microcontroller can handle very well. By focusing on differential measurements and a known reference capacitor, the system becomes simple, transparent, and easy to verify.

I’ve noticed that many builds closely replicate the original AADE design, which is perfectly valid. However, fewer people seem to change both the analog front end and the microcontroller itself.

By simplifying the implementation and using Arduino, my goal was to make such experimentation easier. In one case, this approach even led someone to re-implement the design again using a PIC, after first studying both versions.

This project is my attempt to revisit that idea with modern low-cost MCUs, while keeping the same spirit of simplicity and openness.

The principle

I think the principle behind this meter is very clever.

An additional element is temporarily added to the LC resonant circuit, and the oscillation frequency is measured. By comparing this frequency with that of the original LC circuit, the value of the added element can be derived by solving a simple set of simultaneous equations.

The measurement is divided into two steps. In the calibration step, a high-precision reference capacitor is added to the LC tank to determine the base LC parameters. In the measurement step, the element under test is added instead, the frequency is measured again, and its value is calculated from the difference.

By relying on frequency differences rather than absolute values, this approach naturally reduces errors caused by stray inductance and parasitic effects.

LTSpice simulation

First, I used LTSpice analysis to verify that the Franklin oscillator circuit works with an LC tank circuit and an inverting amplifier using a 74HCU04. I imported the .asy and .lib files related to the 74HC and performed a simulation as follows:

(1) Download the schematic from the link below and place it in the LTspice sym folder under the file name 74hcu04.asy.
http://ltwiki.org/files/LTspiceIV/lib/sym/Dig_Add/74HC/74hcu04.asy

This will become the circuit diagram data, and it will appear when you select it in the Component menu.

(2) Import the simulation data from the following location into the 74HC-related directory using 74HC.lib:
http://ltwiki.org/files/LTspiceIV/lib/sub/74hc.lib
Specify it as available for calling via Edit → SPICE Directive. (This is referenced when 74hcu04.asy calls the 74hcu04 simulation data.)
.lib 74hc.lib

(3) 74hcu04.asy requires an external power supply of 5V via "Vcc." Add a DC power supply and specify Vcc.

(4) Oscillation will not start unless initial operating conditions are set, so I set .ic V(n003) = 1V in Edit → SPICE Directive.

The circuit diagram for simulation is as follows.
LCM_FRANCLIN_HCU04_HC.asc

- The sketch overview

To count the frequencies: start measurement
→ wait for stable oscillation
→ count pulses for gate time "To refer FreqCount Library"
→ average N times until the adjacent frequencies are within 0.5%

→ output frequency

Calibration flow
→ measure freq1
→ insert Cref  by turning on the relay
→ measure freq2
→ solve L,C of base tank
→ store parameters

Measuring flow
→ insert DUT
→ measure...

Read more »

LCM_FRANCLIN_HCU04_HC.asc

asc - 1.71 kB - 01/28/2026 at 11:49

Download

LCM_CIRC.png

The circuit diagram

Portable Network Graphics (PNG) - 23.31 kB - 01/23/2026 at 14:25

Preview

Equation+Circuit2.jpg

This is how to get the inductance value from the frequencies..

JPEG Image - 128.68 kB - 01/23/2026 at 12:53

Preview

  • 1 × 74HCU04 Logic ICs / Gates and Inverters
  • 1 × Arduino nano or ATmega328P

View all 5 project logs

Enjoy this project?

Share

Discussions

nobcha wrote 02/02/2026 at 15:21 point

Thank you for pointing out the spelling mistake.

  Are you sure? yes | no

Per Jensen wrote 02/02/2026 at 13:00 point

I believe it's spelled *Franklin oscillator :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates