DIY Air Quality Monitor
- ESP8266: nodemcu-devkit with nodemcu-firmware (custom 1.4.0 20151006, integer).
- Send met data to ThingSpeak.
- BMP085/BMP180: pressure and temperature
- AM2320/AM2321: relative humidity and temperature
- BME280: pressure, relative humidity and temperature (alternative)
- PMS3003: PM1, PM2.5 and PM10
- MAX17043: LiPo fuel gauge (optional)
- Other ICs/sensors/modules not relevant for this aplication, but nonetheless interesting:
- Arduino pro mini (ATMEGA328P, 8bit AVR, 3.3V 8MHz): 8-channel 10-bit ADC, 6-channel 8-bit PWM, and programable sensor hub
- Maple mini (STM32F103CB, 32-bit ARM Cortex M3, 3.3V 72MHz): 9-channel 12-bit ADC, 12-channel 16-bit PWM, and programable sensor hub
- CD4051: 8-channel analog multiplexer/demultiplexer, to extend the esp8266 ADC
- INA219: voltage, current and power
- PCF8591: 4-channel 8-bit ADC and 1-channel 8-bit DAC, 4 addresses
- ADS1115: 4-channel 16-bit ADC, 4 addresses
- MCP4725: 1-channel 12-bit DAC, 2 addresses
- PCA9685: 16-channel 12-bit PWM, 62 addresses
- Status RGB LED
- Base Shield: base board for wide nodemcu modules (devkit-0.9). Incudes a 5V/1A buck regulator.
- Motor Shield: base board for thin nodemcu modules (devkit-1.0). Incudes a L293D dual H-bridge IC.
- Meteogram: use Highcharts to display met data from channel.
- PMgram: use Highcharts to display PM concentrations from channel.
- lua_modules: Under 0.9.6 there is bearly enough RAM for the current modules.
Moved to 1.4.0 custom nodemcu-firmware.
- MAX17043 sensor.
- browser side makrdown with strapdown.js
- index.md: index page with thingspeak plugins and external widgets
- config.md: config page
- save params to
keys.lua
- wifi.SOFTAP only(?)
- save params to
- RPi: python powered moniitor.
- Fast to prototype new sensors.
- Extensive python sensor libraries.
- Weekend project.
- esp-link: espXX + atmega328/168 (w/optiboot).
- Divide the problem in wifi/post (esp) and sensor-read (atmega).
- Extensive arduino sensor libraries.
- Re-program the atmega OTA.