All Projects → koenvervloesem → M5Stack-Air-Quality-ESPHome

koenvervloesem / M5Stack-Air-Quality-ESPHome

Licence: MIT License
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor

Programming Languages

C++
36643 projects - #6 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to M5Stack-Air-Quality-ESPHome

ESPHome-Air-Quality-Monitor
ESPHome configuration for a DIY indoor air quality monitor for CO₂ concentration, PM2.5 and PM10 concentrations, and temperature, humidity and pressure
Stars: ✭ 42 (+121.05%)
Mutual labels:  esp32, air-quality, home-assistant, sensors, pm25, pm10, particulate-matter, esp32-arduino, esphome-config, esphome, pm-sensor
PMserial
Arduino library for PM sensors with serial interface
Stars: ✭ 41 (+115.79%)
Mutual labels:  esp32, air-quality, pm25, pm10, particulate-matter, pmsa003
DustViewerSharp
UART-USB based dust sensor viewer(and also logging) program by C#
Stars: ✭ 38 (+100%)
Mutual labels:  air-quality, pm25, pm10, pmsa003, pm1
Farm-Data-Relay-System
A system that uses ESP-NOW, LoRa, and other protocols to transport sensor data in remote areas without relying on WiFi.
Stars: ✭ 97 (+410.53%)
Mutual labels:  mqtt, esp32, sensors, esp32-arduino
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (+4215.79%)
Mutual labels:  home-automation, mqtt, esp32, home-assistant
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+22657.89%)
Mutual labels:  home-automation, mqtt, esp32, home-assistant
Smarthome
@skalavala 👍 Nothing But Smarthome Stuff! - By Mahasri Kalavala
Stars: ✭ 437 (+2200%)
Mutual labels:  home-automation, mqtt, home-assistant, sensors
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+12600%)
Mutual labels:  home-automation, mqtt, esp32, home-assistant
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+963.16%)
Mutual labels:  home-automation, esp32, home-assistant
openair
国家空气质量数据获取库,包含完整的API,不再信任地方检测站
Stars: ✭ 85 (+347.37%)
Mutual labels:  air-quality, pm25, pm10
texecom2mqtt-hassio
Home Assistant add-on. Connect to Texecom Premier Elite alarm panels and publish updates to MQTT. Supports arming/disarming as well as zone updates and alarm events.
Stars: ✭ 15 (-21.05%)
Mutual labels:  home-automation, mqtt, home-assistant
amshan-homeassistant
Home Assistant integrasjon for strømmålere (AMS/HAN/P1). Integrasjonen støter både streaming (serieport/TCP-IP) og MQTT (Tibber Pulse, energyintelligence.se etc)
Stars: ✭ 39 (+105.26%)
Mutual labels:  home-automation, mqtt, home-assistant
Platypush
A versatile and extensible platform for home and life automation with hundreds of supported integrations
Stars: ✭ 192 (+910.53%)
Mutual labels:  home-automation, mqtt, sensors
docker-iot-stack
💻 My personal Docker IoT Stack
Stars: ✭ 24 (+26.32%)
Mutual labels:  home-automation, home-assistant, esphome
ESPHome-OpenTherm
Example of how to control an opentherm boiler with esphome
Stars: ✭ 54 (+184.21%)
Mutual labels:  esp32, home-assistant, esphome
soma-ctrl
Node util for controlling SOMA smart shade via MQTT or HTTP
Stars: ✭ 19 (+0%)
Mutual labels:  home-automation, mqtt, home-assistant
Blynk Server
Blynk is an Internet of Things Platform aimed to simplify building mobile and web applications for the Internet of Things. Easily connect 400+ hardware models like Arduino, ESP8266, ESP32, Raspberry Pi and similar MCUs and drag-n-drop IOT mobile apps for iOS and Android in 5 minutes
Stars: ✭ 8 (-57.89%)
Mutual labels:  home-automation, mqtt, esp32
Home Assistant
Home-Assistant-Config
Stars: ✭ 182 (+857.89%)
Mutual labels:  home-automation, mqtt, home-assistant
esphome-components
ESPHome components
Stars: ✭ 62 (+226.32%)
Mutual labels:  esp32, esphome-config, esphome
ESP32-R4sGate-for-Redmond
ESP32 Ready4Sky (R4S) Gateway for Redmond+ devices
Stars: ✭ 117 (+515.79%)
Mutual labels:  esp32, home-assistant, m5stack

ESPHome configuration for the M5Stack PM2.5 Air Quality Kit

Build status GitHub license

This ESPHome configuration builds firmware for M5Stack's PM2.5 Air Quality Kit (PMSA003 + SHT20). It shows:

  • The amount of particulate matter (PM1, PM2.5 and PM10).
  • The temperature and humidity, as well as the computed vapour-pressure deficit and dew point.

ESPHome configuration for the M5Stack air quality kit

Requirements

The SHT20 sensor is not supported by ESPHome, but this repository adds a custom component that's using the Arduino library uFire_SHT20 which supports the sensor.

Usage

Compile and upload the firmware to your M5Stack air quality kit with:

esphome run m5stack_air_quality.yaml

The YAML file doesn't configure any Wi-Fi connection, MQTT broker or native API for Home Assistant. You can add this yourself. The configuration has been tested extensively with MQTT. If you have set up Home Assistant MQTT discovery, the sensors of the device even automatically show up in Home Assistant.

The middle button is used to toggle the display's backlight on and off.

Remarks about the temperature and humidity readings

The SHT20 sensor shows a much too high temperature and much too low humidity. This doesn't seem to be a software problem: I tried a couple of other libraries for the SHT20 with the M5Stack air quality kit and they all have the same result.

According to Sensirion's data sheet of the SHT20, you shouldn't do more than two measurements per second at 12-bit accuracy, to prevent self-heating of the sensor. In my custom sensor component, I configured polling every second to stay on the safe side.

But even this doesn't solve the problem. I suspect M5Stack's hardware design is faulty and the sensor really reads the heat produced by the other components in the M5Stack Core case.

TODO

  • Change the interface to something nicer. I'm not a designer, so I welcome any suggestions or pull requests.
  • Use the left and right buttons for other tasks.

Learn more about ESPHome

If you want to learn more about ESPHome, read my book Getting Started with ESPHome: Develop your own custom home automation devices and the accompanying GitHub repository koenvervloesem/Getting-Started-with-ESPHome.

License

This project is provided by Koen Vervloesem as open source software with the MIT license. See the LICENSE file for more information.

The included Roboto font is licensed under the Apache License, Version 2.0.

The uFire_SHT20 library is licensed under the MIT license.

The C++/runtime codebase of the ESPHome project (file extensions .c, .cpp, .h, .hpp, .tcc, .ino) are published under the GPLv3 license. The Python codebase and all other parts of the ESPHome codebase are published under the MIT license. See the ESPHome License for more information.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].