Categories: Extech CO250 CO₂ meter
Tags: connectivity development electronics hardware protocol rs-232
Posted by: Darian Cabot
Comments:4
Extech CO250 Protocol Details
Note: This post is currently just some loose notes during my R&D, and is a continuation of the Extech CO250 project.
- See my Extech CO250 review here.
- I have RS-232 details and teardown here.
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.
4 comments
[…] 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. […]
[…] 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 […]
Using your cable and serial settings I got the Extech SD700 to spit out:
41040100000591
42010100000243
43910100010183
Checking this against the live display.
59.1 %RH
24.3 °C
1018.3 hPA
I can deduce that the first line is %RH the second temp and las barometric pressure.
However what I am unable to say is what the leading characters really mean.
Do you have any idea?
Sorry, no idea. The second digit seems to be the parameter:
4 [1] ... rH
4 [2] ... Tdb
4 [3] ... P
But beyond that, I’m not sure. With some tinkering you could confirm that those parameters can be reliably parsed, and you can leave it at that if that satisfies your needs. Good luck!