Search Criteria


Products meeting the search criteria

Sort By:  
Adafruit ADS1015 12-Bit ADC (ADS1015 12-Bit ADC)

The Raspberry Pi does not feature an Analog-to-Digital Converter (ADC), so if you want to measure analogue singals, you'll need this 12-Bit ADC!

The Adafruit 4-Channel I2C 12-Bit ADC is a high-precision ADC and features the ADS1015 chip, which provides 12-bit precision at 3300 samples/second over I2C. The chip can be configured as 4 single-ended input channels, or two differential channels. As a nice bonus, it even includes a programmable gain amplifier,with up to x16, to help boost smaller single/differential signals to the full range. We like this ADC because it can run from 2V to 5V power/logic, can measure a large range of signals and its super easy to use. It is a great general purpose 12 bit converter. 

The chip's fairly small so it comes on a breakout board with ferrites to keep the AVDD and AGND quiet and interfacing is done via I2C. The address can be changed to one of four options (see the datasheet table 5 in downloads below) so you can have up to 4 ADS1015's connected on a single 2-wire I2C bus for 16 single ended inputs. 
To get you started, we have example code for the Raspberry Pi - Simply connect GND to ground, VDD to your logic power supply, and SCL/SDA to your microcontroller's I2C port and run the example code to start reading data.
The Adafruit 4-Channel I2C 12-Bit ADC Features:
  • Wide Supply Range: 2.0V to 5.5V
  • Low Current Consumption: Continuous Mode: Only 150µA Single-Shot Mode: Auto Shut-Down
  • Programmable Data Rate: 128SPS to 3.3kSPS
  • Internal Low-Drift Voltage Reference
  • Internal Oscillator
  • Internal PGA
  • I2C Interface: Pin-Selectable Addresses
  • Can run from 2V to 5V power/logic
  • Measures a large range of signals and is super easy to use.
  • 12-bit precision at 3300 samples/second over I2C.
  • Configurable as 4 single-ended input channels, or two differential channels.
  • Includes a programmable gain amplifier, up to x16, to help boost up smaller single/differential signals to the full range.
  • Breakout Board equipped with ferrites to keep the AVDD and AGND quiet


Four Channel ADC Breakout

Example Code for the Raspberry Pi

R249.90  Inc VAT
10-bit ADC (SPI) MCP3008 - 8 Channel (10-bit ADC 8 Channel)

The Raspberry Pi is a great computer but there's just one thing that most hardware hackers will find missing: a few inputs for connecting analog sensors. This is where the MCP3008 chip comes in handy, with eight 10-bit channels accessible over SPI. Thanks to the Raspberry Pi's SPI interfaces and its two 'Chip Select' pins available off of the main GPIO connector, the problem is solved.


  • 10-bit resolution
  • ± 1 LSB max DNL
  • ± 1 LSB max INL
  • 8 input channels
  • Analog inputs programmable as single-ended or pseudo-differential pairs
  • On-chip sample and hold
  • SPI serial interface (modes 0,0 and 1,1)
  • Single supply operation: 2.7V - 5.5V
  • 200 ksps max. sampling rate at VDD=5V
  • 75 ksps max. sampling rate at VDD=2.7V
  • Low power CMOS technology
  • 5 nA typical standby current, 2 µA max.
  • 500 µA max. active current at 5V
  • Industrial temp range: -40°C to 85°C


  • Sensor Interface
  • Process Control
  • Data Acquisition
  • Battery Operated Systems


The following sample assumes that you're running the latest official Raspbian distribution, that you're logged in as root and that you haven't yet customized Raspbian to use SPI from a Python script. By default, the kernel module managing SPI communications is not loaded on Raspbian, so let's ensure that the 'spidev' device is available.

[email protected]:/# lsmodModule                  Size  Used by  snd_bcm2835            12808  0  snd_pcm                74834  1 snd_bcm2835  snd_seq                52536  0  snd_timer              19698  2 snd_seq,snd_pcm  snd_seq_device          6300  1 snd_seq  snd                    52489  5 snd_seq_device,snd_timer,snd_seq,snd_pcm,snd_bcm2835  snd_page_alloc          4951  1 snd_pcm  

If 'spidev' device is not listed, we need to remove it from the kernel module 'blacklist' so that it's automatically loaded on the next boot:

[email protected]:/# nano /etc/modprobe.d/raspi-blacklist.conf  

Put a hash character in front of the 'blacklist spi-bcm2708' statement and save the file:

#blacklist spi-bcm2708  

then, manually load the SPI device:

[email protected]:/# modprobe spidev  

The command should just complete without returning an error. Validate the list of modules:

[email protected]:/# lsmod  Module                  Size  Used by  spi_bcm2708             4401  0  spidev                  5136  0  snd_bcm2835            12808  0  snd_pcm                74834  1 snd_bcm2835  snd_seq                52536  0  snd_timer              19698  2 snd_seq,snd_pcm  snd_seq_device          6300  1 snd_seq  snd                    52489  5 snd_seq_device,snd_timer,snd_seq,snd_pcm,snd_bcm2835  snd_page_alloc          4951  1 snd_pcm  

The 'spidev' device should now be available.

Next, install the 'git' package. It will be needed to install other packages from Github.

apt-get install git-core  

Install the 'python-dev' package. It will be needed to compile the 'py-spidev' package.

apt-get install python-dev  

Download and compile the 'py-spidev' package.

[email protected]:/# cd /home  [email protected]:/home# git clone git://  [email protected]:/home# cd py-spidev/  [email protected]:/home# python install  

At this point, SPI is available from Python 2.7. Assuming that you have wired the MCP3008 to the Raspberry Pi's SPI bus using CE0 as the 'chip select' pin, you can read all eight analog inputs using the following Python script.

[email protected]:/home# nano  

Paste the script below in the editor and save it.

import spidev  import time    spi = spidev.SpiDev(),0)    # read SPI data from MCP3008 chip, 8 possible adc's (0 thru 7)  def readadc(adcnum):          if ((adcnum > 7) or (adcnum < 0)):                  return -1          r = spi.xfer2([1,(8 adcnum)<<4,0])          adcout = ((r[1]&3) << 8)   r[2]          return adcoutwhile True:          for adcInput in range(0,8):                  print "ADC(", adcInput,")=", readadc(adcInput)          time.sleep(1)  

To execute the script

[email protected]:/home# python  

Sample output using a 10K Ohm trimpot connected to the ADC's pin 3 and all other pins pulled down to ground using a 10k resistor.

ADC( 0 )= 0  ADC( 1 )= 0  ADC( 2 )= 0  ADC( 3 )= 507  ADC( 4 )= 0  ADC( 5 )= 0  ADC( 6 )= 0  ADC( 7 )= 0  

Credits go to Jeremy for his work on the 'py-spidev' Python module which makes working with the MCP3008 straight forward. Alternatively, checkout wiringPi's SPI functions if you prefer using a 'C' API.

Related Tutorials & Samples

R45.90  Inc VAT
3.3V ADS1115 ADC Module for Raspberry Pi 3/2 / B I2C RPI ADS1115 ADC Analog to Digital Converter (ADS1115 ADC Module for RPi)

RPi-ADS1115-ADC Module is a precision analog-to-digital converter (ADC), one of them ADS1115 Is able to offer 16Bit sampling accuracy of the chip, using a very small sizeMSOP - 10Package.

Data passed I2C Compatible serial interface for transmission, owned 4 road I2C Address can be selected, work power only need3.3VYou can. Its main function is that it can be used to detect analog signals and convert them to digital signals.

You can put analog signals on joysticks or other analog sensors such as NTC, Temperature, dust sensors and other equipment through this RPi-ADS1115-ADC Module access raspberry faction, through the raspberry dispatch device to collect the analog signal.




65.0 mm 30.0 mm 18.0 mm

Operating voltage


Analog input voltage


Programmable data rate

8 sps To 860 sps

internal PGA

stand by


Sampling accuracy

16 Bit

I2c interface

Select the address by pin

Number of channels

4 Single-ended or 2
Differential input

Programmable Comparator (PGA)

2/3 ~ 16

internal NTC

R245.90  Inc VAT
HAT - Grove Base for Raspberry Pi (RPi grove base HAT)

Today, the grove series of sensors, actuators, and displays have grown into a large family. More and more grove modules will join the whole Grove ecosystem in the future. We see the Grove helps hundreds of thousands of makers, engineers, teachers, students, and even artists to learn, to make, to create... Now we bring you the Grove Base Hat for Raspberry Pi to make the Grove module compatible with more platforms. In another word, we bring the Raspberry Pi the whole Grove System.

The Grove Base Hat for Raspberry Pi provides a Digital/Analog/I2C/PWM/UART port to meet all your needs. With the help of the build-in MCU, a 12-bit  8 channel ADC is also available for Raspberry Pi. Currently, more than 60 groves have supported the Grove Base Hat for Raspberry Pi.

Compared with Grove Pi , the Grove Base Hat for Raspberry Pi does not use the ATMEGA chip for data conversion, so it runs faster. We provide the Raspberry Pi driver for Grove Base Hat for Raspberry Pi. What's more, Grove Base Hat for Raspberry Pi is much more cost-effective. In other words, we lowered the threshold for using the grove series on the Raspberry Pi. We hope you like it, enjoy :D


  • GPIO:
    The same pinout as the raspberry pi.
  • PWM(pulse-width modulation):
    The Grove PWM Port connects to GPIO/BCM pin12(PWM0) and GPIO/BCM pin13(PWM1), which is the hardware PWM pin of Raspberry Pi, in addition, you can use all the GPIO pins as the soft PWM pin.
  • UART: 
    The Grove UART port connects to the GPIO14(UART0 TX) and GPIO15(UART0 RX). UART is commonly used on the Pi as a convenient way to control it over the GPIO or access the kernel boot messages from the serial console (enabled by default).It can also be used as a way to interface an Arduino, bootload ATmega, ESP8266, etc with your Pi.
  • Digital: 
    There are 6 digital Grove sockets in this board, normally the yellow wire(which connect to the top pin of the 4 pins Grove socket as) of Grove cable is the signal wire, so we name the digital Grove port D5/D16/D18/D22/D24/D26.
  • Analog: 
    As we know, there is no ADC in the Raspberry Pi, so it can not work with analog sensors directly. Now with the help of the build-in MCU STM32, the Grove base HAT can work as an external 12-bit ADC, which means you can use the analog sensor with your Raspberry Pi. Even more pleasing is that not one but four analog Grove sockets are available.
    The analog sensor inputs the analog voltage into the 12-bit ADC. After the ADC converts the analog data to digital data, it input the digital data to the Raspberry Pi through the I2C interface.
  • I2C: 
    There are three I2C ports available in this board, they all connect to the I2C pin of the raspberry directly. You can consider this part as an I2C hub. Most of Seeed's new grove modules have an I2C interface, you may find those I2C three ports are extremely useful.
  • SWD: We use the SWD port to burn the firmware to this hat. In addition, you can see 3 GPIO pins in this section, i.e., pin 9/pin 10/pin 11. Those three pins do not use by any Grove port, you are free to use them without worrying about pin conflicts.


  1. All the silkscreen layer pin number beside the Grove port is the BCM pin number. The difference between BCM pins and the physical pins please refer to here.
  2. Compared with hardware PWM, the software PWM isn't so accurate and will have trouble at high frequencies.
  3. The GPIO/BCM pin18 is also marked as PWM0. The GPIO/BCM 12 and the GPIO/BCM 18 share the same PWM channel, so they can't be set to different rates.
  4. The audio jack output also uses PWM 0 and PWM 1, so you can't have an audio output on that socket and use the PWMs at the same time.
Features and specifications:
  • Support Raspberry Pi 2B, 3B, 3B and 4
  • build-in MCU
  • 12-bit ADC
  • Multi-type Grove port
  • Operating Voltage: 3.3V
  • MCU: STM32/MM32
  • ADC: 12-bit 8 channel
  • Grove Ports:
    • 6 x Digital
    • 4 x Analog
    • 3 x I2C
    • 1 x PWM
    • 1x UART
  • Raspberry pi communication bus: I2C
  • I2C Address: 0x04/0x08


Packing list:
  • 1 x HAT - Grove Base for Raspberry Pi

R289.90  Inc VAT
Grove Base Kit for Raspberry Pi (grove base kit for pi)

The Grove Base Kit for Raspberry Pi is one of the best kits for beginners to get started with Raspberry Pi. No troublesome soldering and no complicated wiring. You can focus on learning Raspberry Pi. This kit includes a Grove Base Hat for Raspberry Pi and 10 Grove modules, which covering the sensor, actuator, and display. All you need to do is following the demo, plug the module into the Grove Base Hat, truly plug and play.

On top of that, we have provided you with detailed instructions on the use of Raspberry Pi and the use of each module, which including 8 lessons for the module. Just click the wiki to view the user manual. Also, you can check the video guide here, which will tell you how to use this kit step by step.

All in all, whether you are a student, teacher, artist, hardware enthusiast, and so on, with the help of the Grove Base Kit for Raspberry Pi,  you will get to know Raspberry Pi quickly and comprehensively.

For all Grove users (especially beginners), we provide you guidance PDF documents. Please download and read through Preface - Getting Started and Introduction to Grove before your use of the product.


  • A great kit for Raspberry Pi beginner to get started
  • With Grove modules, no wiring is necessary
  • Plug and Use module
  • Include 10 Grove modules and a Grove base for Raspberry Pi

Now the kit comes with the Grove Base Hat for Raspberry Pi, making Raspberry Pi compatible with the Grove System.

The Grove Base Hat for Raspberry Pi provides Digital/Analog/I2C/PWM/UART port to meet all your needs. With the help of build-in MCU, a 12-bit 8 channel ADC is also available for Raspberry Pi.

Grove Base HAT Features:

Packing List:

  • 1 x Grove Base Hat for Raspberry Pi
  • 1 x Grove - Red LED Button
  • 1 x Grove - Buzzer
  • 1 x Grove - Moisture Sensor
  • 1 x Grove - Temperature & Humidity Sensor (DHT11)
  • 1 x Grove - Light Sensor
  • 1 x Grove - mini PIR motion sensor
  • 1 x Grove - Ultrasonic Ranger
  • 1 x Grove - Relay
  • 1 x Grove - Servo
  • 1 x Grove - 16 x 2 LCD (White on Blue)


R799.90  Inc VAT
Per Page      1 - 5 of 5
  • 1