element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Just Encase
  • Challenges & Projects
  • Design Challenges
  • Just Encase
  • More
  • Cancel
Just Encase
Blog #Blog 4 Getting started with the airquality monitor project
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Just Encase to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: vishwasn
  • Date Created: 2 Mar 2022 10:21 PM Date Created
  • Views 775 views
  • Likes 4 likes
  • Comments 0 comments
  • Hammond Manufacturing Enclosures
  • lora
  • just_encase
  • just encase
Related
Recommended

#Blog 4 Getting started with the airquality monitor project

vishwasn
vishwasn
2 Mar 2022

With the help of data that I got from the water level monitor, I was able to justify why my water usage was more than expected and found 

a leaking near the toilet flush which was used to discharge the water slowly to the sink and fill the flush tank. Now it has been fixed and thanks to sensors and LoRa. 

Even made a calculator in excel to divide bills among other tenants. Saved some water and some money.

image

My water usage calculator.

Now moving on to my second experiment i.e the Air quality monitor. 

Air quality monitor.

Living close to a national highway I always wondered what would be the CO2 level and temperature changes throughout the day,

now that I have relevant sensors and a LoRa module to get the data out with very low sleep current too. So why not build an air quality sensor

and log the data. 

Getting started:

Get the required things:

Here I will be repurposing the same PCB I made for the Water level Sensor. Because I will be only using the I2C connections for this. I had this breakout of CCS811 and BME280 sensor from Sparkfun. I will be using that to 

get the following data. I would recommend buying both BME280 and CCS811 separately as the CCS811 may have some influence on temperature values measured by the BME280 because of proximity and heating of CCS811. 

Something like this module:https://www.sparkfun.com/products/14193

1. eCO2 in ppm

2. TVOC 

3. Temperature from BEM280

4. Pressure from BME280

5. Altitude from BME280

6. Relative Humidity from BME280

Connections will be like this:

Arduino MKR 1300                CCS811+BME280 Environmental combo module

SCL                                          SCL

SDA                                         SDA

VCC                                         3.3V

GND                                        GND

The code for the project will be Airquality_LoRa and it is available in the same repository: https://github.com/vishwasnavada/LoRa_Exp

Working:

CCS811 is a MEMS (Micro-Electro-Mechanical Systems) based sensor that is compact and uses less power compared to the MQ135 gas sensor which uses a heating element and 

a bit slow too. This CCS811 has a burn-in temperature of 20 mins which means the sensor values are accurate after the 20 minutes of the initial turn on. If you have a  good budget and want more accurate results, I would recommend you to  go for the Honeywell air quality sensor with a fan that can even measure PM2.5 optically with better accuracy. 

In future, the pollution level might increase so high that one will have to plan the road accordingly before heading out somewhere. Where the air quality sensors play a major role. 

The code is self-explanatory and I have added comments wherever necessary. Look out for libraries that need to be installed in case if you want to build one. 

The receiver code is simple it shows the data payload received over LoRa in the serial monitor. 

Since I want to log these data I just added ArduinoJson library which will help me to unpack the data on the receiver end. 

 // Converting results to JSON for easy access at the end
  StaticJsonDocument<200> doc;
  doc["CO2"] = myCCS811.getCO2();
  doc["TVOC"] = myCCS811.getTVOC();
  doc["Temp"] = myBME280.readTempC();
  doc["Pressure"] = myBME280.readFloatPressure();
  doc["Altitude"] = myBME280.readFloatAltitudeMeters();
  doc["RH"] = myBME280.readFloatHumidity(); 
  serializeJson(doc, LoRa);
  LoRa.print(counter);
  LoRa.endPacket();

With everything put back together I wanted to test whether the solar panel is charging the battery 

image

TP4056 charging module has a red light turned on which means it's charging. 

Here's the video just before the deployment:

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

After the deployment we will be getting t data over LoRa here I will be showing the data received on the COM port connected to one more module. 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

Here the data is directly being received and displayed on the com port i.e without the json implementation. 

image

Data with json implementation

We will test the results and enclosure conditions in the final blog

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube