50,000ppm MH-Z16 NDIR CO2 Sensor with I2C/UART 5V/3.3V Interface for Arduino/Raspeberry Pi


SKU: SEN-000036 Categories: , , Tags: , , , , ,

Product Description


Unlike the chemical CO2 sensor(MG811), this NDIR CO2 sensor does not need a constant ON heating element. The heating element inside a chemical CO2 sensor keeps the sensor warm so that the chemical reaction could happen and produce an continuous EMF as the output, which depends on the CO2 concentration. This NDIR measures the concentration of the CO2 by measure the received IR light strength, it only consume relatively high current during the ON state of the IR emitter. Also, the manufacturer of the sensor claims a +-(50ppm +5%reading value) initial accuracy of this sensor, and it is factory calibrated. According to the datasheet of the sensor, the re-calibration of the sensor is recommended over 6 months of use. The method of the calibration is quite easy compared to the MG811, just put it in fresh air for a couple of minutes and press the “CALI” button on the adapter board or issue a “calibration” command.

NOTE: Your USB2.0 port on your PC may not be able to provide sufficient current to power the sensor and your Arduino in the same time. To minimize the supply voltage fluctuation on the sensor, it is recommended to use an external 12V power supply on your Arduino.

This page is for MH-Z16 with a measuring range of 400-50000ppm, and other measuring range is available at:


  • Factory calibrated
  • One button re-calibration or via “calibration” command
  • Automatic re-calibration over 24-hour cycle
  • I2C or UART interface which could be selected by on-board switch
  • On-board MOSFET which could be used to turn off the module completely to save power(supported in I2C mode only).
  • Configurable 3.3V/5V IO

Pin Configuration

  • GND: GND
  • VCC: 5V Power Supply
  • RX/SDA: Rx input for UART interface or SDA for I2C interface
  • TX/SCL: Tx onput for UART interface or SCL for I2C interface

Demo Code Screenshot


In the Package

  • A fully assembled and tested MH-Z16 NDIR Sensor
  • A fully assembled and tested MH-Z16 I2C/UART Adapter Board
  • A rainbow cable with dummy proof connector used to connect the adapter and sensor
  • A 4-pin cable used to connect the adapter and Arduino



  • We accept PayPal ONLY.


Return and Warranty

  • 100% full money back for DOA.
  • 100% full money back if your goods is lost.
  • 7 days full money back. The buyer has to send the goods back and pay for the shipment.

Foot note

  • We are not good at Photoshop. But we do have a camera.
  • We are the designer of this product. We assemble, test and sell this product on our own. We guarantee that all technical questions will be answered by qualified engineers.



There are no reviews yet.

Be the first to review “50,000ppm MH-Z16 NDIR CO2 Sensor with I2C/UART 5V/3.3V Interface for Arduino/Raspeberry Pi”

Your email address will not be published. Required fields are marked *

− 4 = one