Grove Multichannel Gas Sensor 多通道有害氣體感測器|瓦斯氣體傳感器


Grove Multichannel Gas Sensor 多通道有害氣體感測器|瓦斯氣體傳感器

NT$1,381 NT$1,257 未稅

Grove Multichannel Gas Sensor 多通道有害氣體感測器,本環境檢測感測器內建 MiCS-6814單晶片, 可以偵測並監控多種對人體有害的氣體濃度。可檢測氣體包含一氧化碳、二氧化氮、乙醇、氫氣、氨、甲烷、丙烷、異丁烷等有毒氣體。


  • 商品說明
  • 原廠資料
  • 評論 (0)


Grove Multichannel Gas Sensor 多通道有害氣體感測器,本環境檢測感測器內建 MiCS-6814單晶片, 可以偵測多種對人體有害的氣體,傳感器可以同時針對三種氣體進行數據監控。感測器是屬於 Grove 介面,你可以將其插入到 Grove 擴充板,並與Arduino的直接,不需要任何跳線工作。它的接口是I2C,所以將其插入到相應的Grove擴充板的I2C端口,那麼你就可以開始工作了。




引腳標號 描寫
GND 連接到地面
VCC 電源:3.3V – 5V



  • 在一個封裝三個完全獨立的感測元件
  • 建有ATmega168PA
  • 與可編程地址I2C接口
  • 加熱功率可以被關閉的低功耗
  • 可檢測氣體
    • 一氧化碳CO 1 – 1000PPM
    • 二氧化氮NO2 0.05 – 10ppm的
    • 乙醇C2H6OH 10 – 500ppm的
    • 氫氣H2 1 – 1000PPM
    • 氨NH3 1 – 為500ppm
    • 甲烷CH4> 1000PPM
    • 丙烷C3H8> 1000PPM
    • 異丁烷C4H10> 1000PPM


一項 最小。 典型值。 最大。 部件
電壓 3.1 3.3 5.25 V
@Max電源 80 100 毫伏
加熱功率 88 毫瓦
最大功率 150 毫瓦
ADC精度 10
I2C率 100 400 千赫
VIL @ I2C -0.5 0.99 V
VIH @ I2C 2.31 5.25 V


特色的紅色傳感器 典型 馬克斯 部件
傳感空氣阻力 R0 100 1500 千歐
典型的CO檢測範圍 FS 1 1000 PPM
靈敏係數 SR 1.2 50



特點OX傳感器 典型 馬克斯 部件
傳感空氣阻力 R0 0.8 20 千歐
典型的NO2檢測範圍 FS 0.05 10 PPM
靈敏係數 SR 2

OX sensor.jpg


特點氨氣傳感器 典型 馬克斯 部件
傳感空氣阻力 R0 10 1500 千歐
典型的NH3檢測範圍 FS 1 300 PPM
靈敏係數 SR 1.5 15

NH3 sensor.jpg

What is it?

Grove – Multichannel Gas sensor is a environment detecting sensor with a built in MiCS-6814 which can detect many unhealthful gases, and three gases can be measured simultaneously due to its multi channels, so it can help you to monitor the concentration which more than one gas.

This sensor is belong to Grove system, and you can plug it onto the Base shield and work with Arduino directly without any jumper wires. The interface of it is I2C, so plug it onto the I2C port of Base shield, then you can start to work it.

Hardware Overview

Multi sensor1.png
Four pins are pointed out and following is the figure

Pin Label Description
GND Connect to ground
VCC Power supply: 3.3v – 5v
SDA I2C data
SCL I2C clock

The power supply is between 3.3v and 5v, so this sensor can be compatible with a micro-controller whose output voltage is 3.3v.


  • Three fully independent sensing elements on one package
  • Built with ATmega168PA
  • I2C interface with programmable address
  • Heating power can be shut down for low power
  • Detectable gases
    • Carbon monoxide CO 1 – 1000ppm
    • Nitrogen dioxide NO2 0.05 – 10ppm
    • Ethanol C2H6OH 10 – 500ppm
    • Hydrogen H2 1 – 1000ppm
    • Ammonia NH3 1 – 500ppm
    • Methane CH4 >1000ppm
    • Propane C3H8 >1000ppm
    • Iso-butane C4H10 >1000ppm

Block Diagram

Grove - Multichannel Gas Sensor block diagram.jpg

Electrical Characteristics

Item Condition Min. Typ. Max. Unit
Voltage 3.1 3.3 5.25 V
Ripple @Max Power 80 100 mV
Heating Power 88 mW
Max Power 150 mW
ADC Precision 10 Bits
I2C Rate 100 400 kHz
VIL @I2C -0.5 0.99 V
VIH @I2C 2.31 5.25 V

Performance RED sensor

Characteristic RED sensor Symbol Typ Min Max Unit
Sensing resistance in air R0 100 1500
Typical CO detection range FS 1 1000 ppm
Sensitivity factor SR 1.2 50

Red sensor.jpg

Performance OX sensor

Characteristic OX sensor Symbol Typ Min Max Unit
Sensing resistance in air R0 0.8 20
Typical NO2 detection range FS 0.05 10 ppm
Sensitivity factor SR 2

OX sensor.jpg

Performance NH3 sensor

Characteristic NH3 sensor Symbol Typ Min Max Unit
Sensing resistance in air R0 10 1500
Typical NH3 detection range FS 1 300 ppm
Sensitivity factor SR 1.5 15

NH3 sensor.jpg

Firmware and library


This grove module has an ATMega168 MCU which is flashed with a factory firmware. The firmware does the following works:

  1. controls the power on and off for heating circuit and indicator LED
  2. listens on the command that make the module do the calibration – the calibration will sample the resistance of the MEMS core of this sensor which will be used as the reference, so please perform calibration in a fresh air condition
  3. listens on commands that get resistance value of one of the three sensor core which will be used to calculate the concentration of a specific gas
  4. listens on the command that changing the I2C address of this module – at most time, you don’t need to do this except that the I2C address of this module (0x04) conflicts with another slave module.

Note: the calibration has been done before the modules leave the factory. If you want to recalibrate, please do make sure that the air condition is fresh.


The library reads resistance values from the module and calculate the concentration of gas. One thing must be noticed is, the readings of this sensor are not supposed to be used to distinguish the type of gases, but to measure the concentration of a specific gas which is known to be that kind of gas.

The cores of this sensor are more sensitive to CO, NO2 and NH3, the precision of measurement for other gases would be worse.

Note: doCalibrate() function will take 8 seconds before it returns, as said above, at most time you don’t need to recalibrate the sensor.


Hardware Installation:

  • 1) Connect Grove – Multichannel Gas Sensor to Seeeduino.


Upload Code:

  • 2) Download Arduino Library & Grove/Xadow firmware and install it to Arduino Library.
  • 3) Open the code directly by the path:File -> Example ->Mutichannel_Gas_Sensor->ReadSensorValue_Grove.

The content of ReadSensorValue_Grove.ino please refer to below.

    This is a demo to test MutichannelGasSensor library
    This code is running on Xadow-mainboard, and the I2C slave is Xadow-MutichannelGasSensor
    There is a ATmega168PA on Xadow-MutichannelGasSensor, it get sensors output and feed back to master.
    the data is raw ADC value, algorithm should be realized on master.
    please feel free to write email to me if there is any question 
    Jacky Zhang, Embedded Software Engineer

#include <Wire.h>
#include "MutichannelGasSensor.h"

void setup()
    Serial.begin(9600);  // start serial for output
    Serial.println("power on!");

    mutichannelGasSensor.begin(0x04);//the default I2C address of the slave is 0x04
    while(mutichannelGasSensor.readR0() < 0)
        Serial.println("sensors init error!!");
    Serial.print("Res0[0]: ");
    Serial.print("Res0[1]: ");
    Serial.print("Res0[2]: ");

void loop()
    Serial.print("Res[0]: ");
    Serial.print("Res[1]: ");
    Serial.print("Res[2]: ");
    Serial.print("NH3: ");
    Serial.print("CO: ");
    Serial.print("NO2: ");
  • 4) Upload the code. Remeber to select Seeeduino Uno from the Tools | Board menu of the

Arduino environment, and select the correct serial port Arduino is using.
By opening the serial monitor, you can see the raw data read from sensor.
Mutichannel Gas Sensor Grove Print.jpg