For a project we needed to read out our PC-222 multimeter. It supports RS-232, but the protocol is not documented at all and the software is proprietary. After a little research on the web, we found some information in a comment on Amazon. With this and a little trial–and–error we found out how it works.
The multimeter continuously sends a data package of 14 bytes every second. So, you don’t have to ask for data by a command, just listen. Settings are 2400 baud, 8&nsbp;bit, no parity, 1 stop–bit, and RTS/CTS handshake. The following shows an exemplary package received from the instrument:
|Display of PC-222: 028.8 °C|
As one may notice, the first nibble (i.e. hex digit) of each byte is just a counter (marked in red). You can use this to find the beginning of a package. The remaining nibbles (marked in green) have different meaning. The very first one and number 10 to 12 have an unknown meaning. Nibbles 2 to 9 (= 8 nibbles) comprise the displayed(!) value. First, these 8 nibbles have to be recombined to 4 bytes:
Every symbol on the display of the instrument is made out of 7 segments. Therefore, the lower 7 bits of each byte represent these segments. The following table shows the encoding of the symbols:
|Symbol on display:||0||1||2||3||4||5||6||7||8||9||L||(none)|
The first bit is a special indicator for the display of the decimal point, the sign, or the range. For the byte 3 and 4 it represents the decimal point, which is the case in the example from above. For byte 2 it represents x10 (‘XIO’ in the display of the instrument as shown e.g. for LUX 40000 setting). For the very first byte it represents a minus sign. Briefly, multiply the value of the readout by -1, 10, 0.01, or 0.1 for the bit set in byte 1, 2, 3, 4, respectively.
Last, nibble 13 and 14 (recombined to one byte) describe the measured quantity/units. The following table shows the encoding. In the case above, it is 0x82, i.e. ‘°C’.
|Quantity:||LUX (Light)||dBA (Sound)||%RH (Humdity)||°C (Temperature)||°F (Temperature)|
Maybe, there are other units and quantities for similar instruments from PCE instruments. Finally, we want to share a little ruby script, which can readout the PCE–222 instrument. We hope this little guide and the script come in handy for anyone dealing with this multimeter. That’s it!