Sometimes a project doesn’t have to be technically amazing to win over our hearts. [Malte]’s ESP8266-based weather station is so cute, and so nicely executed, that it’s easily worth a look. It could totally be a commercial product, and it’s smaller than a matchbox.
It combines temperature, humidity, and barometric pressure sensors on one side of a PCB, with pads for soldering a pre-built ESP8266 module on the other side. Solder it all together and flash the firmware and you’re almost all set.
The final step is to configure it to work with the network. For this, [Malte] built in a nice web-based configuration (and display) application. It also can log its data to an MQTT system, so there’s a bunch more configuration (which we’re trying to make easier) needed there, and the web frontend makes that light work. Everything, from the hardware to the firmware, and even a pre-compiled binary, is up on his GitHub. Very complete and very well done.
If you can read German, or are willing to run it through a translator, give his personal projects webpage a look as well. Good stuff here. Now all he needs is a matching nice display for inside.
What about that problem with ESP’s heating? Temperature sensor is on the same PCB?
the ESP will sleep most of the time. The heat dissapation shouldn’t be an issue.
No commercial weather station product would tolerate the poor battery life of the ESP…
It’s USB so perhaps no battery there…
Depends on the battery size and how you optimize (you don’t need to send wifi all the time). Apparently, you can get the ESP down to less than 1mA in Idle-mode. Use like a normal AA-battery with about 2000mAh and you can run it for 2000 hours. That should be enough for a weather station.
Kind of useless if you only run in idle mode, as you’ll not get any data, and changing the battery every 3 months is going to be a major pain in the arse.
IIRC the hoperf based cheapy stations send data once a minute, and a pair of AAs last a couple of years (>15000 hours). ESP8266 is ok for novelty value, but not of practical use for battery powered devices without some sort of supplementary low-power processor to turn it on/off.
I second that, I have made an outdoor temp/hum sensor with the ESP. It’s annoying to change batteries every 2-3 months. Compared that to a off the shelf weather thingy with external sensor that is still running on the same battery for 2 years.
Add a small solar panel and enhance the project.
@dave,
It is not that simple or cheap if you go there.
In the end it is about trade-off. An ESP will work by itself, but burn a lot more power. A dedicated radio will need a gateway, but burn less power.
It’s all about the trade off you want to do. If just an outside temp sensor is all you want, than just use D cells with the ESP and it will run for a long time.
@bogdan,
I have lots of little solar panels from all those $1 LED garden/path lights that self destruct a year after purchase.
Solder them in series and put them in a clear weather resistant container.
No commercial weather station product would put a wifi device one battery. The problem isn’t inherent to the ESP but to the wifi consumption.
It is define telly possible if you make some trade offs: don’t expect years, but maybe 1 year will do. Use 2 sets of AA(4 batteries) or 2 bigger ones, like D cells. Don’t send data every 30 seconds, but every 5 minutes. Use a separate subsystem/micro controller to measure the constant things like rain gauge and wind.
Sorry but the ESP can be put in very deep sleep modes that end up using far less battery than the commercial “davis” wireless weather station I have.
So yes, they will tolerate worse, much worse as they already have a lot of products on the shelf that have significantly worse battery life. La Crosse weather stations and products for example are not only crap battery life, but really bad weather sealing to the point that most of their outdoor sensors fail in a year.
There are various ongoing efforts to greatly improve the batterylife. You should really watch this movie to learn some new tricks. Spoiler alert: 17 days on a LIR2450 coin cell and a projected 425 days on 2 AA cells while transmitting every 2 minutes. That would be more than enough for me :-)
https://www.youtube.com/watch?v=IYuYTfO6iOs
You scrambled your numbers like marketing does: took the lowest of one and the highest of another, which you never achieve.
To combine this with things I have seen online in various places and my experience: you can get each measurement done along with the connection to the AP and server and data transmission in 1-2 seconds at best. This includes a fast response from the server, fixed IP allocation.
With such a configuration and 5 minute interval you can get close to 1 year on AA. But but but…there are a lot of assumptions: it does not get too hot(leak current will increase like hell), you add serious decoupling to provide the spikes from a drained battery, no server issues, no clogged wifi etc.
Now compare that with dedicated radios(using RFM75/NRF24L01): my modules can come from standby, measure and send data to GW in less than 4ms. That is already more than 200X reduction in energy. Standby current is about 3-4uA vs 25(for ESP), 6X improvement.
No offence taken, but these numbers are not mine and neither is the video. So I did not scramble these numbers, just quoted them to show there is potential for a significant gain in efficiency when working with the ESP. I will never dispute that there are way more energy efficient solutions for tossing around small batches of data. But mind that the ESP provides an easy, cheap and convenient way to get things done, with the biggest advantage of not needing a base station when one already has a wifi router/acces point, which most people do.
Next to that with using the propose methods the ESP can be easily powered using a small solar cell, even indoors. In that case, a few uA do not matter that much.
The video says only 27 days out of 2 AA batteries for 2min interval, the 425 days are at 1h interval ;-)
It will run for only 27 days at 2 minute interval, the 425 days are for 1 hour ;-)
Ah indeed, I stand corrected. I watched the video already a few days ago, so didn’t remember all the details exactly. Still is quite nice though, as is your weather station! Did you consider the newer BME280 sensor? It’s a bit more expensive, but provides temperature, humidity and barometric pressure in one tiny package.
Didn’t mean to offend, and I saw it is not your video. That is why I said about marketing, cause i thought you fell for it.
Not disputing the ESP as a folution for a 1 thing… but build more than 1 and you will see the need to bypass the wifi. For a while…then there will be 802.11ah and I can’t wait to get an ESP equivalent for this one!
Oh the future of these things is going to be great. I guess the ESP32 is going to bring some improvements already, haven’t seen too much real-world experiences though. Happy hacking!
Almost forgot, there is some more magic possible:
https://github.com/EspressifSystems/low_power_voltage_measurement/wiki
Just a quick recap from the video, for the lazy people:
1. Take out the LED(s)
2. In case of Lithium based cells replace the voltage regulator by a (very) low drop regulator with a very low quiescent current, i.e. the HT7333, to get the most out of your cells.
3. In case of 2 AA batteries completely lose the voltage regulator as it is not needed –> no quiescent current from the VReg.
With deep sleep the ESP should then use about 15uA.
I’m using the MCP1802 (25µA typical), red LED removed. The whole system consumes about 35µA in low power standby as you can see in my video: https://www.youtube.com/watch?v=ds4eqejn9tY
The “magic sauce” hidden low power feature sounds interesting (will have a closer look later), and i’ve also found the “MODEM_SLEEP” which can be enabled in STA mode. It is added to the latest development branch on Github for testing, thank you very much for your suggestions!
Schönes Video, you should definitely include it on your site! Also, have a look at the BME280 sensor, as I described above.
I’ve got a Spark Core hooked up to a DHT11 powered by an 18650. Wakes up every 30 minutes, takes a humidity reading which goes via IFTTT to a Google Docs spreadsheet, then goes back idle. It’s run for over two months.
I like it, simple, effective. This is a good starter project for some.
“A set of four AA batteries e.g. will last for about one month”
There must be done some improvements on the code.
This is to short lifetime on 4 AA’s.
Instead of using SHT22 and BMP180 it would be a better idea to use BME280. That sensor measures temperature, humidity and pressure so it’s ideal for weather sensing applications. It uses I2C or SPI (supports both), and not some strange one wire protocol.
I agree that ESP8266 is not best choice for such application, it surely is practical because you don’t need separate receiver, but I think some BTLE (like nRF51822) or transciever like nRF24L01+ would be much better for very low consumption device.
However, by adding small solar panel, supercap and small li-ion battery it would probably be easy and cheap to make ESP based sensor that doesn’t need battery changing. Thermal issues of ESP should be considered however.
I believe li-ion cell should not be charged under 0C. So adding a solar panel and li-ion battery is good for summer only, but in winter, in freezing temperature, it is not possible to charge the battery. Some internal heating should be considered, but I think it is way too much work, if possible at al..
That depends on the climate you’re in. Many places have enough mild days between the freezing ones to get a bit of a charge back. This past winter in southwestern Ohio was pretty tame.
Probably why commercial weather stations as Davis use supercap for energy storage. With an hour on the sun it has more than 24 hours of worktime.