Defining the data acquisition cycle
- Wakeup
- Scan for bluetooth beacons for 10 seconds.
- At the same time, set the PM sensor into active mode and switch the fan on to allow fresh sream of air to flow into the sensor for 15 seconds.
- Take the PM 2.5 and PM 10 readings, 2D thermal snapshot and extract the min, max and average, standard deviation of temperature pixel values and write this data to the SD card as a CSV file.
- Deep sleep for 30 seconds.
Sample recordings of this data within a CSV file is as below:

The power consumption of a data acquisition cycle can be seen below.
Power consumption profile(Single data acquisition cycle)
To power profile I used the current ranger with the ground lead replaced with a low noise prong. The data was recorded on an oscilloscope and exported as a CSV for further analysis.

Average power consumption: 61.46mA
Suggested power consumption improvements - Next iteration
It is noted that the deep sleep phase of the data acquisition phase is around 40 mA. The reason for this may be due to the following factors.

- The Particulate matter sensor power mode is software controlled - The datasheet gives a < 10mA idle current.

- The load distribution within the system - There are multiple loads on the 3v3 rail that are always active even when the ESP32 is in deep sleep such as:
- 15-25mA - thermal sensor(20mA)
- ~10 mA - SD card, RTC, temperature humidity sensor, GPIO expander.
Power profiling setup





Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.