Gas concentration data is available on the RS232 digital communication channel. The RS232 channel is 2-wire plus GND.
Connection is via the TX, RX and DNG screw terminal connectors on the sensor board.
The communication protocol for the RS232 serial interface is specified below.
These command protocols are specified by Aeroqual Limited, all rights reserved. Aeroqual reserves the right to change the protocol without notification.
Note: The RS232 protocol is a proprietary format and not ASCII. This means a terminal program can’t be used to communicate with the SM70.
Communication commands
For data format and representations, see the section Data value format representation.
Comma and spaces are not applied for every command and reply data stream - they are just used for clearly specifying data stream.
SM70 sensor regular data report command
The data report interval varies with sensor. It is 15 bytes data stream.
Command: SENSOR, DATA_REPORT, DATA1, DATA2, DATA3, RESERVED2, STATUS1, STATUS2, CHECKSUM
- SENSOR - 1 byte monitor reply data stream header, see the section Protocol command values for its value.
- DATA_REPORT - 1 byte data report command, see the section Protocol command values for its value.
- DATA1 - 4 bytes floating point data, gas concentration value.
- DATA2 - 2 bytes unsigned int used for optional sensors of temperature reading, its value scaled up by 10. That means, if the reported value is 256, the actual reading is 25.6 Celsius degree.
- DATA3 - 2 bytes unsigned int used for optional sensors of relative humidity reading, its value scaled up by 10. That means, if the reported value is 515, the actual reading is 51.5%.
- RESERVED2 - is 2 bytes reserved.
- STATUS1 - 1 byte sensor status indication, see Data value format representation for details.
- STATUS2 - 1 byte sensor status indication, see Data value format representation for details.
- CHECKSUM - 1 byte the data stream's check sum - that makes the command stream total sum is zero.
SM70 sensor information request command
Command: RECEIVER, SENSOR_INFO, RESERVED1, CHECKSUM
Reply: SENSOR, SENSOR_INFO, VERSION_NO, DISPLAY, NMAE_LENGTH, SENSOR_NAME, RESERVED2, CHECKSUM
- RECEIVER - 1 byte information request command header, see the section Protocol command values for its value.
- SENSOR - 1 byte monitor reply data stream header, see the section Protocol command values for its value.
- SENSOR_INFO - 1 byte command, see the section Protocol command values for its value
- VERSION_NO - 1 byte sensor version number, see the section Protocol command values for its value.
- DISPLAY - 1 byte, gas concentration value display format type, see the section Protocol command values for its value.
- NAME_LENGTH - 1 byte specify the sensor name byte length
- SENSOR_NAME - 7 bytes, the gas sensor name ASCII code, its valid bytes are specified by NMAE_LENGTH
- RESERVED1 - 1 bytes reserved use value 0x00.
- RESERVED2 - 2 bytes not used.
- CHECKSUM - 1 byte the data stream's check sum - that makes the command stream total sum is zero.
SM70 sensor concentration ppm to mg/m3 conversion factor request command
Command: RECEIVER, CONVERT_FACTOR, RESERVED1, CHECKSUM
Reply: SENSOR, CONVERT_FACTOR, FACTOR, RESERVED8, CHECKSUM
- SENSOR - 1 byte monitor reply data stream header, see the section Protocol command values for its value.
- CONVERT_FACTOR - 1 byte command, see the section Protocol command values for its value
- FACTOR - 4 bytes floating point conversion factor value, see Data value format representation for details.
- RESERVED1 - 1 bytes reserved use value 0x00.
- RESERVED8 - 8 bytes reserved.
- CHECKSUM - 1 byte the data stream's check sum - that makes the command stream total sum is zero.
SM70 sensor zero calibration command, 4 bytes
Command: RECEIVER, ZERO_CAL, RESERVED1, CHECKSUM
- ZERO_CAL - 1 byte (0x12) command to start zero calibration for the sensor, see the section Protocol command values for its value.
- RESERVED1 - 1 bytes reserved use 0x00.
- CHECKSUM - 1 byte the data stream's check sum - that makes the command stream total sum is zero.
- During zero calibration SM70 status LED will slowly flash, once the flash finished, zero calibration finished too.
Protocol command values
RECEIVER = 0x55 //header command used for receiver command
SENSOR = 0xAA //header command used for monitor reply
DATA_REPORT = 0x10 //regular data report command
ZERO_CAL = 0x12 //zero calibration command
SENSOR_INFO = 0xFB //parameters upload command
CONVERT_FACTOR = 0x2A //update monitor real time clock
RESERVED = 0x00 //the byte not been used for information transfer
CHECKSUM a data stream's check sum - that makes the command stream total sum is zero.
DISPLAY display format can be following:
- 0x01 - 1 digit int, 3 decimal points, eg. 0.500 ppm
- 0x02 - 2 digits int, 2 decimal points, eg. 12.20 ppm
- 0x03 - 3 digits int, 1 decimal point, eg. 126.8 ppm
- 0x04 - 4 digits int, no decimal point, eg. 2888 ppm
STATUS1 8 bits monitor and sensor status information
SS0 * b0 \ 00 sensor working fine
SS1 * b1 / 01 sensor failure
11 sensor aging (for O3 LOW sensor only)
- Reserved1 * b2 Reserved not been used
- Reserved2 * b3 Reserved not been used
- Reserved3 * b4 Reserved not been used
- Reserved4 * b5 Reserved not been used
- Reserved5 * b6 Reserved not been used
- Reserved6 * b7 Reserved not been used
STATUS2 8 bits monitor and sensor status information
- Reserved0 * b0 Reserved not been used
- Reserved1 * b1 Reserved not been used
- Zeroing * b2 = 0 sensor normal working mode / * b2 = 1 sensor zeroing
- Reserved2 * b3 Reserved not been used
- Reserved3 * b4 Reserved not been used
- Reserved4 * b5 Reserved not been used
- Reserved5 * b6 Reserved not been used
- Reserved6 * b7 Reserved not been used
Data value format representation
The floating point data values use IEEE754 32 bits floating point little ending representation. They are:
DATA1 and FACTOR
Data transfer mechanism
Due to the monitor main chips feature, 4 bytes floating point data and 2 bytes int data send sequence are low byte first, high byte last, such as Data value format representation data DATA1, DATA2, ADAT3 and FACTOR.
For regular data report, the SM70 will automatically send out a measured data result to the RS232 serial port according to sensor type. The data report interval will vary with different sensors. The longest report interval is about 2 minutes, the shortest is 2 seconds. Ask Aeroqual for this information when needed.
Communication settings
RS232 communication port settings:
- Baud rate: 9600
- Data bits: 8
- Stop bits: 1
- Parity: none
- Flow control: none