CO click

Description of product

CO click carries the MQ-7 gas sensor with high sensitivity to carbon monoxide. The click is designed to run on a 5V power supply only. It communicates with the target microcontroller over the AN pin on the mikroBUS™ line.

The board also features a calibration potentiometer, a mikroBUS™ host socket, two jumpers and a power indicator LED.

MQ-7 sensor features

The MQ-7 sensor has high sensitivity to carbon monoxide. The gas sensing layer on the sensor unit is made of Tin dioxide (SnO2), which has lower conductivity in clean air. The conductivity increases as the levels of Carbon monoxide rise. The detection range of the sensor is 20ppm-2000ppm of CO.

Calibrating the sensor

To calibrate the sensor for the environment you’ll be using it in, CO click has a small potentiometer that allows you to adjust the Load Resistance of the sensor circuit. For precise calibration, the sensor needs to preheat (once powered up, it takes 48h to reach the right temperature).

Carbon monoxide detection

Carbon monoxide gas sensors are used to detect the presence of that gas and prevent carbon monoxide poisoning.

Since carbon monoxide has no smell or color, humans cannot detect it. In high concentrations, it can be lethal.


ApplicationsMeasuring pollution, designing safety alarms, performing experiments
On-board modulesMQ-7 sensor for Carbon monoxide
Key FeaturesGas sensing layer on the sensor unit is made of Tin dioxide (SnO2)
Key BenefitsPotentiometer for calibration
Input Voltage3.3V or 5V
Click board sizeM (42.9 x 25.4 mm)


Pinout diagram

This table shows how the pinout on CO click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

NotesPinMikrobus logo.png
Analog outputAN1ANPWM16NCNot connected
Not connectedNC2RSTINT15NCNot connected
Not connectedNC3CSTX14NCNot connected
Not connectedNC4SCKRX13NCNot connected
Not connectedNC5MISOSCL12NCNot connected
Not connectedNC6MOSISDA11NCNot connected
Not connectedNC73.3V5V10+5VPower supply


Code examples for CO click, written for MikroElektronika hardware and compilers are available on Libstock.

Code snippet

The following code snippet shows how to initialize the click, and then read from it, showing the values on the display.

01 void main() {
03  LCD_Init();                                // Initialize Lcd
04  Lcd_Cmd(_LCD_CLEAR);                       // Clear display
05  Lcd_Cmd(_LCD_CURSOR_OFF);                  // Cursor off
06  Lcd_Out(1,1,"CO click");                   // Write text in first row
08  ANSELA = 0x04;                             // Set ADC on RA2
09  TRISA = 0x04;                              // Set RA2 as input
10  LATA = 0;                                  // Set PORTA as 0
11  ADC_Init();                                // Initialize ADC
12  delay_ms(100);                             // Pause of 100ms for ADC module stabilization
14  //Initial read ADC and display PPM value on LCD
15  readSensor();                              // Read sensor
16  calculatePPM();                            // Calculating PPM value
18  FloatToStr(ppm,&txt);                      // Conversion float ppm to string txt
19  LCD_Out(2,14,"ppm");                       // Print text on LCD
20  LCD_Out(2,1,txt);                          // Print txt value on LCD
22  while(1) {
24    delay_ms(500);                           // Pause 500ms
25    readSensor();                            // Read sensor
26    calculatePPM();                          // Calculating PPM value
27    FloatToStr(ppm,&txt);                    // Conversion float ppm to string txt
28    LCD_Out(2,1,txt);                        // Print txt value on LCD
30  }
31 }

Key features

  • MQ-7 sensor
    • Sensor range: 20ppm-2000ppm of CO
  • Onboard potentiometer for calibration
  • Communicates over the AN pin
  • 5V power supply