I created a small board for the D1 mini to plug in to many years ago, it sets up an ads1015 and connectors to monitor battery voltage, solar cell input, a CdS cell to gauge sunlight, and a free analog input for things like soil moisture.
I've been thinking it's time to split this into two boards -- one for the satellite sensors, and one for the main (AC-powered) weather station. There are some hardware requirements differences between the two, and a single solution no longer seems to fit everything.
I think I worked out the #DS18B20 problem finally. My boards are set up to power sensors using D7 and D8 to control Vcc and ground going to each, and that dropped the voltage too much since this sensor is barely rated for 3.3v. So for my 1wire plug I connected Vcc directly to the battery and just switch the ground.
Well last night's test provided sensor reading down to 2.39v before the #esp8266 itself gave out, and I was able to eliminate the extra resistor I kept messing with. Success!
All right, first round of comparison testing, #esp8266 D1mini. It wakes up every minute to collect sensor data and send it out over wifi via MQTT, then goes back into deep sleep (awake time is ~2 seconds). The stations in the yard only wake up every 5 minutes.
The test last night had an incomplete battery charge, but still ran for just over 10 hours. I just need to note when the battery gets back down to the same level for an accurate comparison, but hopefully that won't be for a few days?
Wow, this test is blowing me away! For anyone running any battery-powered #esp8266 projects, I think removing the voltage regulator is a MUST.
So far I can report that there is a quick drop in battery voltage in the first four hours (from 3.50 down to 3.43v), then it levels off. In the last 15 hours the battery has only dropped 0.06v (down to 3.37). I mean, that's just incredible for collecting sensor data and sending out a wifi burst once every minute. At this point it might be another 4 days before the battery drops to where the first test started (at 3.17v, which only lasted 10 hours with the regulator).
Also for reference... the connected sensors on this board are an ads1015 (adc) for monitoring battery and charger voltages, a CdS cell to roughly measure sunlight, and an input for ground moisture; an SHT31 to measure temperature and humidity (other boards have a BME280); plus the DS18B20 for measuring pond temp and I hope to also start measuring ground temp from another unit.
Back to the new #weather station code on the #esp8266, I've been poking at the bits that measure wind speed. The code accumulates data over 3-second periods and calculates average, gusts, and lulls. Well that's great and all, but 3 seconds to measure gusts?
It hit me last night that I can take this the opposite way, and instead record the shortest period between anemometer rotations, giving instantaneous results. Pretty windy today so I have a lot of data, and the results are looking really good!