With a BME 680, 2 seconds of measuring every 5 minute and esp-now protocol for sending, I estimate a 200+ day battery life. Esp-now protocol sends the message in a fracture of the time than wifi. Also you can tune the cpu & flash frequency depending on our workload. I have to wait 2s for the measurements to complete, so I lower the frequency to use less energy.
From 3.7V to 2.7V I coud activate 37'000 times with a total runtime of about 8h.
Schematic is found here: https://github.com/LilyGO/LILYGO-T-Energy/blob/master/t18_v3...
You also have the battery voltage on IO35 with a 2x100kOhm Voltage divider.
The setup is not perfect, but good enough so far, and practical.
If I start over, i would look into * taking a processor with lower speed und power. * taking CR 123 or a battery optimized for very low self discharge current. * Use a wireless protocol with very low overhead. I use ESP-Now now, WLAN would cut battery life in half.
That one has extra circuitry to shut the esp down completely and wake it on either an external trigger or RTC based alarm. It claims 1.5uA sleep current.
The creator has a YouTube channel with lots of info about low power and other interesting tidbits https://www.youtube.com/user/kdarrah1234