This the Telaire T6713 / T67XX a Carbon Dioxide CO2 sensor for indoor air quality, energy saving application, control of ventilation, environmental purpose, farming, and clinical instrumentation. The T67XX is already factory calibrated sensor than can measure the concentration level of CO2 up to 0 to 500 ppm range at accuracy of 400 to 5000 ppm +/- 30 ppm ± 3 % of data acquisition and runs at 4.5v ~ 5.5vdc and support i2c communication, UART protocol. This device has integrated a Non Dispersive Infrared (NDIR), gold plated optics diffusion sampling with self-calibrated algorithm. For testing we will going to use a Arduino Nano Microcontroller. However the T67XX also tested in ESP32/ESP8266, STM32, AVR, and Modbus. For more readings please refer to the product datasheet below.
Required Components
- Arduino IDE | Atmel Studio | Energia
- Microcontroller – Arduino, NodeMCU, Teensy Board, TeensyDuino, ESP8266 12, 12E, ESP32, LinkItOne, ESP8266 NodeMCU, ESPDuino, ATMEGA328 16/12, ATMEGA32u4 16/8/ MHz, ESP8266, MSP430 ,ATMEGA250 16 MHz, ATSAM3x8E, ATSAM21D, ATTINY85 16/8 MHz, Note: The Diagram below is using NANO. (please refer to each MCU’s respective pin-outs & bus configurations)
- Telaire T67XX / T6713 CO2 Sensor Module
- Resistors (See below required values)
- Jumper Wire (Optional)
- Prototyping Board (This is optional you can just hookup directly to the MCU)
- PCB board (Circuit simulation to PCB Layout)
Wiring Guide
Source Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
#include <Wire.h> //Import Arduino Wire Library #define T6713_Address 0x15 //T6713 i2C Address int data [4]; int ppmValue; void setup(){ Serial.begin(9600); Serial.println("14CORE | T67XX / AN161 CO2 Sensor Test Code"); Serial.println("Initializing..............................."); delay(2000); Serial.println("Starting i2C Communicate ADDR 0x15........."); Wire.begin(); delay(1000); } void loop(){ int ppmValue = readSensor(); if (ppmValue > 0) { Serial.println("CO2-Carbon Dioxide Read Value > "); Serial.println(ppmValue); } else { Serial.println("ERROR | Failed to communicate to the sensor"); } delay(2000); } int readSensor(){ Wire.beginTransmission(T6713_Address); Wire.write(0x04); Wire.write(0x13); Wire.write(0x8B); Wire.write(0x00); Wire.write(0x01); Wire.endTransmission(); delay(2000); Wire.requestFrom(T6713_Address, 4); //Request 4 bytes from the sensor data[0] = Wire.read(); data[1] = Wire.read(); data[2] = Wire.read(); data[3] = Wire.read(); Serial.println("FUNCTION CODE >"); Serial.println(data[0], HEX); Serial.println(""); Serial.println("BYTE COUNT > "); Serial.println(data[1], HEX); Serial.println(""); Serial.println("MOST SIGNIFICANT BIT > 0x"); Serial.println(data[2],HEX); Serial.println(""); Serial.println("LEAST SIGNIFICANT BIT > 0x"); Serial.println(data[3],HEX); ppmValue = (((data[2] & 0x3F ) << 8) | data[3]); } |
Downloads
- Download Telaire T67XX CO2 sensor Datasheet
- Download Telaire CO2 Sensor Family
- Download Telaire CO2 Application Guide