Arduino Voltage Sensors let you:
Arduino Voltage Sensors are extremely useful for reading analog
outputs in a circuit, converting an analogue signal into a digital
representation of that signal.
You can do all manner of interesting things once you have that
signal. For instance reading of temperature, current and light sensors.
You can even process audio signals after processing the analogue signal
from an Electret microphone.
The Arduino microcontrollers all have an in-built
ADC (Analogue to Digital Converter) which, for most applications, is
entirely suitable. However, sometimes you may need better resolution than the internal
ADC can provide. You may want to get a noise free reading, or you simply need a more accurate result.
You can do all of these things by using an external
ADC, where you can control the ground plane and even cover the ADC in a
metal shield box to eliminate noise from other parts of the circuit.
As a first step with Arduino voltage sensors, you can buy many
different ADC conveniently fitted onto a breakout board to
easily connect to the Arduino microcontroller. Most modern ADCs come
packaged in surface mount chips so a breakout board lets you test them
without creating a PCB.
The Arduino Uno built in ADC is a 10-bit Successive approximation ADC
and can make an analog reading in 104us. Since it is built-in and has
quite good resolution and accuracy it is used extensively in Arduino
There are 6 ADC microcontroller input pins (on the Arduino Uno)
that allow an ADC
reading. Other processors may have a different number of analog input
pins. Each pin is multiplexed to the input of the ADC inside the chip
so you can read each one in turn to read the analogue signal at the
Click here to go to the "Arduino ADC" page.
The PCF8591 is an 8-bit ADC with 4 input channels, and uses a serial I2C interface limited
to an I2C speed of 100kHz which means the real sample rate is not
the claimed 10kHz but below 2kHz.
However, it has a DAC output capability and can use the 4 inputs as 2
true-differential inputs. So, for lower sample rate use it is useful.
The differential input is useful for eliminating noise on the
inputs (see comment about differential inputs with the ADS1115 on this
page -it applies to this chip as well).
Click here to go to the "PCF8591" page.
The MCP3008 is a 200ksps 10-bit ADC with 8 input channels, and uses a serial SPI interface that can operate up to 3.4MHz.
The sample rate is determined by the SPI clock and also how fast
the processor can read the device (and process the information) so you
won't get the claimed 200ksps sample rate. In fact it can be a lot lower
- however you can choose a faster processor to increase speed - see the link to find out more.
There is a Pseudo differential input capability that is really only
useful for eliminating small d.c. offsets (not for eliminating dynamic
Note: Unlike the PCF8591 above, the SPI interface can run fast so the sample rate is only limited by the processor speed.
Click here to go to the "MCP3008" page.
Have your say about what you just read! Leave me a comment in the box below.
Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.