DIY High-Precision Auto-Ranging LC Meter (Inductance & Capacitance)

by TeknoTrek in Circuits > Arduino

289 Views, 2 Favorites, 0 Comments

DIY High-Precision Auto-Ranging LC Meter (Inductance & Capacitance)

lc-meter-01.jpg

Accurate measurement of inductance and capacitance is essential for anyone working with electronics, RF circuits, power supplies, or analog designs. Unfortunately, many low-cost LC meters lack precision, stability, or automatic range selection — while professional instruments are often expensive and inaccessible for hobbyists.

In this project, I present a DIY High Precision Auto-Ranging LC Meter that delivers reliable and repeatable measurements using affordable, easy-to-source components. This LC meter is capable of automatically selecting the correct measurement range, eliminating manual switching and reducing user error. It is designed to accurately measure inductors (L) and capacitors (C) across a wide range of values, making it ideal for electronics enthusiasts, makers, students, and repair technicians.

The system is built around an Arduino Nano, a comparator-based measurement circuit, precision timing control, and relay-driven auto-ranging logic. Measurement results are displayed clearly on a 20×4 LCD, while a dedicated SET ZERO button allows fast calibration to compensate for probe and fixture parasitics. The result is a professional-style LC meter with performance that rivals many commercial devices.

This project focuses on:

  1. High measurement accuracy and repeatability
  2. Fully automatic range selection
  3. Clean PCB-based hardware design
  4. Simple user operation with minimal calibration effort

Whether you are sorting components, repairing vintage electronics, or building RF projects, this LC meter will become an indispensable tool on your workbench. Best of all, it is fully DIY — giving you complete control, understanding, and the satisfaction of building your own precision instrument.

Supplies

To build the DIY High Precision Auto-Ranging LC Meter, you will need the following components. All parts are commonly available from standard electronics suppliers.

Microcontroller & Display

  1. Arduino Nano ×1
  2. 20×4 I2C LCD Display (WC2004A-I2C) ×1

Integrated Circuits

  1. LM311 Comparator ×1
  2. LM7805 Voltage Regulator ×1

Relays & Switching

  1. 5V Relays (5V / 10mA) ×4
  2. SET ZERO Tact Switch (12 × 12.8 mm) ×1

Transistors

  1. BC337 NPN Transistor ×4

Diodes

  1. 1N4007 Rectifier Diode ×4

Inductor

  1. 100 µH Inductor ×1

Capacitors

  1. 10 µF Tantalum Capacitor ×2
  2. 100 nF Tantalum Capacitor ×1
  3. 1 nF Tantalum Capacitor ×2
  4. 0.33 µF Polyester Capacitor ×1
  5. 0.1 µF Polyester Capacitor ×1

Resistors

  1. 4.7 kΩ ×1
  2. 6.8 kΩ ×1
  3. 47 kΩ ×1
  4. 100 kΩ ×3
  5. 1 kΩ ×4
  6. 120 Ω ×1
  7. 1.2 kΩ ×1
  8. 10 Ω ×1
  9. 100 Ω ×1

Connectors & Power

  1. Cx/Lx Measurement Terminal ×1
  2. DC Power Jack (9V or 12V input) ×1


PCB & Assembly (Recommended)

  1. Custom PCB (or perfboard for prototyping)
  2. Male pin headers (for Arduino Nano & LCD)
  3. Soldering tools and basic hand tools

This parts list is optimized for measurement accuracy, stability, and automatic range switching, ensuring consistent and repeatable LC measurements.

Understanding the Schematic

SEMATİC.png

The DIY High Precision Auto-Ranging LC Meter schematic is organized into functional blocks that work together to measure inductance (L) and capacitance (C) accurately while automatically selecting the optimal measurement range. Below is a detailed explanation of each section.

1. Power Supply Section

The circuit is powered from an external 9V or 12V DC input via a DC jack.

An LM7805 linear voltage regulator converts this input into a stable +5V supply, which powers the Arduino Nano, relays, comparator, and LCD.

  1. C6 (0.33 µF) and C7 (0.1 µF) are used for input/output decoupling
  2. This ensures low noise and stable operation during sensitive measurements

2. Measurement Input (Cx / Lx)

The unknown capacitor (Cx) or inductor (Lx) is connected to the Cx/Lx terminal.

This node is routed through a relay network that automatically configures the circuit depending on the selected measurement range.

This approach:

  1. Minimizes parasitic effects
  2. Allows accurate measurements over a wide value range
  3. Eliminates manual range switching

3. Auto-Ranging Relay Network

Four 5V relays (RLY1–RLY4) are controlled by the Arduino via BC337 NPN transistors.

  1. Each relay selects different timing or reference components
  2. 1N4007 diodes protect the transistors from relay coil back-EMF
  3. The relays dynamically change the effective measurement range based on the detected signal

This is the core of the auto-ranging functionality.

4. Reference Inductor and Timing Network

A precision 100 µH reference inductor (L1) is used for LC oscillation and timing measurements.

Associated capacitors and resistors:

  1. Define the oscillation behavior
  2. Stabilize the comparator input
  3. Shape the signal for reliable edge detection

This network directly impacts measurement accuracy and repeatability.

5. Comparator Stage (LM311)

The LM311 comparator converts the analog oscillation waveform into a clean digital signal.

Key features:

  1. High-speed response
  2. Sharp transition edges
  3. Reduced jitter compared to microcontroller-only threshold detection

The comparator output is fed into the Arduino Nano for precise timing measurement.

6. Arduino Nano Control Unit

The Arduino Nano is responsible for:

  1. Measuring oscillation period using internal timers
  2. Calculating inductance or capacitance values
  3. Controlling relay switching for auto-ranging
  4. Handling zero calibration
  5. Updating the LCD display

Using the Arduino ensures flexibility, easy firmware updates, and accurate digital processing.

7. Zero Calibration (SET ZERO)

The SET ZERO push button allows the user to compensate for:

  1. Probe resistance
  2. Wiring capacitance
  3. Connector parasitics

This step significantly improves accuracy, especially for low-value measurements.

8. Display Section

Measurement results are shown on a 20×4 LCD with I2C interface.

Advantages:

  1. Minimal wiring
  2. Clear multi-line information display
  3. Easy readability for both L and C modes

9. Transistor Driver Stage

Each relay is driven by a BC337 transistor with a base resistor:

  1. Ensures reliable relay activation
  2. Protects Arduino I/O pins from excessive current
  3. Improves system robustness

Overall Operation Summary

  1. The unknown component is connected to Cx/Lx
  2. The Arduino selects an initial range
  3. The LC network oscillates
  4. The LM311 converts the signal to digital pulses
  5. The Arduino measures timing and calculates L or C
  6. Relays adjust automatically if needed
  7. The final value is displayed on the LCD

This schematic combines analog precision with digital control, resulting in a professional-grade LC meter that is both accurate and user-friendly.


PCB Assembly Order and Component Placement

homemade-pcb.jpg
LC-Meter-PCB-01.jpg
LC-Meter-PCB-02.jpg

For reliable assembly and to avoid soldering difficulties, the components should be mounted on the PCB in a specific order. Following this sequence improves solder quality, prevents mechanical interference, and reduces the risk of damage to sensitive parts.

1. Resistors (Lowest Profile Components)

Start by soldering all resistors onto the PCB.

  1. Insert each resistor according to its reference designator
  2. Verify resistance values before soldering
  3. Bend leads neatly and keep the component flush with the PCB

Once soldered, trim excess leads.

2. Capacitors

Next, install all capacitors, starting with the smallest profile parts.

  1. Tantalum capacitors (observe polarity)
  2. Polyester capacitors
  3. Decoupling capacitors

Ensure correct orientation for polarized capacitors.

3. Diodes

Install all 1N4007 diodes.

  1. Pay attention to the cathode marking
  2. Match diode orientation with the PCB silkscreen

This step is critical for relay coil protection.

4. Transistors (BC337)

Mount the BC337 NPN transistors.

  1. Ensure correct pin orientation (collector, base, emitter)
  2. Do not overheat the device during soldering

5. Relay Sockets and Relays

Install the relay sockets first (if used), followed by the 5V relays.

  1. Check relay pin alignment carefully
  2. Relays are installed after low-profile components to avoid obstruction

6. IC Socket and LM311

Solder the IC socket for the LM311 comparator.

  1. Do not solder the LM311 directly
  2. After soldering the socket, insert the LM311 IC carefully

Using a socket allows easy replacement and protects the IC from heat damage.

7. Power Components

Install the LM7805 voltage regulator and power-related components.

  1. Ensure proper orientation
  2. Use sufficient solder for good thermal contact

8. Connectors and Push Button

Mount all connectors and user-interface components:

  1. Cx/Lx measurement terminal
  2. DC power jack
  3. SET ZERO push button

These mechanical parts should be firmly seated on the PCB.

9. LCD Display Installation

Install the 20×4 LCD with I2C interface onto the PCB.

  1. Use spacers if required
  2. Ensure header alignment before soldering

10. Arduino Nano (Last Step)

The Arduino Nano must be installed last.

  1. Upload the firmware before soldering the Nano to the PCB
  2. Verify correct operation after programming
  3. Align the Nano carefully and solder pin headers evenly

This final step minimizes the risk of damaging the microcontroller during assembly.

Final Inspection

Before applying power:

  1. Inspect all solder joints
  2. Check for solder bridges
  3. Verify component orientation

Following this assembly order ensures a clean, professional PCB build and reliable LC meter operation.

PCB Manufacturing & Gerber Files

The PCB used in this project was professionally manufactured based on the provided design files.

The Gerber files shared in this step were used directly to fabricate the PCB without any modification. These files follow standard PCB manufacturing rules and are compatible with most PCB fabrication services.

In this project, the Gerber files were tested with NextPCB to verify manufacturability and confirm that the design meets common production requirements.

Gerber Files Download

You can download the Gerber files for this project from the link below and use them to manufacture the PCB with your preferred PCB fabrication service.

👉 Download Gerber Files:

Gerber File

After downloading, you can upload the Gerber files to any PCB manufacturer to produce the PCB for this project or adapt the design for your own custom applications.

Before ordering, it is recommended to preview and verify the Gerber files using an online DFM (Design for Manufacture) tool to avoid potential production issues.

Video Presentation

To better demonstrate the operation and performance of the DIY High Precision Auto-Ranging LC Meter, a detailed video presentation is included with this project.

👉 Watch the full video here:

https://youtu.be/h47zn-DOw2I

In the video, you will see:

  1. A brief overview of the completed PCB and component layout
  2. Step-by-step explanation of how the LC meter works
  3. Automatic range switching in real time
  4. Zero calibration procedure using the SET ZERO button
  5. Live measurements of different capacitors and inductors
  6. Accuracy and stability demonstration across multiple ranges

The video provides practical insight into the measurement process that cannot be fully conveyed through static images alone. It is especially useful for understanding auto-ranging behavior, display updates, and real-world performance.

Watching the video before building the project is highly recommended, as it helps clarify the circuit operation, calibration steps, and expected measurement results.

Arduino Code

To simplify the build process and ensure consistent performance, the Arduino firmware for this project is provided as a precompiled .HEX file. This allows you to upload the code directly to the Arduino Nano without modifying or compiling source code.

1. Download the HEX File

Download the provided Arduino firmware (.hex) file from the project files section.

Make sure you select the correct file version for:

  1. Arduino Nano
  2. ATmega328P
  3. 16 MHz clock

2. Required Tools

To upload the HEX file, you will need:

  1. AVRDUDE
  2. A USB cable for the Arduino Nano
  3. Correct USB-to-Serial driver (CH340 or FTDI, depending on your Nano)

AVRDUDE is included with the Arduino IDE, so no additional installation is required if Arduino IDE is already installed.

4. Uploading the HEX File Using AVRDUDE

Open a command prompt or terminal and navigate to the folder containing the HEX file. Wait until the upload process completes successfully.

5. Verify the Upload

After programming:

  1. Disconnect and reconnect the Arduino Nano
  2. The LCD should initialize and display the startup screen
  3. The device should respond to the SET ZERO button

If the display remains blank, recheck:

  1. COM port selection
  2. Correct microcontroller type
  3. USB driver installation

6. Important Notes

  1. The Arduino Nano must be programmed before soldering it to the PCB
  2. This method protects the source code while allowing easy firmware updates
  3. The HEX file ensures identical behavior across all builds

Using a precompiled HEX file with AVRDUDE guarantees fast, reliable programming and avoids configuration errors during compilation.

Enjoy Your DIY LC Meter!

Congratulations on completing your DIY High Precision Auto-Ranging LC Meter!

You now have a powerful and accurate instrument capable of measuring inductance and capacitance across a wide range of values with automatic range selection and zero calibration. Beyond being a useful tool for daily electronics work, this project also provides valuable insight into measurement techniques, comparator-based timing, and mixed analog–digital design.

Whether you use it for component sorting, circuit repair, RF projects, or educational purposes, this LC meter will be a reliable addition to your electronics bench. Feel free to modify the firmware, improve the enclosure, or adapt the circuit to your own needs.

If you found this project useful, consider sharing it, leaving feedback, or building your own improved version. Happy measuring and enjoy your DIY LC meter!