Close

05.10.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 10/05/2022 at 20:390 Comments

05.10.2022 Update:

There is not much free time recently, so the update is slowly.

1. Struggling with the low power mode: At beginning, the boad suspend current(MCU in STOP2, EPD & BME680 are in sleep mode) more than 600uA, even removed the EPD, the suspend current is not reduced.

2. The BME680 is  suspected, the heatter seems on by default, then send command to turnoff the heater, but it doesn'r help either.

3. Suspect the soldring paster cause current leakage(the 1st soldered with hotplate), or the Lora-E5 or BME680 get damaged due to ESD issue. Then take another PCB, after make sure the PCB is without leakage current,  solder this board carefully with iron, only put lora-E5 module and EPD driver on it. After testing, the suspend current is still too high, around 400uA. 

4. Connect the board to the debugger, together with a DIM, debugging code and check the relative current change.......

5. Finally found we need to set the used pin to analog mode to save current, before I set them as input with pullup / pulldown resistor, which consume much more current than analog mode. 

6. Solder BME on the board, the suspend current has no big difference.  Now the 2nd board suspend current is ~ 1 . 5uA, but the 1st board suspend current is still higher, around ~ 2.4uA. The root cause is unknown, maybe by devices deviation.

7. Debug each SW modules, make sure they are working fine after the CPU recovered from Stop mode. and they can't let the system caused addtional current during system suspend mode. Struggling a long time with the SPI recovery after stop mode.

8. Now the system running with BME680 LP mode(sensor date update every 3 Secs), Send data to TTN every 60s(with TX_POWER_11 due to the current mesurement device limitation), EPD partial update every 56 Secs. Here are some current data:

    A: BME680 sleep, Lora TX current.(1st peak is TX data, 2nd is RX1, 3rd is RX2, 4th is a timer wakeup CPU) 

     B: Suspend current, this is the 1st board with higher suspend current

      C: BME680 working current(it makes a measurement every 3 Secs, at 57s there is a Lora TXD)

       D: Zoom in for BME680 one measurement:

       E: EPD partial update current:

9. it seems each activity will consumes a lot of energy, so the plan will be set the BME680 working with LP for T/H/P sensors, and ULP for AQI sensor, the EPD will be partially update every 56 secs in order to display the time correctly. And Lora commit data to TTN every 15 mins or the sensor data changed a lot, maybe 20% within 15mins. The EPD will make a full refresh each 2 hours to avoid shodaws like this:

10. The historical chart will be add later, hopefully all of this can be finished in Oct. Then I can share the firmware here for those interested.

Discussions