23 Mar 2018

Extech CO250 Protocol Details

Extech CO250 Protocol Title

Note: This post is currently just some loose notes during my R&D, and is a continuation of the Extech CO250 project.

Open-source Java library

I have a working Java library that reads all values over serial and provides statistics (minimum, maximum, average, etc). It’s open-source and available here on GitHub.

Connection configuration

9600 baud, 8 databits, No parity, 1 stopbit.

Example data

Here are five packets of data from the device:

$CO2:Air:RH:DP:WBTf9
C1116ppm:T26.3C:H52.4%:d15.8C:w19.3C31
$CO2:Air:RH:DP:WBTf9
C1119ppm:T26.3C:H52.3%:d15.8C:w19.3C2f
$CO2:Air:RH:DP:WBTf9
C1115ppm:T26.3C:H52.6%:d15.8C:w19.3C30
$CO2:Air:RH:DP:WBTf9
C415ppm:T26.2C:H66.2%:d19.4C:w21.5C63
$CO2:Air:RH:DP:WBTf9
C413ppm:T26.2C:H66.1%:d19.3C:w21.4C68

Packet breakdown

Let’s look at this packet:

$CO2:Air:RH:DP:WBTf9
C1115ppm:T26.3C:H52.9%:d15.9C:w19.4C2b

It can be broken down as follows:

$                      0x24 - start character
CO2:Air:RH:DP:WBT      description
f9                     line checksum
                       0x0D 0x0A - line break
C 1115 ppm :           CO2 value
T 26.3 C   :           air temperature value
H 52.9 %   :           relative humidity value
d 15.9 C   :           dew point temperature value
w 19.4 C               wet bulb temperature value
2b                     line checksum
                       0x0D 0x0A - line break

Checksum

The checksum is an 8-bit, 2s complement, sum of all bytes in the line (i.e. between line breaks).

Notes

  • Variable packet length (no zero padding on numbers).
  • No comms during the initial 30 second warm up after power on.
  • Values over serial are always live, even if the device is displaying Min, Max, STEL, or TWA.

About the Author:

Hardware and software engineer with experience in product development and building automation. Director at Cabot Technologies and Product Manager at NEX Data Management Systems.

2 comments

  1. […] So we have a good idea of the RS-232 signals and cable. Next is to look at the data in more detail. My next post will be a look at the Extech CO250 serial protocol details. […]

  2. […] do the same with this Extech CO250, so in future posts I’ll detail the RS-232 connection and serial protocol, and develop some software. Stay […]

Leave a Reply

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.