Lc meter circuit KM409 with Atmega

LC meter KM409 circuit with Atmega measures inductor (coil) and electrolytic capacitor, using Lm393 voltage comparator.

A capacitance + inductance they form a resonant circuit. He is vibrating. The frequency of vibrations depends on the capacity and inductance. When we add to the resonant LC circuit, the coil (in series to the coil) – or the capacitor (parallel to the capacitor), then the resonant frequency will decrease.

Practice (resonant method)

L/C circuit is cooperates with the LM393D comparator, from which the output is fed back loop to the LC circuit. Thanks to this, the vibrations do not expire. The comparator output also gives a rectangular signal to the input pin of the microcontroller. This signal has the resonance frequency of the LC circuit. The frequency of this signal is measured by the microcontroller.
Knowing the inductance values and capacities of the LC generator based on the frequency difference, we can calculate the value of the attached capacitance or inductance to the LC circuit.

Project drawing — schematic diagram.

Used formulas:

Cown – capacitance of LC circuit [pF]
Cref – a referential knowing value of capacitance which was added to LC circuit (generator) [pF]
F1 – a resonant frequency of LC circuit before add Cref capacitor [Hz]
F2 – a resonant frequency of LC circuit after add Cref capacitor [Hz]

Lown – a own inductance of LC circuit (without added any other inductor) [uH]
Cown – a own capacitance of LC circuit (without added any other capacitor) [uF]
F1 – a frequency of resonant LC circuit [Hz]

Cx – is a unknown value of capacitance which was added to LC circuit (generator) [pF]
Cown – a own capacitance of LC circuit [pF]
F1 – a resonant frequency of LC circuit before add Cx capacitor [Hz]
F2 – a resonant frequency of LC circuit after add Cx capacitor [Hz]

Lx – is a unknown value of inductance which was added to LC circuit (generator) [uH]
Lown – a own inductance of LC circuit [uH]
F1 – a resonant frequency of LC circuit before add Lx inductor [Hz]
F2 – a resonant frequency of LC circuit after add Lx inductor [Hz]

Charging time to capacitance by constant voltage.
When we charging capacitor by constant voltage we can observed a curve of charge:

We can see the charging time if depend from resistance and capacitance. And these two values form a time constant called tau τ which units is the seconds [s]
So from above diagram we can get the known:
After one τ the voltage on the capacitor get the 0.632 E value
So if our E have 5V, after the τ time on the capacitor voltage will present 3.16V.
AND FINALLY – when we charge the capacitor up to 0.632E, knowing the value of R and measuring the charging time, we can very easily calculate the capacity of the capacitor.

If we look at the diagram, notice that the capacitor can be charged by one or two parallel resistors RES1 and RES2.
Therefore, the program uses one more formula:

Start with RES1 and RES3 soldering, and then measure and store their values. After assembling the whole and connecting the power supply, the VCC supply value should be measured, then the PR1 potentiometer should be set to 0.632 VCC at TP (arround 3.16V).

Wrote in assembler in two options – for ATmega8A or ATmega328P – why 328P? Cause I got a few unused Arduino  so I don’t need to purchase M8A
After power on we can see three screens:

Honestly, after the first power on third screen going to calibrate menu, which I’ll describe later.
After reset we can put capacitor into the socket and measure capacitance.
After pressed the left button we can see the L measure screen or the second one after put inductor into the left socket.

Next one press the left button invoke the third menu for CE measure:
In the right socket we can do measure of electrolytic capacitors.

After this, the left button go back to small capacitors measure menu.

Al the time by press right button we can invoke 7 specials menu. In this mode the right button select menu, and after the select any one by pressing left button execute it and go inside.

How the program calculate capacitance:

  1. Simply start charge of the capacitor and counting the clocks edges.
  2. After charging capacitor program multiply by 125 value of counted clock edges, cause crystal have 8MHZ for translate to decimal relation to seconds. And divide by 10.
  3. After that value is divided by RES2100 (for better precision) or by RES3 (two parallely connected resistors RES3=RES1RES2/[RES1+RES2] ) – result in [uF] or in 0.01 [uF]



After select his menu program compensate the frequency value, which can be a bit floating depend from thermical values. And go back to last used menu of measure.


Simply restart of firmware, and lose the compensate value.

Most probably don’t need describe this menu, everything is on the following step by step screens.
Note: You can choose in the next menu the reference value of the calibrate capacitor, which you’ll use.

MENU SET REF VALUE # – you can change the referential value your cap. for calibrate if you need.

You can change the value of capacitor in LC generator circuit, after this the coil value will be recalculated.
In the last 4 menu you can set the value by pressing left button and right button for confirm.

Here you should set the RES1 value, which you measured after soldered RES1.

Here you should set the RES2 value, which you measured after soldered RES2.

A bit unrolling the second one formula for clarity and understand how to do it on the integers numbers.

We got here a constant 1/4PI^2, also we dividing by [pF] so we can do sth like that:
100 000 000 000 000 000 000/4/Pi/Pi = 2 533 029 591 058 444 286
And now:
2 533 029 591 058 444 286 /F1/F1/C
BECAUSE the 2 533 029 591 058 444 286 value is oversized by a few decades the result is in 0.01 [uH] what gave resolution in 10 [nH].
Just for example how program calculate Cx or Lx and don’t going to to lower values using integers:
Cx = (Cown x [(F1 x F1)-(F2 x F2)])/F2/F2
So the first result = (Cown x [(F1 x F1)-(F2 x F2)]) is huge enough to divide by square of F2…

C9 10uF doesn’t work properly, breaking oscillations – solution – replaced to unpolarized
LM393D damaged under soldering probably – breaking oscillations – replaced to new.

Bom Lc meter circuit KM409 with Atmega

Last update: 23/09/2023 17:18

Valor Nome Descrição Quantidade
10k (103) PR1,PR2,PR3 Trimpot 329Y 3
1M (105) R1 Resistor SMD 1206 1
100k (104) R2,R3,R4 Resistor SMD 1206 3
10k (103) R5,R6,R10 Resistor SMD 1206 3
2.2k (222) R7 Resistor SMD 1206 1
4.7k (472) R8,R9,R15 Resistor SMD 1206 3
3k (302) R11 Resistor SMD 1206 1
300 (301) R12 Resistor SMD 1206 1
1k (102) R13 Resistor SMD 1206 1
1000u C1 Electrolytic Capacitor 1
100u C2 Electrolytic Capacitor 1
100nF C3,C4,C5 Capacitor SMD 1206 3
100n C6 Capacitor SMD 1206 1
33p C7,C8 Capacitor SMD 1206 2
10u C9 Capacitor tantalum SMD CASE-A_3216 1
470nF C10 Capacitor film 1
1nF 2% C11 Capacitor film 1
LM393D U1 soic8 SMD voltage comparator 1
16×2 LCD (HD44780) U4 Display LCD 16×2 1
LM7805CT U7 12V voltage regulator, TO-220 1
BC857 T1 Transistor SMD SOT-23 1
BC847 T2,T3 Transistor SMD SOT23-3 2
MEGA8-P U3 Microcontroller 1
2W10 D1 Rectifier bridge 1
LL4148 D2 Diode SMD LL-34 1
POWERSUPPLY_DC21MMX G$1 Power connector 1
HK19F-DC_5V-SHG K2 5V relay 1
10uH L1 brown,black,black,silver 1
100uH L2 brown,black,brown,silver 1
Momentary switch S1,S2 Touch switch 2
ARK3 U8 Terminal block 3 via 5.08 mm, 1
8MHz X1 Crystal HC-49S 1


Download Gerber and PDF PCB.



How useful was this post?

Click on a star to rate it!

Average rating 5 / 5. Vote count: 2

No votes so far! Be the first to rate this post.

About the author blog author. Electronics technician for the technical school of Brasilia - Brazil. Interested in electronics, circuits and technology in general.

Leave a Comment

Exit mobile version