Close

21.09.2022 Update:

A project log for LoRaWAN AQI Sensor With E-Paper Display

This is a lowpower consumption Air Quality sensor, it measures T/H/P/AQI and commit the data to LoraWan(TTN), together with a E-ink Display.

aduechoaduecho 09/21/2022 at 20:410 Comments

1. EPD partial update is working well now, the driver provide by Waveshare(seems a wrap of Good-Display‘s driver) give a serious afterimages when using partial update, after modify the LookUpTable, it works fine now. But after update the LUT, the partial update time takes 1.2s. The advantage is the display doesn't have obvious afterimages after one night running (around 1000x partial update).

2. Basic font are ready to us, the font width is dynamic, in order to have the "handwriting effect", but since there are only few characters shows on the display, so it doesn't make much sense.

3. Icon images are ready, there are 4 dynamic icons: LoraWan joinned status(0 and 1) / battery level (0-19) / Emoji for AQI(1-7) / AQI accuracy level (0-3, the right down target icon).  (Before this, the EPD just show a UI picture)

4. Get time from LoraWan server (TTN) is working,  by using deviceTimeReq MAC command after the device joined the LoraWan.

5. Cayenne LPP works fine till now, it has a user friendly UI, you can check the historical data easily.

There still a lot of todos:

HW side:

1. Soldering the beeper and 2 LEDs on the PCB, when the AQI level is very bad, then beep 2 seconds.

2. Remove the battery voltage circuit on the PCB, since it's duplicated, to reduce the leakage current.

3. Test the PCB antenna and the spring antenna, check which performance is better.

SW side:

1.  store the lora configuration into the EEPROM, to avoid "DevNonce is too small" problem in TTN when the device rejoined the TTN net. (when the TTN console report this error, the device still can join the TTN net after a certain time, but this will use a lot of energy )

2. Store BME680 sensor status info into flash, to avoid the long initial time(2-5 mins) of BSEC.

3. Set BME680 into Ultra-low power mode, T/P/H update period is 3secs, AQI update period is 300s. Set the EPD update rate to 30sec, display the 10 measurements mean value of Temperature and Humidity on the display.

4. Comit sensor's data to TTN once per hour, the data contains the sensor's Max/Min/Mean value during this 1 hour.

5. Using the varibration sensor to change the EPD UI, show the last 5 day's temperature & AQI data.

6. Set Seed-E5 module into stop mode with RTC/EXTI wakeup, in order to save power.

7. Test the whole system dynamic current consumption and optimize it, evaluate the battery lifetime

usage extension:

Due to gas crisis in Germany, the temperature in the office may not over 19 deg this winter, seems my office covered by TTN, so if it's too cold there, I can choose Homeoffice.  And if the AQI is bad, the beep can notice me to open the window for a short time.

Discussions