Project #15: Environment – Carbon Monoxide Sensor MQ7 – Mk39

——

#DonLucElectronics #DonLuc #CO #AHT20 #Environment #FireBeetle2ESP32E #ESP32 #Display #IoT #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Carbon Monoxide Sensor MQ7

——

Carbon Monoxide Sensor MQ7

——

Carbon Monoxide Sensor MQ7

——

Gravity: Analog CO Sensor (MQ7)

This is an Arduino Carbon Monoxide Sensor. It uses MQ7 probe to detect Carbon Monoxide (CO) concentrations in the air from 20 to 2000ppm. The sensitivity can be adjusted by the potentiometer. The output is proportional to the density of gas. You can use analog reading to read the data from this sensor.

DL2605Mk02

1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480×320 TFT LCD Capacitive
1 x GDL Line 10 CM
1 x Gravity: Analog CO Sensor (MQ7)
1 x Gravity: AHT20 Temperature and Humidity Sensor
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E IoT
1 x Lithium Ion Battery – 1000mAh
1 x USB 3.0 to Type-C Cable

DL2605Mk02p

DL2605Mk02p.ino

/****** Don Luc Electronics © ******
Software Version Information
Project #15: Environment - Carbon Monoxide Sensor MQ7 - Mk39
15-39
DL2605Mk02p.ino
DL2605Mk02
1 x DFRobot FireBeetle 2 ESP32-E
1 x Fermion: 3.5” 480x320 TFT LCD Capacitive
1 x GDL Line 10 CM
1 x Gravity: Analog CO Sensor (MQ7)
1 x Gravity: AHT20 Temperature and Humidity Sensor
1 x Gravity: IO Shield for FireBeetle 2
1 x Terminal Block Board for FireBeetle 2 ESP32-E IoT
1 x Lithium Ion Battery - 1000mAh
1 x USB 3.0 to Type-C Cable
*/

// Include the Library Code
// EEPROM Library to Read and Write EEPROM with Unique ID for Unit
#include "EEPROM.h"
// DFRobot Display GDL API
#include <DFRobot_GDL.h>
// AHT20 Humidity and Temperature Sensor
#include <DFRobot_AHT20.h>

// MQ7 Carbon Monoxide
int iMQ7 = A0;
int iValMQ7 = 0;

// AHT20 Humidity and Temperature Sensor
DFRobot_AHT20 aht20;
// AHT20 Humidity and Temperature Sensor
float h = 0;
float t = 0;

// Defined ESP32
#define TFT_DC  D2
#define TFT_CS  D6
#define TFT_RST D3

/*dc=*/ /*cs=*/ /*rst=*/
// DFRobot Display 320x480
DFRobot_ILI9488_320x480_HW_SPI screen(TFT_DC, TFT_CS, TFT_RST);

// Software Version Information
// EEPROM Unique ID Information
#define EEPROM_SIZE 64
String uid = "";

// Software Version Information
String sver = "15-39";

void loop() {
  
  // isMQ7
  isMQ7();
  
  // AHT20 Humidity and Temperature Sensor
  isHT();

  // isDisplay CO
  isDisplayCO();

  // Delay 1 Second
  delay( 1000 );

}

getDisplay.ino

// DFRobot Display 320x480
// DFRobot Display 320x480 - UID
void isDisplayUID(){

  // DFRobot Display 320x480
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => black
  screen.fillScreen(0x0000);
  // Text Color => white
  screen.setTextColor(0xffff);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // Don Luc Electronics
  screen.setCursor(0, 30);
  screen.println("Don Luc Electronics");
  // Tilt Switch
  screen.setCursor(0, 60);
  screen.println("Carbon Monoxide");
  // Version
  screen.setCursor(0, 90);
  screen.println("Version");
  screen.setCursor(0, 120);
  screen.println( sver );
  // EEPROM
  screen.setCursor(0, 150);
  screen.println("EEPROM");
  screen.setCursor(0, 180);
  screen.println( uid );

}
// isDisplay CO
void isDisplayCO(){

  // DFRobot Display 320x480
  // Text Display
  // Text Wrap
  screen.setTextWrap(false);
  // Rotation
  screen.setRotation(3);
  // Fill Screen => white
  screen.fillScreen(0xffff);
  // Text Color => blue
  screen.setTextColor(0x001F);
  // Font => Free Sans Bold 12pt
  screen.setFont(&FreeSansBold12pt7b);
  // TextSize => 1.5
  screen.setTextSize(1.5);
  // Vibration Senso
  screen.setCursor(0, 30);
  screen.println("Carbon Monoxide");
  // Humidity
  screen.setCursor(0, 70);
  screen.println("Humidity");
  screen.setCursor(0, 100);
  screen.print( h );
  screen.setCursor(65, 100);
  screen.println( "%RH" );
  // Temperature
  screen.setCursor(0, 140);
  screen.println("Temperature");
  screen.setCursor(0, 170);
  screen.print( t );
  screen.setCursor(65, 170);
  screen.println( "C" );
  // MQ7 Carbon Monoxide
  screen.setCursor(0, 210);
  screen.println("MQ7 Carbon Monoxide");
  screen.setCursor(0, 240);
  screen.print( iValMQ7 );
  screen.setCursor(65, 240);
  screen.println( "ppm" );
  
}

getEEPROM.ino

// isUID EEPROM Unique ID
void isUID()
{
  
  // Is Unit ID
  uid = "";
  for (int x = 0; x < 7; x++)
  {
    uid = uid + char(EEPROM.read(x));
  }
  
}

getgetHT.ino

// AHT20 Humidity and Temperature Sensor
void isHT(){

  if(aht20.startMeasurementReady(true)){

    // Humidity
    h = aht20.getHumidity_RH();
  
    // Temperature
    t = aht20.getTemperature_C();
    
   }
  
}

getMQ7.ino

// MQ7 Carbon Monoxide
// isMQ7
void isMQ7(){

  iValMQ7 = analogRead( iMQ7 );

}

setup.ino

// Setup
void setup()
{
 
  // Delay
  delay( 100 );

   // EEPROM Size
  EEPROM.begin(EEPROM_SIZE);
  
  // EEPROM Unique ID
  isUID();

  // Delay
  delay(100);

  // DFRobot Display 320x480
  screen.begin();

  // Delay
  delay( 100 );

  // AHT20 Humidity and Temperature Sensor
  aht20.begin();

  // Delay
  delay( 100 );

  // DFRobot Display 320x480 - UID
  // Don Luc Electronics
  // Version
  // EEPROM
  isDisplayUID();

  // Delay 5 Second
  delay( 5000 );

}

——

People can contact us: https://www.donluc.com/?page_id=1927

Consultant, R&D, Electronics, IoT, Teacher and Instructor

  • Programming Language
  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc…)
  • IoT
  • Wireless (Radio Frequency, Bluetooth, WiFi, Etc…)
  • Robotics
  • Automation
  • Camera and Video Capture Receiver Stationary, Wheel/Tank , Underwater and UAV Vehicle
  • Unmanned Vehicles Terrestrial, Marine and UAV
  • Machine Learning
  • Artificial Intelligence (AI)
  • RTOS
  • Sensors, eHealth Sensors, Biosensor, and Biometric
  • Research & Development (R & D)
  • Consulting

Follow Us

Luc Paquin – Curriculum Vitae – 2026
https://www.donluc.com/luc/LucPaquinCVEng2026Mk01.pdf
https://www.donluc.com/luc/

Web: https://www.donluc.com/
Web: https://www.jlpconsultants.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/@thesass2063
DFRobot: https://learn.dfrobot.com/user-10186.html
TikTok: https://www.tiktok.com/@luc.paquin8
Hackster: https://www.hackster.io/luc-paquin
LinkedIn: https://www.linkedin.com/in/jlucpaquin/

Don Luc

Leave a Comment