Hello everyone,
I’m trying to read a CO₂ sensor (I2C address 0x68) using Arduino, but I’m having issues. The sensor seems to be “asleep” or unresponsive: the infrared LED inside the sensor does not turn on, and all readings return 0.
This is the code I have been using successfully before, but after leaving the system disconnected for a while, it stopped working. I haven’t changed anything.
Problem: The sensor never wakes up, and I always get 0 as the CO₂ reading. The IR LED inside the sensor is off.
Has anyone experienced this with the ICB-F CO₂ sensor? How can I properly wake the sensor and get readings? Any advice or working example code would be greatly appreciated.
Could be a bad wiring connection. First, try the I2C address scanner program and see if it detects the device. If not, try rewiring, with different connectors.
In the past, when I uploaded the code and connected the sensor, the red IR LED inside the sensor always turned on. Now it doesn’t light up at all.
I’ve checked the power supply and the sensor is receiving 11 V, and all the pins are properly soldered.
I also verified that the sensor’s I2C address (0x68) is detected by the Arduino, so communication seems to be established.
I believe the issue might be related to the sensor being in sleep mode, and maybe there’s a missing command in the code to “wake up” or “turn on” the sensor.
A few months ago, the same setup and code worked perfectly, but after leaving it disconnected for a while, it no longer measures anything.
As mentioned, the UART RX and TX connections are 3.3V only. It seems likely that you have permanently damaged the sensor by connecting it to 5V I/O pins on the Arduino.
I’ve checked the power supply and the sensor is receiving 11 V
shows the Arduino 3.3V regulated output connected to the 3.3V regulated output of the sensor, and no other power supply connection. I would not expect that to work.