Issue: CO2 Sensor Does Not Work When Using Ethernet Shield

Hi all --

I'm using the following pieces of hardware and attachments:

-- Arduino Uno R3 ( Arduino Uno Rev3 — Arduino Official Store )
-- K30 CO2 Sensor ( K30 10,000ppm CO2 Sensor | )
-- Ethernet Shield ( Arduino Ethernet Shield 2 — Arduino Official Store )

For background I'm a medical marijuana caregiver, and I'm trying to monitor the CO2 in my grow room. We set this up once before and it worked fine, but recently the unit stopped relaying all data to our online server, which promoted us to replace the hardware and now we're unable to get readings from the CO2 sensor.

Right now, if we plug the sensor directly into the Uno (WITHOUT the ethernet shield) we get readings as expected. However, once we connect it through the ethernet shield, we get only a negative reading of "-203".

We have tried multiple Uno boards and multiple ethernet shields, as well as every pin combination. Does anyone have an idea as to what we're missing on this new setup which is preventing us from getting CO2 readings through the ethernet shield?

I followed this website for the code etc.

  Reports values from a K-series sensor back to the
  written by Jason Berger 
#include "kSeries.h"
   //include kSeries Library 
kSeries K_30(6,7);  //Initialize a kSeries Sensor
void setup()  
  Serial.begin(9600); //start a serial port to comm
  Serial.println("Serial Up!"); 
void loop()  
  double co2 = K_30.getCO2('p'); //returns co2 valu
  Serial.print("Co2 ppm = "); 
  Serial.println(co2);          //print value 
  delay(1500);                  //wait 1.5 seconds 


Hi AP,

I hope I can solve the issue.

May I know how you connect your K30 sensor? They recommend using an individual power source with minimum 5V.

I guess your K30 sensor had some irregular reading because you add another Ethernet shield and it consumes a little bit more than usual. As a result, K30 does not have enough power and generate wrong result.

You can check the document from co2meter here -

Let me know if it helps because I have similar experience even without the ethernet shield. :confused:

I agree. I have a similar CO2 sensor and it doesn't start if Arduino get power from a computer USB.

Hi zoomx,

Would you mind telling me how you connect your K30 with Arduino successfully? I have tried using individual power source - 5V battery pack but still the same -203 reading from sensor.

Please drop me a line if you have any suggestions.


My model is not a K30, is a S300
I connected it successfully only when I use an external power unit, using computer USB doesn't work.

Thank you, zoomx. Nice to know what you are using for the same purpose sensor.