CO2METER COM CM1107N Dual Beam NDIR CO2 Sensor Module User Manual
- October 30, 2023
- CO2METER COM
Table of Contents
- CO2METER COM CM1107N Dual Beam NDIR CO2 Sensor Module
- Product Information
- Revisions
- Applications
- Description
- Features
- Working Principle
- Specifications
- Product Usage Instructions
- Specifications
- Dimensions and Connector
- Typical Application Circuit
- PWM and Alarm Output
- Product Installation
- Command Table of Serial Protocol
CO2METER COM CM1107N Dual Beam NDIR CO2 Sensor Module
Product Information
Product Name: Dual Beam NDIR CO2 Sensor Module
Item No.: CM1107N
Part No.: CU-1107N
Version: V0.5
Date: August 3, 2022
Revisions
No. | Version | Content | Date |
---|---|---|---|
1 | V0.2 | UART protocol check sum, the correct content is Cumulative sum | |
of data = 256-(HEAD+LEN+CMD+DATA)%256 | 2017.12.17 | ||
2 | V0.2 | UART protocol 4.2 Note, Modifying the description as Auto |
calibration is default closed, if want to open, then the default
calibration cycle is 7 days.| 2017.12.17
3| V0.2| |
4| V0.3| |
5| V0.4| Modifying the font to be Arial, updating the company name to be
Cubic Sensor and Instrument Co.,Ltd| 2018.09.19
6| V0.5| Update protocol description and packing information| 2021.06.18
Applications
- HVAC industry
- IAQ monitor
- Air purifier
- Automotive
- IoT devices
- Intelligent agriculture
- Cold-chain
Description
The CM1107N is a dual beam (single light source, dual channel) NDIR CO2 sensor based on non-dispersive infrared (NDIR) technology. It can detect CO2 concentration of indoor air with higher accuracy and superior long-term stability. It is widely used for ventilation systems, air purifiers, air conditioners, intelligent agriculture, storage, and cold-chain applications.
Features
- NDIR technology with independent intellectual property
- Dual beam detection for superior stability and better accuracy
- High accuracy, long-term stability, long life (>10 years)
- Temperature calibration within the whole measurement range
- Signal output PWM/UART/I2C
- Small size and compact structure, easy to install
Working Principle
The main components of an NDIR CO2 sensor are an infrared source, a sampling chamber, two filters, and two detectors. The infrared light is directed by the infrared source passing through the gas chamber towards the detector. CO2 molecules inside the gas chamber will only absorb a specific wavelength of the light. The filter allows only the specific wavelength corresponded to pass through it. One detector measures the intensity of infrared light that is related to the intensity of CO2 and can be described through the Lambert- Beer’s Law. The other detector is for reference. The change in sensor signal reflects the change in gas concentration.
Specifications
Dual Beam NDIR CO2 Sensor Specification
Target gas| Carbon Dioxide (CO2)
Operating principle| Non-dispersive infrared (NDIR)
Measurement range| 0-5000ppm
Working temperature|
Working humidity| 0-95%RH (non-condensing)
Storage temperature|
Storage humidity| 0-95%RH (non-condensing)
Accuracy|
Sampling frequency| 1s
Time to first reading| 30s
Power supply| DC 4.5V~5.5V
Working current|
Product Usage Instructions
- Make sure the sensor is properly installed and connected to the power supply.
- The sensor will take 30 seconds to provide the first reading.
- The measurement range of the sensor is 0-5000ppm of Carbon Dioxide (CO2).
- The working temperature and accuracy of the sensor are not specified in the manual.
- The sampling frequency of the sensor is 1s.
- The sensor can output signals in PWM/UART/I2C format.
- The default calibration cycle of the sensor is 7 days, but it can be modified to be auto-calibrated.
- The sensor can be used in various applications such as HVAC industry, IAQ monitor, air purifier, automotive, IoT devices, intelligent agriculture, and cold-chain.
Revisions
No. | Version | Content | Date |
---|
1
| ****
V0.2
| UART protocol “check sum”, the correct content is “Cumulative sum of data = 256-(HEAD+LEN+CMD+DATA)%256”| ****
2017.12.17
2
| ****
V0.2
| UART protocol “4.2 Note”, Modifying the description as Auto calibration is default closed, if want to open, then the default calibration cycle is 7 days.| ****
2017.12.17
3
| ****
V0.2
| Modifying the font to be Arial, updating the company name to be Cubic Sensor and Instrument Co.,Ltd| ****
2018.09.19
4
| ****
V0.3
| UART Communication Protocol “4.1 Note”, modifying the description of status bit I2C Communication Protocol “2.2 Note”, modifying the description of status bit| ****
2019.07.11
5
| ****
V0.4
| ****
Add the 4.2.4 check the ABC status and ABC cycle
| ****
2020.01.06
6
| ****
V0.5
| ****
Update protocol description and packing information
| ****
2021.06.18
Dual Beam NDIR CO 2 Sensor Module
Applications
- HVAC industry
- IAQ monitor
- Air purifier
- Automotive
- IoT devices
- Intelligent agriculture
- Cold-chain
Description
CM1107N is a dual beam (single light source, dual channel) NDIR CO2 sensor, based on non-dispersive infrared (NDIR) technology, which can detect CO2 concentration of indoor air. With higher accuracy, superior long term stability, it is widely used for ventilation system, air purifier, air conditioner, intelligent agriculture, storage and cold-chain, etc.
Features
- NDIR technology with independent intellectual property
- Dual beam detection for superior stability and better accuracy
- High accuracy, long term stability, long life (>10years)
- Temperature calibration within whole measurement range
- Signal output PWM/UART/I2C
- Small size and compact structure, easy to install
Working Principle
The main components of an NDIR CO2 sensor are an infrared source, a sampling
chamber, two filters and two detectors. The infrared light is directed by the
infrared source passing through the gas chamber towards the detector.CO2
molecules inside the gas chamber will only absorb a specific wavelength of the
light. The filter allows only the specific wavelength corresponded to pass
through it. One detector measures the intensity of infrared light that is
related to the intensity of CO2 and can be described through the Lambert-
Beer’s Law. The other detector is as for reference. The change in sensor
signal reflects the change in gas concentration.
Specifications
Dual Beam NDIR CO 2 Sensor Specification
Target gas| Carbon Dioxide (CO2)
Operating principle| Non-dispersive infrared (NDIR)
Measurement range| 0-5000ppm
Working temperature| -10°C ~ 50°C
Working humidity| 0-95%RH (non-condensing)
Storage temperature| -30°C ~ 70°C
Storage humidity| 0-95%RH (non-condensing)
Accuracy| ± (30ppm+3% of reading)(0-5000ppm, 0℃~50℃, 50±10%RH)
Sampling frequency| 1s
Time to first reading| ≤30s
Power supply| DC 4.5V~5.5V
Working current| <50mA @1s
Dimensions| W33 H21.7 D12.7mm(without pin)
Weight| 6.3g
Signal output| UART_TTL (3.3V/5V electrical level) PWM
I2C (3.3V electrical level)
PWM output| Output high level minimum duration: 2ms (0ppm)
Output high level maximum duration: 1002ms (5000ppm)
Alarm output| Reserved
Life span| ≥10 years
Dimensions and Connector
Dimensions (Unit mm, tolerance ±0.2 mm)
I/O Connector Pinout
CON5 CON4
Pin| Name| Description| Pin| Name| Description
1| +3.3V| Power supply output (+3.3V/100mA)| 1| +5V| Power supply input
voltage,
2| RX/SDA| UART-RX (Receiving)/I2C data, compatible with 3.3V and 5V
communication| 2| GND| Power supply input (GND)
3| TX/SCL| UART-TX (Sending)/I2C clock, 3.3V
communication| 3| A| Alarming
4| R/T| UART/ I2C Switch (Output mode exchange TTL level @3.3V High level or
floating is UART communication mode, low level is I2C communication mode)| 4|
PWM| PWM output
5| CA| Manual calibration| | |
Typical Application Circuit
Application scene: UART_TTL 3.3V serial port output
Description of Calibration
-
Auto calibration (Closed by default, if open please refer to the protocol) Rough installing and influence of transportation might result in reducing of sensor measuring accuracy and baseline drift, sensor will correct the drift by the built-in self-correcting logic. Powering on the sensor for 7 days continuously, it will record the lowest CO2 concentration measurement value during the 7 days, which will be regarded as baseline (400ppm) when sensor implements auto calibration after the 7 days working. In order to ensure correct auto calibration, please make sure working environment of the sensor can reach to outdoor fresh air level (400ppm) during the 7 days auto baseline correction cycle.
Note : For more detailed information on sensor auto-calibration, please contact Cubic -
Manual calibration: Rough installing and influence of transportation might result in a reducing of sensor reading accuracy and baseline drift. If need to recover accuracy quickly after installing, users can do manual calibration. Please place the sensor in an environment where outdoor atmospheric CO2 levels can reach 400 ppm and ensure the CO2 concentration in this environment is stable before calibration. The CA pin of sensor should be well connected at least 2 seconds when doing the manual calibration. Sensor will activate the calibration program after 6 seconds. In addition, sensor also can do manual calibration by sending command, please refer to the communication protocol for more details
PWM and Alarm Output
PWM output
- Measurement range: 0-5000ppm
- PWM cycle: 1004ms
- Positive pulse width: (PPM/5)+2ms
- PWM output schema:
Note Connect the pin of PWM to the oscilloscope. Add a pull-up resistor around 5K-10K between the pin of PWM and power supply.
Alarm Output
If the CO2 concentration rises up to more than 1000ppm, the alarming will be
triggered and output high level. When the CO2 concentration goes down to below
800ppm, the alarming will stop and output low level.
Product Installation
-
In order to ensure airflow diffusion into the sensor inner, make sure the minimum distance between the area of waterproof filter and the other components is 1.5 mm, otherwise, quick response time of the sensor will be affected. Reference as below
-
To avoid the influence of stress on sensor, please soldering by hand as much as possible when mounting the sensor to the PCB. Reference as below:
UART Communication Protocol
- General Statement
- The data in this protocol is all hexadecimal data. For example, “46” for decimal [70].
- Baud rate: 9600, Data Bits: 8, Stop Bits: 1, Parity: No, Flow control: No.
- [xx] is for single-byte data (unsigned, 0-255); for double data, high byte is in front of low byte.
- Format of Serial Communication Protocol
Sending format of upper computer:
Start Symbol| Length| Command| Data 1| …| Data
n.| Check Sum
---|---|---|---|---|---|---
HEAD| LEN| CMD| DATA1| …| DATAn| CS
11H| XXH| XXH| XXH| …| XXH| XXH
Detail description on protocol format:
Protocol Format Description
Start Symbol| Sending by upper computer is fixed as [11H], module respond is
fixed as [16H]
Length| Length of frame bytes= data length +1 (including CMD+DATA)
Command| Command
Data| Data of writing or reading, length is not fixed
Check Sum| Cumulative sum of data = 256-(HEAD+LEN+CMD+DATA)%256
Command Table of Serial Protocol
Item No. Function Name Command
1| Read measured result of CO2| 0x01
2| Open/ Close ABC and set ABC parameter| 0x10
3| Calibrate concentration value of CO2| 0x03
4| Read software version| 0x1E
5| Read the serial number of the sensor| 0x1F
Detail Description of Protocol
Read Measured Result of CO2
Send: 11 01 01 ED
Response: 16 05 01 DF1- DF4 [CS] Function: Read measured result of CO2 (Unit:
ppm)
Note :CO2 measured result = DF1*256+DF2;
DF3: status bit
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
---|---|---|---|---|---|---|---|
Reserved | 1: Drift |
0: Normal
| 1: Light Aging
0: Normal
| 1: Non- calibrated
0: Calibrated
| 1: Less than Measurement Range
0: Normal
| 1: Over Measurement Range
0: Normal
| 1: Sensor Error
0: Operating normal
| 1: Preheating
0: Preheat complete
DF4 is reserved
Example: Response: 16 05 01 02 58 00 00 8A
Explanation: Hex is converted to decimal: 02 is 02; 58 is 88 CO2 concentration=02*256+88 = 600ppm
Open/Close ABC and Set ABC Parameter
Send : 11 07 10 DF1 DF2 DF3 DF4 DF5 DF6 CS
Response : 16 01 10 D9
Explanation :
- DF1: Reserved, default 100 (0x64)
- DF2: Open/close auto calibration (0: open; 2: close, default close)
- DF3: Calibration cycle (1-30 days optional, default is 7 days)
- DF4: High base value (2 bytes)
- DF5: Low base value (2 bytes)
- DF6: Reserved, default is 100 (0x64)
Note : The default value of DF4 and DF5 is 400, that is DF4: 01; DF5: 90
Open ABC and Set Calibration Cycle
When ABC function is closed and if want to re-open ABC function, then set
the DF2=0.
Example : Send below command to open ABC function and set the calibration
cycle
Send : 11 07 10 64 00 07 01 90 64 78
Response : 16 01 10 D9
Close ABC
The ABC function is default closed. If want to close the ABC function after
open it, then set the DF2=2.
Send : 11 07 10 64 02 07 01 90 64 76
Response : 16 01 10 D9
Change the Calibration Cycle
If want to change the calibration cycle to 10 days, then set the DF3=0A.
Send: 11 07 10 64 00 0A 01 90 64 75
Response: 16 01 10 D9
Check ABC Status and ABC Cycle
To check the ABC status, then check the DF2, 0 means open; 2 means close
To check the ABC cycle, then check the DF3 (DF3 range can be 1-30 days,
default is 7 days)
Send : 11 01 0F DF
Response : [ACK] 07 0F [DF1][DF2][DF3][DF4][DF5][DF6][CS]
Calibration of CO2 Concentration
Send : 11 03 03 DF1 DF2 CS
Response : 16 01 03 E6
Function : Calibration of CO2 concentration
Note
- Calibration target value = DF1*256+DF2 Unit: PPM, range (400-1500ppm)
- Before calibration, please make sure CO2 concentration in current ambient is calibration target value. Keeping this CO2 concentration for two 2 minutes, then begin calibration.
Example :
- When need to calibrate CO2 concentration of the sensor to 600ppm, send command
- Send : 11 03 03 02 58 8F
- Hex is converted to decimal: 02 is 02; 58 is 88
- CO2 concentration =02*256+88 = 600ppm
Read Software Version
Send : 11 01 1E D0
Response : 16 0C 1E DF1-DF11 CS
Function : Read software version
Note :DF1-DF10: stand for ASCII code of software version, DF11 is
reserved.
Example :
When the sensor version is CM V0.0.20, respond data as follows:
Hexadecimal converted to ASCII code:
Note : when 20 converted to ASCII code, it equals to blank space.
Read the Serial Number of the Sensor
Send : 11 01 1F CF
Response : 16 0B 1F (SN1) (SN2) (SN3) (SN4) (SN5) [CS] Function :
Read the serial number of the sensor
Note : Read the serial number of the sensor. SNn: 0~9999, 5 integer form
20-digit number.
I2C Communication Protocol
Timing Diagram Introduction
Common Description
- This protocol is based on standard I2C timing sequence, the clock frequency is 10kHz~400kHz.
- Use big-endian format, the most significant bit to be sent first.
I2C Sequence Diagram Introduction
Item | Min | Parameter Type | Max | Unit |
---|---|---|---|---|
fiscal (SCL clock frequency) | 10 | 400 | KHz | |
tHD.STA (hold time of the starting bit) | 0.6 | us | ||
tSU.STA (setup time of the starting | 0.6 | us | ||
tHD.DAT (hold time of the data) | 0 | ns | ||
tSU.DAT (setup time of the data) | 250 | ns | ||
tSU.STO (setup time of the stop bit) | 4 | us |
Note : SCL clock frequency is generated by the master device with the range 10khz~400khz.
Basic Data Transmission Formats
S | SA | W | A | D | A | D | … | D | A/~A | P |
---|
Picture 2: The general data format sends from the master device to the slave
S | SA | R | A | D | A | D | … | D | A/~A | P |
---|
Picture 3: The general data format received from the slave device to the master device The meaning of the symbol in picture 1.2 and picture 1.3:
- S: start condition
- SA: slave address
- W: write bit
- R: read bit
- A: acknowledge bit
- ~A: not acknowledge bit
- D: data, each data is 8bit
- P: stop condition
Shadow : The signal generated from the master device
No Shadow : The signal generated from the slave device
Timing Diagram
Notes: The performance of the MCU which is used in the sensor is not very high. If use I/O port to simulate IIC master device, it is suggested to reserve a period before and after ACK signal (such as 100 us), after sending every byte (8 bit) to leave enough time for the SCM to process the data. Within requirements of speed, it is recommended to lower the reading speed as much as possible.
Measuring Function
Format of Command
Format of Sending : [CMD][DF0]……[DFn] [CMD] Command number, for
distinguishing different command.
[DF0] … [DFn] The command with parameter item and optional items
Format of Response: [CMD][DF0]……[DFn][CS]
[CMD] Command number
[DF0]… [DFn] Effective data
[CS] Data check bit = -([CMD]+ [DF0]+……[DFn]) Only use the lowest bit
Statement of Measuring Command
The slave address is 0x31, the data command of the slave device is as
below:
Item No. Function Name Command
1| Read measured result of CO2| 0x01
2| Open/ Close ABC and set ABC parameter| 0x10
3| Calibrate concentration value of CO2| 0x03
4| Read software version| 0x1E
5| Read the serial number of the sensor| 0x1F
Measuring Result
The master device should send command of measuring result.
Send : 0x01
Response : [0x01][DF0][DF1] [DF2][CS] Note :
- Sensor starts measuring result status once receiving the command 0x01. After this, all the data which I2C read will be such status format data, until the sensor receives new command or re-powering on.
- Data format, master device receives DF0 first, and then receives CS at last.
Remark| Status Bite| Decimal Effective Value Range| Relative
Value
---|---|---|---
CO2 measuring result| [DF0] [DF1]| 0 ~ 5,000 ppm| 0 ~ 5,000 ppm
CO2 measuring result: D F 0 *256+D F 1 , Fixed output is 550ppm during
preheating period.
Status bit:
Bit7 | Bit6 | Bit5 | Bit4 | Bit3 | Bit2 | Bit1 | Bit0 |
---|---|---|---|---|---|---|---|
Reserved | 1: Drift |
0: Normal
| 1: Light Aging
0: Normal
| 1: Non- calibrated
0: Calibrated
| 1: Less than Measurement Range
0: Normal
| 1: Over Measurement Range
0: Normal
| 1: Sensor Error
0: Operating normal
| 1: Preheating
0: Preheat complete
Example : The master device reads some data: Read 3 bit.
0x01 0x03 0x20 0x00 0xDC
CO2 measuring result = (0x03 0x20) h e x a d e c i m a l = (800) d e c i m a l
= 800 ppm
Status bit: 0x00 means working normally
[CS]= -(0x01+0x03+0x20+0x00) Only keep the lowest bite.
Auto Zero Specification Setting
Send : 0x10 [DF0] [DF1] [DF2] [DF3] [DF4] [DF5] Response : [0x10] [DF0] [DF1] [DF2] [DF3] [DF4] [DF5] [CS] Format description
- Sensor will be auto calibration specification setting status after receiving command 0x10. After this, all the data which I2C read are the data in this status format, until sensor receives new command or repowering on.
- Data format, the master will receive [DF0] firstly, and receive [CS] at last. The result is calculated by high bit in front
Remark Data Byte Decimal Effective Value Range Relative Value
Wrong code accelerate value| [DF0]| By default: 100| 100
Zero setting switch| [DF1]| 0 or 2| 0: Open, 2: Close
Calibration period| [DF2]| 1 ~ 30| 1 ~ 30
Calibration concentration value| [DF3] [DF4]| 400 ~ 1500| 400 ~ 1500
Reserved byte| [DF5]| By default: 100| 100
Calibration
The master device should send command of zero setting.
Send : 0x03 [DF0] [DF1] Response : [0x03] [DF0] [DF1] [CS] Note :
- Sensor starts zero setting status once receiving command 0x03. After this, all the data which I2C read will be such status format data, until the sensor receives new command or re-powering on.
- Data format, master device receives DF0 first, and then receives CS at last. The result is calculated by high bit in front: [DF0] * 256 + [DF1].
Remark| Data Bite| Decimal Effective Value Range| Relative
value
---|---|---|---
Adjust value| [DF0] [DF1]| 400 ~ 1,500| 400 ~ 1,500 ppm
Read the Serial Number of the Sensor
Send : 0x1F
Response: [0x1F] [DF0] [DF1] [DF2] [DF3] [DF4] [DF5] [DF6] [DF7] [DF8]
[DF9] [CS] Note:
- Sensor starts device code output status once receiving the command 0x1F. After this, all the data which I²C read will be such status format data, until the sensor receives new command or re-powering on.
- Data format, the master device receives [DF0] first, and then receives [CS] at last. High bit in front.
Remark| Data Bit| Decimal Effective Value Range| Relative
Value
---|---|---|---
Integer type 1| [DF0] [DF1]| 0 ~ 9999| 0 ~ 9999
Integer type 2| [DF2] [DF3]| 0 ~ 9999| 0 ~ 9999
Integer type 3| [DF4] [DF5]| 0 ~ 9999| 0 ~ 9999
Integer type 4| [DF6] [DF7]| 0 ~ 9999| 0 ~ 9999
Integer type 5| [DF8] [DF9]| 0 ~ 9999| 0 ~ 99993. The five-integer types
constitute serial number of 20 digits.
Read Software Version
Send : 0x1E
Response: [0x1E] [DF0] [DF1] [DF2] [DF3] [DF4] [DF5] [DF6] [DF7] [DF8]
[DF9] [CS] Note:
- Sensor starts software version output status once receiving the command 0x1E. After this, all the data which I2C read will be such status format data, until the sensor receives new command or re-powering on.
- Data format, the master device receives DF0 first, and then receives CS at last. [DF0 ] …… [DF9 ] is ASCII.
Communication Diagram
Diagram 1: The master device read two bytes continuously from the slave
device. The slave machine address: 0x31 = 0110001 (the machine address is 7
bit) + read/write bit(1bit)
The slave data address: 0x01 = 00000001
-
Step 1: The master device sends the address of the slave device+ write bit: 0110001+0 → 01100010 (0x62); at this time, the master device is in sending status.
-
Step 2: The master device sends the slave data address: 0x01
-
Step 3: The master device sends the slave machine address+ read bit: 0110001+1 → 01100011 (0x63); at this time, the master device is in receiving status.
-
Step 4: The master device sends answer bit after receiving a one-bit data and the slave continuously sends the next data. If the master device sends the no-answer bit after receiving a one-bit data, then the communication will stop.
Packing Information
Note : every 3 trays are packed by a plastic vacuum bag.
Sensor per Tray| Tray Qty| Sensor per Carton| Carton
Dimensions| Packing Material
---|---|---|---|---
70 pcs| 9 layers| 630 pcs| W395 L310 H200 mm| Anti-static PS
Support
The quickest way to obtain technical support is via email. Please include a
clear, concise definition of the problem
and any relevant troubleshooting information or steps taken so far, so we can
duplicate the problem and quickly
respond to your inquiry.
Warranty
The sensor comes with a 90 day warranty starting from the date it was shipped
to the buyer. For more
information visit our website: https://www.co2meter.com/pages/terms-
conditions
Contact Us
If this manual does not help you solving your problem please contact us using
the information below.
Support@co2meter.com
(877) 678 – 4259 (M-F 9:00am–5:00pm EST)
CO2Meter, Inc.
131 Business Center Drive A-3, Ormond Beach, FL 32174
(386) 872 – 7665
References
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>