# CCS811 Driver Examples These examples demonstrate the usage of the CCS811 driver with only one sensors. ## Hardware setup Most examples use only one CCS811 sensor. Following figure shows the hardware configuration if no interrupt is used. ``` +------------------------+ +--------+ | ESP8266 Bus 0 | | CCS811 | | GPIO 5 (SCL) -----> SCL | | GPIO 4 (SDA) <----> SDA | | GND -----> /WAKE | +------------------------+ +--------+ ``` If *nINT* interrupt is used to fetch new data, additionally the interrupt pin has to be connected to a GPIO pin. ``` +------------------------+ +--------+ | ESP8266 Bus 0 | | CCS811 | | GPIO 5 (SCL) -----> SCL | | GPIO 4 (SDA) <----> SDA | | GPIO 2 <----- /nINT | | GND -----> /WAKE | +------------------------+ +--------+ ``` In examples where CCS811 sensor is used in conjunction with a SHT3x sensor, the hardware configuration looks like following: ``` +------------------------+ +--------+ | ESP8266 Bus 0 | | CCS811 | | GPIO 5 (SCL) ---+----> SCL | | GPIO 4 (SDA) <--|-+--> SDA | | GND ---|-|--> /WAKE | | | | | +--------+ | | | | | SHT3x | | | +----> SCL | | | +--> SDA | +------------------------+ +--------+ ``` ## Example description __*ccs811_one_sensor*__ Simple example with one CCS811 sensor connected to I2C bus 0. It demonstrates the different approaches to fetch the data. Either the interrupt *nINT* is used when new data are available or exceed defined thresholds or the new data are fetched periodically. Which approach is used is defined by the constants ```INT_DATA_RDY_USED``` and ```INT_THRESHOLD_USED```. __*ccs811_plus_sht3x*__ Simple example with one CCS811 sensor connected to I2C bus 0 and one SHT3x sensor to determine ambient temperature. New data are fetched peridically every 2 seconds. __*ccs811_temperature*__ Simple example with one CCS811 sensor connected to I2C bus 0. It demonstrates how to use CCS811 with an external NTC resistor to determine ambient temperature.