I'm trying to connect a Turner C-Sense pCO2 sensor to an RPi2B using an MCP3008 ADC. The probe is powered via dedicated 9V inverter. The probe's analog output wires include a signal out (+) and AGND (-). I can use a multimeter to read the voltage (0-5VDC) across the two wires, but I'm interested in having the RPi read/log the voltages.

I've completed several tutorials using the RPi/MCP3008 to connect several 10K thermistor resistors using voltage dividers, and thought I could connect this sensor in a similar way. I tried several different connection options that seemed logical to me, but only ended up with either 0 or 1023 outputs readings.

I'm using the rpi.gpio python package to communicate with the ADC and verified with a 10K thermistor that CH0 can send accurate data. So I am interested in the correct wiring configuration for the CO2 sensor's two output wires.

Edit: I think I had it working there for a minute when I connected the ADC VREF pin to 5V and grounded the sensor's AGND and ADC's AGND to a common GND pin on the RPi. I was getting variable voltage readings from the sensor. BUT the ADC got extremely HOT and the values were offset from true.

  • 2
    A photo of the connections (clearly showing the pins being used and the wires between) and a description of the connections between the Pi, the ADC, and the sensor would be helpful.
    – joan
    Sep 16, 2015 at 6:40

2 Answers 2


If the ADC has become very hot, then it might have been damaged by the circuit. Check the wiring diagram and then try using a fresh ADC.

Not sure why you are using the gpio library rather than spidev. However, if it was working and now is not, it is probably just a dead ADC.

  • I rewired the circuit and got the system to work without overheating the ADC. Would you like to make a case for spidev over gpio?
    – Laaaars
    Sep 16, 2015 at 15:21
  • You don't say how you are talking to the ADC. Given that you are using RPi.GPIO and not spidev I guess you are using a bit bang approach. Generaly people only bit bang SPI if they can't achieve what they want with the standard drivers. Perhaps the tutorial you are following pre-dates the availability of the SPI driver.
    – joan
    Sep 16, 2015 at 17:22

The cause of over-heating mostly be passages of excess voltage through the ADC and so it is a sign that the ADC is getting damaged. To connect he CO2 gas sensor using ADC, you can use ADC081C For Python sample code, click here

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.