Inductive Sensors for Arduino

Does anyone have any experience using inductors as input sensors for an Arduino?

Many, many years ago . . . no doubt back when Hobbits lived in middle earth; Radio Shack published a great little series of books for electronic experimenters called, Engineer's Mini-Notebooks that were written by Forest M. Mims II who is a prolific writer on hobby electronics.

One of the most interesting projects (the Science Experiments book) was a simple seismograph that used a magnet suspended over a telephone pickup as a sensor for a small circuit comprised of two 741 op-amps running on a +9/-9 power supply. I built this device sometime ago and had very interesting results with it.

Although I could use an Arduino to measure, the output signal (0-14 VDC) from the seismograph as I still have the original circuit. I would like to rebuild the device from the ground up, using an Arduino for both processing the incoming signal from the inductive sensor and the Analog-to-Digital-Converter (ADC).

This would help to better utilize the Arduino's capabilities than just using it as an ADC interface between the seismograph and a PC .

However, I am a little cautious about simply attaching the inductive pick-up to the Arduino's analogue inputs.

I had thought about using the inductor with a capacitor to create a tank circuit, but am not sure if that is the correct route to take. Another possibility might be to use the inductor in an R/C network to adjust the frequency of a 555-based oscillator, but once again, this adds complexity to the exercise.

So does anyone have any suggestions on how to use a variable inductive coil as a sensor for an Arduino?

just an idea, but couldn't you drive a transistor with the inductor? what about a 5v zener diode? as i said, just ideas, i'm not sure of their suitability.

Just use the inductor as an input, but use protection:-

There are two main concerns you have to deal with before wiring anything up to the Arduino. First be aware of the voltage limits of the Arduino's analog input pins. 0 to +5vdc only, no negitive voltages allowed and no voltages over +5vdc allowed, without possible damage to the chip.

Second is the sampling speed limits of reading analog input values. Probably fast enough to pick up vibration signals but there is a limit of both voltage and frequency resolution and information you can recover from a analog signal.

Low level signal are best processed by external op amp circuits and some times AC signals are better delt with by external rectification and filtering and letting your sketch deal with as a DC value.

Good luck, and yes those Mim booklets were great and responsible for getting many interested in DIY electronics.


Hey Grumpy_Mike,

thanks for the link to the de-coupling tutorial. The most amazing thing was that the information was extremely well presented and actually made sense.


Thanks for the informed information about Arduino limitations in processing these kinds of signals and doing the ADC functions.

Based on my current understanding, I will modify the original op-amp circuit to limit the output and provide protection to the Arduino analogue inputs to stay under the 5 VDC limit.

If the coils put out a very low signal (assuming you remove the op amps), then you can make their signal stay above 0V by putting one or two AAA batteries (or a clean low voltage power supply) in series with the coil. Then your “0V” point becomes about 3VDC and the changes in the coil output will either raise or lower that value. Just be sure you’re not shorting out the batts across the coil.

In the simplest terms, the batt ‘-’ will go to ground, ‘+’ will go to one lead of the coil, and the other lead of the coil will go to the analog input pin on the Arduino.

Thanks koyaanisqatsi for your input, I will experiment with your suggestions tonight.

I received my copy of Nuts and Volts in the mail today and it includes a article on making a Inductive proximity sensor.


Thanks Lefty . . . I'll try to pick up the issue tonight on my way home.