component | model | link | photo |
---|---|---|---|
microcontroller | esp32 doit devkit v1 | aliexpress | ![]() |
co2 sensor | mh-z19b | aliexpress | ![]() |
temperature, humidity, pressure sensor | bme280 | aliexpress | ![]() |
OLED display (1.3", 128 x 64) | sh1106 | aliexpress | ![]() |
li-ion battery (18650) | ncr18650b | aliexpress | ![]() |
li-ion battery charging board with protection | tp4056 | aliexpress | ![]() |
battery case (18650) | - | aliexpress | ![]() |
step-up voltage converter (1V-5V to 5V) | - | aliexpress | ![]() |
capacitor (1K μF) | - | - | |
button | - | - | ![]() |
plastic case (105 х 75 х 26.4 mm) | - | chipdip (RU) | ![]() ![]() |
total cost (including shipment from China to Saint-Petersburg, Russia): 2.700 RUB (42 USD)
most expensive component: co2 sensor - 1.230 RUB (19 USD)
shipment time: 2-4 weeks
circuit diagram | ![]() |
assembling on breadboard | ![]() |
soldering / glueing / drilling / packing in case | ![]() |
connecting to usb for charging / debugging | ![]() |
front side | ![]() ![]() |
operating temperature range | 0 ~ 50 °C |
weight | 136 g |
average current | ~ 90 mA |
on-battery life time | ~ 37 hours |
-
short on-battery life time (despite all improvements #34).
originally i've expected device to work at least 1 week on single battery charge. but it all comes down to this:- esp32 drains considerable amount of current for wifi operations (even in modem sleep mode).
- mh-z19 was not designed for low-power consumption as it drains min 5 mA constantly with 100 mA peaks.
-
temperature reading is affected by case self heating.
esp32 radiates most of the heat, and some more comes from mh-z19 and battery.
despite i've drilled a lot of holes on front panel and a side, looks like it's still not enough.
overall mistake is ~ +2 °C (gradually heating up for 1-2 hours after startup), which needs firmware compensation.