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:
- ESP32 Mini KIT (Recommended board)
- ESP32 compatible board (WeMOS like)
- ESP32 Bluetooth WIFI Kit OLED
Pollution sensors
Optional hardware
- Battery module for ESP32 Mini KIT (Optional)
- USB Power module board (Optional)
- Lipo Battery of 3.7v or similar (Optional)