The Extech CO250 (AKA Senseair pSENSE RH) is a relatively cheap handheld air quality measurement device with decent features. It measures carbon dioxide (CO2), dry-bulb temperature, and relative humidity, and also provides calculated dew-point and wet-bulb temperatures.
One interesting feature, and the subject of this post, is it’s serial communications port. It comes with a 3.5mm (1/8″) mono jack, matching cable with a DB-9 serial connector, and the typical clunky Windows software to chart and save measurement data. See the photos below:
Serial cable schematic
The schematic makes it plain to see how simple and cheap the cable is. The device only transmits data (one way communications) and a number of the RS-232 control lines are simply hardwired with no real signalling. There is also a pull-down resistor so that pin 2 (Receive Data) idles at the Ground (common) level. It’s also apparent that this is only part of the system, because as is, no data could be transmitted by the device. For example measuring between pin 2 (Data) and pin 5 (Ground) will only result in 0V and no signal. So how does this work?
In order to be extra cheap, they are relying on the RS-232 host to provide suitable voltage levels for data to be transmitted. This means, in order to measure the data, a host must be connected to the DB9, and in my case, I even had to connect in Windows to activate the host port. I’m using a cheap USB to RS-232 cable based on the CH340 chip. After establishing a connection in software, I was able to measure the following signals:
Serial data signals
As you can see it’s a typical serial signal between 0 and 5V. All the RS-232 control lines were pulled high.
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.