element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • 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
Project14
  • Challenges & Projects
  • More
Project14
Blog The air quality monitor
  • Blog
  • Forum
  • Documents
  • Theme Suggestions
  • Polls
  • Members
  • More
  • Cancel
  • New
Join Project14 to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: kk99
  • Date Created: 21 Mar 2021 1:35 PM Date Created
  • Views 1110 views
  • Likes 8 likes
  • Comments 1 comment
  • air quality sensor
  • pms7003
  • esp8266
  • weather station
  • bmp280
  • air quality monitor
  • mini weather station
Related
Recommended

The air quality monitor

kk99
kk99
21 Mar 2021

image

A couple of my friends were interested in monitoring of quality of air in places where they live. I have decided to make for them an air quality monitoring station with optional monitoring for temperature, humidity and pressure. I have found nice project which provides firmware for devices like ESP32 or ESP8266 and allows to usage various of dust, temperature or humidity sensors. Here is github page about this project: Smogly.

I have decided to use following configuration:

- ESP8266,

- PMS7003 as dust sensors,

- BME280 as temperature, humidity and pressure sensor.

 

First stage was to create schematic and PCB for these devices. I used a online version of EasyEDA were I was able to quickly design PCB. Below are schematic and designed PCB:

image

image

Next step was to made of PCB. I have decided to use my 3 in 1 convertible device and made PCB with CNC. I have used FlatCAM to generate proper g-code and AutollevlerEA tool to add corrections caused by irregularity of copper surface. Due that my CNC device do not had Z-axis probe in mean time I was forced to create it. I posted here about it: Z probe for the CNC machine [part 1]  Z probe for the CNC machine [part 2] . Below photos of PCB after milling process:

image

image

Next step was to solder everything together. At this stage I found that in future is better to add more spacing between solder pads. After soldering, I used PCB varnish to paint all surface and some upper electronic to achieve better protection from external environment. Below photos of soldered PCB:
image

image

Next stage was to create a enclosure. I am at stage of learning and getting familiar with 3D printing, so I decided to print an enclosure. I found here: MySensors Mini Weather Station really nice project (quite similar to Stevenson screen) which I decided to use. I used the Cura firmware to resize and slice this case. Below are final results:

image

Case was printed with PLA and 30% infill and resolution of 0.2. After printing I painted this case with varnish, to get better protection from external environment. Last step was to add power supply and fit the electronics inside. For supply I have used 3 m wire from USB extension cord. Here are photos from assembly:

image

image

image

 

Next step was to flash these devices with proper firmware. I have downloaded binary with firmware for my device. For flashing of devices I have used command line tool written in Python called: esptool.py. Below are commands and output from flashing:

bright@moon:~/smogly$ esptool.py --chip esp8266 erase_flash
esptool.py v2.8
Found 1 serial ports
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:44:c7
Uploading stub...
Running stub...
Stub running...
Erasing flash (this may take a while)...
Chip erase completed successfully in 25.9s
Hard resetting via RTS pin...
bright@moon:~/smogly$ esptool.py --chip esp8266 --port /dev/ttyUSB0 write_flash --flash_mode dio --flash_size detect 0x0 ESP8266_Smogomierz_2.7.9_PMS_build_3.05.2020.bin
esptool.py v2.8
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 8c:aa:b5:59:44:c7
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Compressed 581120 bytes to 379917...
Wrote 581120 bytes (379917 compressed) at 0x00000000 in 33.6 seconds (effective 138.5 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin..

 

Last stage was to perform 24 hour test. I have initially configured these devices:

- set proper pinouts for dust sensor,

- set proper pinouts for BMP280 sensor.

Generally this firmware after adding the devices to local Wi-Fi network allow to access them via following address: http://smogly-XXXXXX.local. There is option to configure that these devices would send data to remote services like thingspeak.com etc. Below photos from initial configuration:

image

image

 

image

It will be nice experiment to check how these sensors performs in outdoor environment. The plan is to mount it on covered balcony.

  • Sign in to reply

Top Comments

  • DAB
    DAB over 4 years ago +1
    Nice project. DAB
  • DAB
    DAB over 4 years ago

    Nice project.

     

    DAB

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
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