Inductor & Capacitor Meter (LCMeter)


    Here is my new inductance & capacitance meter. I had took the analog oscillator part from a well know schematic found on the internet and adapt it for a AVR.  It's impressive to have a very accurate result with a so small circuit.  The way it's work is simple you chance a oscillator frequency with the part you want to find is value.

The frequency is read and with some math you get the value. Here is how it's work, At power-up you read the oscillator frequency without any thing connected to you probe, we will call this value f1.  After the calibration process via a relay put a very accurate capacitor of 1000pF, you read this new frequency f2. When the calibration is done you can place your unknown part value and read the frequency f3.  Now we go in math…

For capacitor:

a = ((f1/f3)^2)-1

b = ((f1/f2)^2)-1

result = (a / b) * 0.001


For Inductor:

a = ((f1/f3)^2)-1

b = ((f1/f2)^2)-1

c = 1000000000

d = (1/(2*pi*f1))^2

result = a * b * c * d

result = result * 1000000


  • Inexpensive
  • High acuarity
  • Auto scale
  • Auto calibration
  • Can be use as a frequency meter with only small modification
  • Measure capacitance and inductance





LC Meter Schematic

LC Meter Source Code

79 Comments to “Inductor & Capacitor Meter (LCMeter)”

  • Vlad June 29, 2011 at 7:21 pm

    I use your HEX from your project it names "LCMERTER.hex". The hardware is the same as yourth. 1000pF capasitors pick up with multimeter. As I understand from comments when reley are power down they connects with uper pins at the schematics?
    Maybe you have some new version of compilated file? To program ATmega32 I use AVRStudio5.

  • admin June 29, 2011 at 7:25 pm

    You have the last version, the relay when NOT energised is UP



  • Vlad June 29, 2011 at 7:34 pm

    Try to chek another places. When find out the problem I wrote to you, maybe it would be interesting to you. Thanks for help!

  • Ricky July 15, 2011 at 3:04 am

    Hello, I'm trying to understand your project here, and want to give some advice. It is very nice project though.
    It is good that if you can create a readme file and write some information about those files (*.c, *.prj, *.hex, etc). Please delete unused files, I almost lost track between source code and schematic hence i don't use ICC-AVR. At a glance i can not know which is really the main c file in this project, there are LCMeter32.c, LCMeter32_1.c, LCMeter32_Final.c. 
    I think the latest source code is LCMeter32_Final.c, is this correct? assumpting "Final" in the filename, and understanding the code inside, comparing math calculations involved between theory and source code).
    – in line 97 of file LCMeter32_Final.c
    #define SWITCH_BIT (1<<PB7)


    i think it should be 

    #define SWITCH_BIT (1<<PC7)
    although when compiled it will generate same hex code (PB7 and PC7 defined same bit value, 7), but some of learning newbies can be confused, because in the schematic there is a connector (J3) connected to PC7, and there is no any usage of PC7 in the code. After some reading, I can understand it is used to select between measurement of Capacitor or Inductor, CMIIW.
    in line 102 and 103,
    #define RELAY_BIT (1<<PB3)
    #define CAP_REF (1<<PB7)
    i also think these should be
    #define RELAY_BIT (1<<PD3)
    #define CAP_REF (1<<PD7)
    Sorry for being critical, it is just because i really want to understand this whole project, not just doing copy paste.
    If you had time please update your source code and upload it again.
    Thanks for sharing this great project.

  • Anton September 10, 2011 at 4:28 pm

    What are the limits of measurement?

  • Sylvain Bissonnette September 10, 2011 at 4:47 pm

    1uh to 1000mh
    10pf to 1uf (non electronitic)

  • Rajendra Khatri September 10, 2011 at 8:00 pm

    Sylvain same Problem is happenning as Vlad to me also,I have programmed LCMERTER.HEX without compiling and the display starts to read the Capacitance from 100pf to 1 nF on the Display and when in Inductance mode it displays XXX on it I made the pcbs from PDF file and did'nt bothered to compile it with ICC AVR either

  • admin September 11, 2011 at 2:24 pm

    Send me your email address in private and I will send you the hex file


  • Andee September 25, 2011 at 3:35 pm

    LCD 16×1 or 16×2 ?

  • admin September 25, 2011 at 6:38 pm


  • shanaka March 22, 2012 at 5:42 pm

    Can you tell me what is the use of USART In this project? 

  • admin March 22, 2012 at 10:49 pm

    It’s not use as a uart, I use it for a timer, because all the “real” timer are in use

  • Inductor & Capacitor Meter (LCMeter) | سیاره یزد کیت May 25, 2012 at 8:30 am

    [...] Inductor & Capacitor Meter (LCMeter) « MicroSyl | MCU Electronics projects. Related Posts:Bench Power Supply 0-25v @ 0-5ampMagnificent RGB LED VU meter controlled via USB [...]

  • Rudolf June 20, 2012 at 8:14 pm

    Code and Schematic is not compatible !!

  • admin June 20, 2012 at 11:04 pm

    Could you give more detail???

  • Mark August 26, 2012 at 12:32 pm

    The box seems an old Keitley DMM box :-)

  • admin August 26, 2012 at 2:03 pm

    Right on !!!

  • ACao September 4, 2012 at 2:59 am

    Thank you for your wonderful tutorial about the LC tester.  I am a little bit confused about some of the parts on the schematic.  Could you please email me the part lists?  And if you don't mind, I'll ask more question in the private email.
    Thank you

  • admin September 4, 2012 at 12:37 pm


    I don’t have part list but you can email me at :b i b i at (remove the space and replace at fo @


  • Evgeny October 29, 2012 at 10:32 pm

    Hi Silvian
    I have programmed LCMERTER.HEX without compiling and the display workt as 20 x 2 ! Have you HEX file for LCD 16 x 2? My email is
    Thanks for sharing this great project.

  • admin October 29, 2012 at 11:24 pm


  • alhussien salah June 24, 2013 at 4:00 pm

    why the simulation for l/c meter is very slow and the result is not accurate?
    if we edit the program file (time delay ) can solve this problem
    thank you  

  • admin June 24, 2013 at 4:26 pm

    It’s not slow, as soon you connect your device the reading appear. and the
    resolution is quite good about 2pf, for the modification in code I don’t know

  • alhussien salah June 29, 2013 at 1:32 pm

    thank you for your comment
    please I need how to operate this  circuit

  • Vadim Komarov November 17, 2013 at 3:33 pm

    Sylvain, sorry to disturb You.  A question about the relay. Contacts in the circuit diagram shown hanging in the air. I would like to know, really, in the normal state what contacts are closed, the top or bottom. sorry for my english (google-translater))).
    Best regards.

  • admin November 17, 2013 at 3:35 pm

    close are in bottom, and open is in top position, excuse for this confusing schematic

  • Vadim Komarov November 17, 2013 at 3:44 pm

    Thank you for your site
    Thank you for the time you pay to us
    Greetings from Ukraine

  • admin November 17, 2013 at 3:45 pm

    Thanks, that's my pleasure

    Sylvain from Montreal Canada

  • admin November 26, 2013 at 4:42 pm

    External Xtal, brownout under 5v, the rest is not so important

Post comment

Please note

All my source codes were taken from my personal projects.

Everything is for your information only. The C/C++ codes have been written
with ICCAVR. You can find the header and source CRT files by downloading their compiler.

All is for your information and everything is AS IS without any warranty of any kind. No other files are available and I don't make any modification for any body.



Electronic Links


AGC Anemometer AVR AVR Bootloader Bootloader Capacitence Capacitor Clock Color Control DCC Debugger Devices Digital driver Function Generator High Gain Microphone Humidity Inductance Inductor Laser LCD LED 3W Library Lightning Detector MegaLoad Meter Moodlight Mood Light MS5534 Nixie OscilloScope projector Rain Fall Sensor rgb RGB LED Scop Sensor SHT75 Temperature Terminal Tipping Bucket Train Modeling Vintage Water Detector