Skip to the content
2 layers68.6 × 53.3 mmArduino LMeter shield, the printed circuit board in 3D

Arduino LMeter shield

michpro/Arduino_LMeter_shield3

Arduino Inductance Meter shield

Size
68.6 × 53.3 mm
Copper layers
2
Thickness
1 mm
Parts
33
Nets
48
Pads
127
Tracks, vias
125, 45
Pours
3
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
18 Apr 2025
Updated
29 Jul 2025

Overview

Arduino LMeter shield is an open-source printed circuit board by michpro, from the michpro/Arduino_LMeter_shield repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 2-layer board of 68.6 × 53.3 mm with 33 parts on 48 nets, routed with 125 tracks and 45 vias.

It is built around the 74HC590D and 2SC3356. Its parts include 10 capacitors, 10 resistors, 3 connectors, 2 ICs and 1 transistor. It belongs with the microcontroller boards boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

Arduino UNO Inductance Measurement Shield


Overview

The Arduino UNO Inductance Measurement Shield is a dedicated peripheral board designed to enable precise inductance measurements, a functionality absent in most conventional digital multimeters (DMMs). While specialized LCR meters offer inductance measurement, they typically lack broader capabilities such as voltage or current measurement. This shield addresses this gap by providing a compact, integrated solution for inductance quantification via frequency-domain analysis.


Applications

  • Rapid inductance measurement for prototyping, education, or field diagnostics.
  • Integration with automated test systems leveraging Arduino’s serial capabilities.

Hardware

Design Architecture

The shield employs a Colpitts oscillator topology modified to exclude the inductor. The unknown inductor (Lx​) is connected externally via test leads, completing the resonant circuit.
Key design elements include:

  • Resonant Circuit:
    • Two series-connected 1 nF capacitors (C1=C2=1 nF) form the known capacitance (Ctotal=0.5 nF).
    • A fixed 1 µH reference inductor (Lref​) is integrated on-board, connected in series with Lx​.
  • Frequency Limitation:
    • Lref​ ensures oscillation continuity when test leads are short-circuited.
    • It imposes an upper frequency limit, ensuring compatibility with downstream circuitry.
    • Theoretical maximum resonant frequency: fmax≈7.1 MHz
      calculated via:
                                        $\large f=\frac{1}{2\pi\sqrt{L_{ref}C_{total}}}$

Signal Conditioning

  • Comparator Stage:
    • An Analog Devices LTC8741 (or replacement) high-speed comparator converts the oscillator’s sinusoidal output to a square wave.
    • Critical specification: Propagation delay ≤ 80 ns, ensuring signal integrity up to 7.2 MHz.
  • Frequency Division:
    • A 74HC590 8-bit binary counter divides the oscillator output by 256.
    • Output frequency range: 0 Hz to 27.7 kHz (theoretical, 7.2 MHz/256).
    • Enables reliable measurement by the Arduino UNO’s 16 MHz microcontroller.
  • A pushbutton with hardware debouncing (RC low-pass filter with a time constant of 4.9 ms).

Integrated Display

An on-shield OLED displays measured inductance values in real time, eliminating external monitoring requirements.

Schematic diagram

wiring diagram

Module visualisation

(click on the image to see the 3D model)

Arduino UNO LMeter Shield

Assembly

For Arduino UNO:

  • JP1 jumper – short-circuit (with a drop of tin) the FREQ and ICP fields.
  • JP2 jumper – leave in the Auto position (Vcc from IOREF).

Interactive BOM and parts placement

Production files

The production files can be found in the location: https://github.com/michpro/Arduino_LMeter_shield/blob/master/production/


Software

The software was developed in the Arduino environment (Source).
The running program can be in one of four defined states:

  • ST_IDLE:
    • no operations are performed,
  • ST_MEASURE:
    • The Arduino calculates inductance using the resonant frequency (f) via the formula:
                                        $\Large L_{x}=\frac{1}{(2\pi f)^2\cdot C_{total}}-L_{ref}$

      Process Flow:

      • Arduino measures the frequency at the 74HC590 output.
      • Multiplies by 256 to reconstruct the original oscillator frequency.
      • Computes Lx​ using the known Ctotal​ and Lref​.
    • Displays the calculated Lx value on the OLED display.

    • If the measuring terminals are short-circuited without any additional inductance, pressing the ‘Calib’ button will cause the measured inductance value to be used to compensate for subsequent measurements (zeroing).

  • ST_NO_INDUCT:
    • No inductance is connected to the measuring terminals - they remain open and the generator does not oscillate. Information about this state is displayed on the display together with the measurement inductance correction.
  • ST_FCPU_CALIB:
    • After connecting a stable PPS signal from the GPS module, the program proceeds to the calibration procedure for the clock frequency of the Atmega328p chip in the Arduino module. This procedure takes 240 seconds. After this time (provided there were no interruptions in the PPS signal), the actual clock frequency of the Arduino module processor is calculated. This value is stored in the internal EEPROM memory and is used for calculations during subsequent meter starts. If, for any reason, the user wants to restore the default value of 16MHz for Arduino UNO, the ‘Calib’ button must be held down during module start-up/reset.

Reporting bugs

Create an issue on GitHub.


License

Copyright © 2025 Michal Protasowicki

Hardware

Software


Support

If You find my projects interesting and You wanted to support my work, You can give me a cup of coffee or a keg of beer :)

PayPal Direct     ko-fi     Coinbase

Parts

33
QtyValueFootprintReferences
710kfootprints:R_0603_1608MetricR1, R2, R5, R6, R7, R9, R10
4100nfootprints:C_0603_1608MetricC1, C5, C7, C9
31nfootprints:C_0603_1608MetricC2, C3, C4
210ufootprints:C_0603_1608MetricC6, C8
2Lxfootprints:4mm_Banana_Socket_Deltron_571J1, J2
1100kfootprints:R_0603_1608MetricR4
11uHfootprints:L_0805_2012MetricL1
12SC3356footprints:SOT-23Q1
12k2footprints:R_0603_1608MetricR3
1470footprints:R_0603_1608MetricR8
1470nfootprints:C_0603_1608MetricC10
174HC590footprints:SOIC-16_3.9x9.9mm_P1.27mmU2
1Arduino UNO R3 Shieldfootprints:Arduino_UNO_R3_WithMountingHoles_Profiled_no_SPIA1
1Calib.footprints:SW_Push_1P1T_NO_6x6mmSW1
1FREQfootprints:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP1
1GPSfootprints:PinHeader_1x03_P2.54mm_HorizontalJ3
1LTC8741Package_TO_SOT_SMD:SOT-23-5U1
1Logo_Open_Hardware_Smallfootprints:OSHW-Logo2_7.3x6mm_SilkScreenLOGO1
1OLED 1.3"footprints:LCD_OLED_128X64_1.3_I2CM1
1VCCfootprints:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP2

Similar boards

  • 2 layers100 × 85 mmVNA, the printed circuit board in 3D

    VNA

    profdc9/VNA

    Vector Network Analyzer based on the STM32F103C8T6 bluepill

    178 parts93
  • 2 layers70 × 31 mmRFNoiseSource, the printed circuit board in 3D

    RFNoiseSource

    profdc9/RFNoiseSource

    A RF noise source with about 2 GHz bandwidth

    58 parts9
  • 2 layers53 × 29.5 mmActiveDifferentialProbe, the printed circuit board in 3D

    ActiveDifferentialProbe

    profdc9/ActiveDifferentialProbe

    A RF Differential Probe based on the 2SC3356 transistor

    74 parts8
  • 2 layers100 × 100 mmRFUtilityKnife, the printed circuit board in 3D

    RFUtilityKnife

    profdc9/RFUtilityKnife

    Five circuits for RF work crammed onto a single PCB.

    272 parts8
  • 2 layers44.5 × 78.7 mmWalkie talkie, the printed circuit board in 3D

    Walkie talkie

    andykarpov/walkie-talkie

    A custom pcb for the original project https://vrtp.ru/index.php?act=categories&CODE=article&article=3351

    141 parts2
  • 4 layers96 × 90.2 mmTransceiver, the printed circuit board in 3D

    Transceiver

    ngrabbs/ember

    Open pvpanel.kicadpro with KiCad 10. The project contains the recovered schematic, routed PCB, project-local footprint libraries, and solar-module STEP model.

    161 parts1CC0-1.0
  • 4 layers95.9 × 90.2 mmPCI-104-Template, the printed circuit board in 3D

    PCI-104-Template

    marian1911/Proyecto-CUBESAT-TRANSPODER-VHF-UHF

    En este repositorio se guardan todos los archivos de desarrollo referidos a el diseño y fabricacion del trasnponder VHF/UHF

    128 parts
  • 4 layers66 × 155 mmWK-3, the printed circuit board in 3D

    WK-3

    zOnlyKroks/pcb-consortium

    339 partsCC0-1.0

Questions

How big is the Arduino LMeter shield PCB?

It measures 68.6 × 53.3 mm and has 2 copper layers, 1 mm thick.

What parts does the Arduino LMeter shield use?

33 parts, built around the 74HC590D and 2SC3356. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Arduino LMeter shield KiCad files?

From the michpro/Arduino_LMeter_shield repository on GitHub, at the commit this page was made from: the board is Arduino_LMeter_shield.kicad_pcb and its schematic Arduino_LMeter_shield.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Arduino LMeter shield design in my own project?

Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).