Tool/software:
Hello TI Team,
I have interfaced the CO sensor and the photoelectric smoke sensor with the AFE TPS8802EVM.
As per the datasheet, I configured the I²C registers for both the CO and smoke sensors.
CO-Specific I²C Register Configuration:
i2c_write_data(i2c_dev, TPS880X_REG_GPIO_AMUX, 0x12); //Smoke: AOUT_PH (0x22) , CO: COO (0x12) i2c_write_data(i2c_dev, TPS880X_REG_CO_BATTEST, 0xF0); //COSWRG = 1, COSWREF = 1 i2c_write_data(i2c_dev, TPS880X_REG_CO_REG, 0x09); //COAMP_EN = 1 , gain = 1100kohm (default)
To read the CO and smoke sensor outputs, I updated the value of the TPS880X_REG_GPIO_AMUX register (0x0B) with the corresponding signal selection:
- Smoke (Photoelectric): AOUT_PH (0x22)
- CO Sensor: COO (0x12)
Could you please help me clarify the following queries:
1) How can we accurately convert the ADC readings to PPM (Parts Per Million) levels for CO concentration? I refer to the Dual ray code, but I can not find any conversion logic from CO ADC to PPM level, as you mentioned in Application Note

2) Upon initializing the I²C and beginning CO data capture, the ADC reading for CO spikes to 1312 and then gradually decreases to around 230 within approximately 20 seconds then after its stable 230-250. Is this an expected sensor behaviour or not?
Looking forward to your guidance.
Thanks & Regards,
Pratik Panchal