MicroTimer - A weather station/clock that runs indefinitely on indoor solar power
https://github.com/yucandu/ClockV3
MCU
STM32L412K8T6
Display
ST7305 168×384 2.9" MiP LCD ("Memory LCD") @ 0.25hz
Sensors
AHT20 — Temperature & Humidity
BMP280 — Barometric Pressure
DS3231SN — Real-Time Clock
MAX17055 — Fuel Gauge
The AHT20, BMP280, and DS3231SN are powered directly from MCU GPIO pins to minimize standby power consumption.
Power System
30 mAh LiPo battery (Bluetooth earbud battery)
TP4054 charger configured for 50 mA charge current
DFM8001 energy harvesting module
Two 30 mm × 30 mm × 3 mm amorphous silicon solar panels
Recycled from dollar-store garden lights
Runs at ~150uA avg, according to INA228 coulomb counter (used as poor man's power profiler). Sitting upside down on a desk in regular indoor lighting at night, solar panels harvest ~200uA. Coded entirely for STM32CubeIDE.
6 replies
That's very neat! Any chance for the schematics?
I either lost the schematic or never made one, but this one for the newer STM32U3 version is pretty much identical, just with an STM32U3 instead of the STM32L4:
https://i.imgur.com/r15uMNC.png
i think i actually omitted physical pullups on the switches. the max17055 is only so I can track exactly how low-power it is.
this is the pin layout I used on the L4, mirrored, because I deadbugged it upside down:
https://i.imgur.com/vEPDjOL.png
I did it on perfboard and plotted the layout in photoshop, this is the closest to the end before it was all done:
https://i.imgur.com/aDK4pHn.png
Thanks! :)
oh that's missing the DFM8001 solar harvesting module + solar panels that give it the indefinite indoors feature.
Well, it's a start at least. That DFM module was the selling point of the project for me. It's neat to have something run on solar
lol it's pretty simple, you just follow the instructions in the dfm8001 datasheet - SCRIN + GND to your solar panel, BAT + GND to your battery. Tie all three VFC pins to the BUCK pin to configure for lipo. Tie both MPPT pins to GND for a shitty solar panel. Tie L_EN, H_EN (unless you wanna use it instead of the RT9080), PRIM_U, PRIMBAT, and DCSC to GND. Leave all other pins floating. I think it's $6 on digikey.