Can a cheap RTL-SDR (with suitable software) plus a variable frequency digital output (for noise or square wave generation) be used to construct an inductance meter suitable for measuring values in and around the range of 0.01 to 0.1 uH?

Are other even lower-tech methods (plus a computer or micro-controller) possible (e.g. programmable digital output and a simple A/C voltmeter, etc.)

  • \$\begingroup\$ This question is related to the inductor values suggested in an answer to this question: electronics.stackexchange.com/questions/293213/… \$\endgroup\$
    – hotpaw2
    Mar 18 '17 at 19:37
  • \$\begingroup\$ A frequency counter is probably simpler. \$\endgroup\$ Mar 18 '17 at 21:16
  • \$\begingroup\$ True, but an RTL-SDR is cheaper, and a random schoolhouse or garage workbench is more likely to have a PC with USB than a frequency counter. Also, to use the counter, one has to know how to build an oscillator using the inductor, and possibly how to build an output buffer circuit as well (as opposed to an unpowered tank circuit). \$\endgroup\$
    – hotpaw2
    Mar 18 '17 at 21:28

I came up with this simple idea for someone with no instruments other than a PC to use as a stop watch. Using NPO cermaic caps and small inductors, this is a fairly reliable oscillator that ought to be connected with short leads.

  • Insert L 500nH with short leads.
  • two 1000pF NPO/COG ceramic caps
  • NPN any General Purpose (e.g. PN2222A )
  • 3.6V LiPo or 5V regulator with decoupling caps.
  • two 74HC4060 CMOS ripple counters (not CD4060)
  • LEDs and R's for clock timing with stopwatch or PC timer.

    If you need help figuring out L from the C value and binary divider, just ask. ... Q13 means 14th stage or divide by 2^14 or 16,384. You could use decade counters as well. Two such counters cascaded is 2^28 or /268,435,456. enter image description here This was just a quick and dirty solution.

The transistor Colpitts Oscillator works to over 100MHz may saturate and is not a pure sinewave but can be tweaked with the series R to prevent saturation (harmonics)

Using a known L value 1% and measure timer interval for 1% accuracy around 100 seconds.+/-1 thus 500nH with 1000pF (/2) gave me 10MHz so /268,435,456 = 26.8 second cycles. The biggest limitation is the max clock speed of the 1st CMOS counter, usually around 25MHz at 3.6V or 85MHz at 5V.

  • \$\begingroup\$ Simulation tinyurl.com/lv6pywr \$\endgroup\$ Mar 18 '17 at 21:30
  • \$\begingroup\$ This basic idea might even work with a Raspberry Pi or PC instead of the ripple counters. If one can keep the oscillator frequency below 20 MHz, a Pi can reportedly sample a GPIO input pin at close to 40 MHz, and thus count oscillator periods in software over some sufficiently long period. \$\endgroup\$
    – hotpaw2
    Mar 18 '17 at 21:40
  • \$\begingroup\$ You can also convert this osc to a simple mono FM transmitter with a varicap diode. AC coupled to the osc. input. \$\endgroup\$ Mar 18 '17 at 21:44
  • \$\begingroup\$ Tony, quite nifty! hotpaw, I don't know the SoC on a Pi overly well, but many controllers have a PWM unit that can actually be used as a frequency counter, so that you wouldn't sample the input, you'd instead get an info about how many edges occured during the last PWM unit's period. \$\endgroup\$ Mar 18 '17 at 21:51

measuring values in and around the range of 0.01 to 0.1 uH?

they are generally difficult to measure due to stray capacitance / inductance.

one approach is to find its oscillation frequency. two ways:

1) build a tank / oscillator around it and measure the frequency output; a grid dip meter could be useful here as well.

2) drive the dut + variable capacitor with a fixed oscillator (a crystal oscillator for example).

edit: I thought i would expand on the 2nd approach, since there seems to be some interests in it.

essentially, you want to drive a l/c tank with a source of known frequency, taking advantage of the fact that at resonance, the current through the tank is the least - the same as you would see in a grid dip meter.

conceptually, here is how it works: enter image description here

L1 is our DUT, C1 is our variable capacitor, and R1 is the current sampling resistor. V1 is the oscillator. The chart shows the current through R1, which reaches its lowest at resonance frequency of 16Mhz.

there are a few ways to implement this:

1) oscillator: it could be a regular crystal oscillator, or a signal generator, or a divider / counter like 4060 - which is what I used;

2) R1: you can put a scope across it; or a RF meter, or a regulator uammeter + diodes.

3) L1/C1: one of this should be calibrated and then other is the DUT.

4) L1 alone: if there is just L1, no C1, you can couple L1 to any L/C tank (like an RF reader) and this would be a single frequency grid dip meter.


all sorts of ways to do it.


Typically, I'd assume you'd build an oscillator from your inductance – for example, by combining it with a capacitor and something with feedback – and then observe the frequency at which that oscillates. That would work.

You can of course also build a filter out of your inductivity and a cap or resistor, sweep the input and look for a peak in amplitude response – while that sounds like more work, because you'd need the adjustable frequency source, it certainly will leave less uncertainties (what with the parasitic reactive and capacitive elements in said oscillator?).

Note that the RTL-dongles are of course also uncalibrated, and there's no way the gain of the receive chain is the same when tuned to different center frequencies, so a clever way of overlapping and continously correcting relative amplitudes is absolutely necessary in software.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.