/esp32-hpma115s0

CanAir.io pollution sensor builded with a ESP32 board and HPMA115s0 Honeywell dust sensor

Primary LanguageC++GNU General Public License v3.0GPL-3.0

ESP32-HPMA115S0 (CanAirIO sensor)

W A R N I N G : Project in development

Citizen science project with mobile and fixed sensors for measuring air quality (PM 2.5) using low-cost sensors and smartphones. Built with a ESP32 module board and HPMA115s0 Honeywell dust sensor, interfaced with an Android Client.

Full guide (Hackster.io): English | Spanish

Software Dependencies

Please install first PlatformIO open source ecosystem for IoT development compatible with Arduino IDE and its command line tools (Windows, MacOs and Linux). Also, you may need to install git in your system.

Compiling and installing

For default board D1Mini Kit, clone and upload firmware via USB cable:

git clone https://github.com/kike-canaries/esp32-hpma115s0.git
cd esp32-hpma115s0
pio run --target upload

Optional for other board, please edit and select it on platformio.ini file and upload the new firmware, for example for Heltec:

build_flags =
# Uncomment your board
# -D WEMOSOLED=1
# -D D1MINI=1
 -D HELTEC=1

You can download the last firmware version in releases section.

Troubleshooting

If you have some issues with Bluetooth library internals, please upgrade all frameworks and tools on PlatformIO:

pio update
sudo pio upgrade
pio run -t clean
rm -rf .pioenvs .piolibdeps
pio run --target upload

TODO

  • HPMA115S0 fixes and libraries tests
  • SSD1306 OLED display output (PM2.5 and PM10)
  • Basic output via Bluetooth LE GATT server
  • Gson output parser (for Android client)
  • WeMOS OLED board supported
  • Heltec board supported
  • D1 MINI Kit OLED board supported
  • LaserCut box for D1Mini board
  • Config WiFi device stand alone option
  • Real time clock or clock set via BT sync
  • Timestamp for GPS sync
  • Display graphs for PM2.5 and PM10
  • ROM storage for offline issues

Materials

Please for official materials and part list click on wiki or full guide on Hackster.io: English | Spanish

Supported boards:

Pollution sensors

Optional hardware