Skip to main content

Environment X6 Sensor

esp3s3_Matrix_MAIN

SKUProduct
34169Environment X6 Sensor

Features

  • The Environment X6 Sensor is based on Germany EC Sense's solid-state polymer electrochemical technology. It employs a multi-electrode integrated structure and a solid-state electrolyte system. The gas undergoes an electrochemical reaction on the working electrode surface, outputting a current signal to achieve high-sensitivity detection of target gas concentrations. Compared to traditional gas sensors, the solid-state polymer design offers advantages such as no liquid leakage, no poisoning, essentially no drift, and long service life.

Application Scenarios

  • Smart Home
  • Ambient Air Quality Monitoring
  • Vehicle Air Purifiers
  • Handheld Air Quality Detectors
  • Factory Workshop Fresh Air Systems

Working Principle

  • The solid-state polymer electrochemical sensor internally uses a classic three-electrode system structure (Working Electrode WE, Reference Electrode RE, Counter Electrode CE) with multi-layer printing process technology. Through the design of multi-layer catalytic active sites on a single electrode, a diffusion control layer structure, and intelligent signal decoupling algorithms, parallel detection and identification of multiple gases are achieved.

Specifications

Environment X6 Sensor
Supply Voltage5VLogic Voltage3.3V
Communication InterfaceUARTCommunication Baud Rate9600 bps
Measurement Range
  • HCHO: 0-1 ppm
  • TVOC: 0-5 ppm
  • CO: 0-100 ppm
Resolution
  • HCHO: 0.001 ppm (Effective detection value: 0.015 ppm)
  • TVOC: 0.001 ppm (Effective detection value: 0.050 ppm)
  • CO: 0.001 ppm (Effective detection value: <8 ppm)
Accuracy Error
  • HCHO: 0-0.15 ppm (±0.02 ppm); 0.16 ppm+ (< ±2% FS)
  • TVOC: 0-0.2 ppm (±0.05 ppm); 0.2 ppm+ (< ±2% FS)
  • CO: 0-8 ppm (±2.5 ppm); 8 ppm+ (< ±1% FS)
Response Time
  • HCHO: T10 <5 s; T90 <90 s
  • TVOC: T10 <3 s; T90 <120 s
  • CO: T10 <3 s; T90 <15 s
Product Dimensions23 × 25.5 × 9.5 mmMounting Hole Diameter2.0 mm
Operating Current6.5 mAOperating Temperature-40 ℃ ~ +55 ℃
Operating Humidity>15%RHService Life10 years
  • The IO level of the sensor is 3.3V. If using a 5V IO level, level conversion is required; otherwise, the sensor may be damaged.

Pin Description

PinIDDescription
1VCC5V Positive Power Supply
2GNDGround Pin
3RXDUART Input
4TXDUART Output

Protocol Analysis

Click to expand

UART Communication Process

  • The default serial port configuration is: 8 data bits, 1 stop bit, no parity, no flow control, default baud rate 9600.
  • The protocol consists of a command header, Data, and 0-add8 (checksum).
  • Note: The protocol packet follows big-endian format, i.e., high byte first, low byte last.

Command Introduction

  • Gas Concentration Units
 0x00:IAQ
0x02:ppm
IAQ Value Explanation, based on EPA standards
0~50 Good
51~100 Moderate
101~150 Unhealthy for Sensitive Groups
151~200 Unhealthy
201~300 Very Unhealthy
301~500 Hazardous
  • Sensor Type Table
 IAQ:0x33
TVOC:0x18
HCHO:0x17
CO:0x19
  • Query Current Concentration
    • The command format to read the current concentration is as follows:
Command HeaderChecksum
Byte0Byte1
700-add8
  • Query Data Decoding
    • After sending the query current concentration command, the module returns the following data:
Command HeaderIAQ DataTVOC DataHCHO DataCO DataTemperature DataHumidity DataChecksum
Byte0Byte1-Byte4Byte5-Byte8Byte9-Byte12Byte13-Byte16Byte17-Byte18Byte19-Byte20Byte21
7042 30 00 003D 35 64 F03D 53 D2 5B3D 08 19 550A C827 0FE0
  • Parsing Table
 Send Parsing:
0x70----------------------Command header
0x90----------------------Checksum
Receive Parsing:
0x70----------------------Command header
0x42 0x30 0x00 0x00---------0x42300000 IAQ detected gas concentration value, converted to float: 44.000f
0x3D 0x35 0x64 0xF0---------0x3D3564F0 TVOC detected gas concentration value, converted to float: 0.044f
0x3D 0x53 0xD2 0x5B---------0x3D53D25B HCHO detected gas concentration value, converted to float: 0.052f
0x3D 0x08 0x19 0x55---------0x3D081955 CO detected gas concentration value, converted to float: 0.033f
0x0A 0xC8-----------------0x0AC8 = 2760, two decimal places, temperature: 27.6 ℃
0x27 0x0F-----------------0x270F = 9999, two decimal places, humidity: 99.99% rh
0xE0----------------------Checksum
  • Read Sensor Parameters
    • The command format to read sensor parameters is as follows:
Command HeaderGas IDChecksum
Byte0Byte1Byte2
72000-add8
  • Query Data Decoding
    • After sending the read sensor parameters command, the module returns the following data:
Command HeaderGas IDGas NameRangeUnitChecksum
Byte0Byte1Byte2Byte3-Byte4Byte5Byte6
72001903 E80287
  • Parsing Table
  Send Parsing:
0x72----------------------Command header

0x00----------------------IAQ
0x01----------------------TVOC
0x02 ---------------------- HCHO
0x03 ---------------------- CO

0x8D----------------------Checksum

Receive Parsing:
0x72----------------------Command header
0x00----------------------IAQ
0x33----------------------Detected gas name
0x03 0xE8 --------------- 0x01F4 = 500, Range: 500 500
0x00----------------------Concentration unit, derived from the Gas Concentration Unit Table: IAQ
0x87----------------------Checksum
  • Read LED Status
    • The command format to read the LED status is as follows:
Command HeaderChecksum
Byte0Byte1
740-add8
  • Query Data Decoding
    • After sending the read LED status command, the module returns the following data:
Command HeaderLED StatusChecksum
Byte0Byte1Byte2
74018B
  • Parsing Table
 Send Parsing:
0x74----------------------Command header
0x8C----------------------Checksum

Receive Parsing:
0x74----------------------Command header
0x01----------------------LED blinking status (0x00: off, others: blinking)
0x8B----------------------Checksum
  • Set Operation LED Status
    • Downlink Command (Tx) Format:
Command HeaderLED ControlChecksum
Byte0Byte1Byte2
56000-add8
  • Uplink Data (Rx) Format:
Command HeaderReservedReturn ValueChecksum
Byte0Byte1Byte2-Byte3Byte4
56004F 4B10
  • Parsing Table
 Send Parsing:
0x56----------------------Command header
0x00----------------------Turn off the operation LED
0xAA----------------------Checksum

Receive Parsing:
0x56----------------------Command header
0x00----------------------Reserved
0x4F 0x4B--------------Setting successful
0x10----------------------Checksum
  • Enter Sleep Mode
    • The command format to enter sleep mode is as follows:
Command HeaderSleep CommandChecksum
Byte0Byte1Byte2
54000-add8
  • Query Data Decoding
    • After sending the enter sleep mode command, the module returns the following data:
Command HeaderSleep StatusChecksum
Byte0Byte1Byte2
54004F 4B
  • Parsing Table
 Send Parsing:
0x54----------------------Command header
0x73 0x6C 0x65 0x65 0x70----ASCII: sleep
0x93----------------------Checksum

Receive Parsing:
0x54----------------------Command header
0x00----------------------Reserved
0x4F 0x4B--------------Execution successful
0x12----------------------Checksum
  • Exit Sleep Mode
Command HeaderWake CommandChecksum
Byte0Byte1Byte2
550-add8
  • Query Data Decoding
Command HeaderReservedReturn ValueChecksum
Byte0Byte1Byte2-Byte3Byte4
55004F 4B11
  • Parsing Table
 Send Parsing:
0x55----------------------Command header
0x61 0x77 0x61 0x6B 0x65----ASCII: awake
0xA2----------------------Checksum

Receive Parsing:
0x55----------------------Command header
0x00----------------------Reserved
0x4F 0x4B--------------Execution successful
0x11----------------------Checksum
  • Get Sensor Serial Number
Command HeaderChecksum
Byte0Byte1
710-add8
  • Query Data Decoding
Command HeaderSensor SNChecksum
Byte0Byte1- Byte6Byte7
7112 34 56 78 91 23C7
  • Parsing Table
 Send Parsing:
0x71----------------------Command header
0x8F----------------------Checksum

Receive Parsing:
0x71----------------------Command header
0x12 0x34 0x56 0x78 0x91 0x23---Sensor serial number: 123456789123
0xC7----------------------Checksum
  • Get Software Version
Command HeaderChecksum
Byte0Byte1
730-add8
  • Query Data Decoding
Command HeaderFirmware VersionChecksum
Byte0Byte1- Byte19Byte20
7369 4E 6F 73 65 58 36 32 30 32 35 31 31 31 32 31 34 33 39A2
  • Parsing Table
 Send Parsing:
0x73----------------------Command header
0x8D----------------------Checksum

Receive Parsing:
0x73----------------------Command header
0x69 0x4E 0x6F 0x73 0x65 0x58 0x36 0x32 0x30 0x32 0x35 0x31 0x31 0x31 0x32 0x31 0x34 0x33 0x39
Converted to ASCII:
iNoseX6202511121439
0xA2----------------------Checksum

API Introduction

Click to expand
  • environment_x6_init(): Environment X6 Sensor initialization
  • environment_x6_get_concentration(): Get real-time concentration values
  • environment_x6_get_sensor_param(): Get sensor parameters, including measurement range and units
  • environment_x6_get_led(): Get LED status (on/off)
  • environment_x6_set_led(): Set LED status
  • environment_x6_sleep(): Put the sensor to sleep
  • environment_x6_wakeup(): Wake up the sensor
  • environment_x6_get_serial(): Get the serial number (SN)
  • environment_x6_get_version(): Get the version number

Quick Test

  • Test software Serial Debug Assistant together with Serial Tool, mainly for: quick testing
  • Test Preparation
    • Windows computer
    • USB TO TTL (B) 1PCS
    • Environment X6 Sensor 1PCS
    • Matching cables
  • Hardware Connection
    • Refer to the following diagrams for connection USB TO TTL (B)
  • Start Test
    • Connect the serial port to the USB port of the computer
      • Use a serial debug assistant (SSCOM), select the correct port number, baud rate 9600, open the serial port, and set the checksum to 0-add8
      • Send the command in hexadecimal: 70, then you can read the data:
  • ①Send query command
  • ②Obtain real-time data USB TO TTL (B)