Sunday, December 27, 2015

Raspberry Pi - A List of ADC Raspberry Pi Hats / Add-on Modules.

A list of ADC Raspberry pi Hats / add-on modules.  I will be doing another list of modules that are not hats but can be connected to the pi.

First a breakdown of what resolution and/or sample size mean.  If you see 8 bit, 10 bit, 12 bit etc you can find out the amount of samples by 2^(bits).  so 8 bit would be 2^8 = 256 samples.  So if you have 0 - 4.096v inputs and you are reading and you are reading wind speed 0-100kph.
4.096v = 20 m/s and
0 = 0 m/s (even if the threshold on making the anemometer spin is 0.5m/s)
so if the wind is blowing at 10m/s you would have an analog value of 128
you can take this equation  ((20-0)*125/256)+0.

Here's a break down of the conversion:

MaxR = max wind speed
MinR = min wind speed
ADCin = analog input from anemometer
ADCm = max sample/ resolution size of your ADC

Scaled analog = ((MaxR - MinR) * ADCin/ ADCm)+MinR

  • 8 Bit   has      256 samples
  • 10 bit  has   1,024 samples
  • 12 bit  has   4,096 samples
  • 14 bit  has 16,348 samples
  • 16 bit  has 65,536 samples 
  • 18 bit  has 262,144 samples 
  • and on and on..
Keep in mind that higher might be better but not always.  It depends on noise, sensor quality and other factors.  

Sadly the list below yields nothing less than $10 for an add-on module.. If you wanted to use the PiZero and a module it wouldn't be cost efficient.  Maybe a reader can help kickstart some simple cheap one purpose pi-zero hats such as an ADC for iot.  This left me to try other options possible a esp8266 (has a single 10bit analog input) or a Photon (~$20 and has 8 Analog inputs 12 bit).  There are some none add on modules that are i2c/spi connectable if you don't care to engineer your own enclosure/setup.

Here's an example $3/module and tiny for pi-zero happiness :-) 

Raspberry Pi Data Acquisition and Controller Pi-Plate 


  • 8 Analog 10bit inputs
  • 2 Analog 10bit outputs
  • 7 open collector outputs @350mA
  • 8 digit inputs

Puuli ADS1256 DAC8552 Expansion Board 


  • 8 Analog 24bit inputs
  • 2 Analog 16bit outputs

Analog to Digital Shield for Raspberry Pi


  • 4 Analog 10bit
  • I/O Breakout for Raspi pins (setup link)


  • 8 Analog 17bit  inputs 0-5v
  • Up to 4 Stackable 

ADC Pi Plus


  • 8 Analog 17bit inputs 0-5v
  • Up to 4 Stackable 



Abio model A


  • 8 Analog 12bit inputs 0-4.096v
  • 16ch 8 bit PWM output

AD/DA Expansion Board


  • 4 Analog 8bit inputs or outputs (pin setting)