We are working on developing an industrial refrigeration system. The RPi seemed like a good choice based on its ability to run Python and the number of I/Os. We need a fairly large number of sensors (temperature, pressure, flow) and many of these are analog.

I have been working on developing an ADC board based on the TI ADS1115. It would seem, however, that someone else may have solved this problem already. Does an input module that takes analog voltages and currents and outputs them onto I2C exist? I know that similar modules exist for PLCs (with RS232, MODBUS, etc output), but does a similar thing exist for I2C?


3 Answers 3


Adafruit offers breakout boards based on the family of chips you are considering (ADS1015, ADS1115). They even have some nice code examples for Raspberry Pi.

The most common solution seems to be the MCP3008 chip, which doesn't need any special circuit to work (This is why there aren't many breakout boards for this one, although you may find some).

Update: For a 16-bit enclosed solution you could use a raspberry pi compatible USB DAQ device such as the ones from MCC (USB-1608G Series) or the LabJack U6, althought these are usually more expensive and offer a limited ammount of input channels.

Also here is a shield for LTC2499 chip (24 bit, 16 channel ADC). Note that this one works with 5V so you would need to use a logic level converter or an arduino board (or another uC) to handle it.

  • Note that the ADS1115 only has four inputs whereas an MCP3008 has eight, so that should be taken into consideration.
    – stevieb
    Jun 29, 2017 at 13:47
  • Thanks for the suggestion. We have been using the ADS1115, but I was hoping there was something pre-built (with an enclosure and all). The MCP3008 will not work well, as we need 16-bit resolution. Jun 29, 2017 at 14:41

Depending on your data sampling needs, you may want to consider an SPI bus solution. I2C is limited to 400 kHz, while SPI is only limited by the physical hardware and can get over 1 MHz.

Yes there are commercially available boards that will do what you want. I recommend using the following search words: Raspberry, pi, analog to digital, hat.

The keyword hat helps find boards that are "plug-n-play" ready for the RPi.

  • Thanks. In this application resolution is more important than speed. I will look into the hats and see if I can find anything. Jun 29, 2017 at 14:43

ADS1115 is a good option but if you want to connect a lot of analog sensors it won't be a good solution. it has 4 analog input channels and only one address line. so max analog sensors you can connect is 8. You can use MCP3428.

  1. its ADC resolution is 16 bit

  2. works in single ended and differential mode

  3. in built gain control
  4. in built vref ( 2.048V)
  5. has 2 address lines with floating address, so 9 MCP3428 can be connected with one I2C master. this will give you 36 ADC inputs.

A lot of pressure, flow meters works at 13-24V DC and the analog output voltage of these sensors is like 0-10V DC. if you have these kinds of sensors then you will need to look into ADC boards which can support 0-10V ADC in voltage. Here is a board from "Controleverything.com' which can read 0-5V/0-10V DC and has 12 Channels. 12 Channel 0-10V ADC input

You can connect this board directly with raspberry pi using this Raspberry Pi i2c shield

Both of these board are "plug and play" you can connect them with Pi just by using a simple I2C cable.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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