Wemos D1 mini WiFi meteostation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Solar powered meteo station with ESP8266 Wemos D1 Mini Pro

IoT meteo station system based on ESP8266 Wemos D1 Mini Pro. Checks temperature, humidity and pressure. Data are sent to Blynk and ThingSpeak channel (via Webhook widget) every minute, then is used deep sleep. Project is free to use, coded in C++, created in Visual Code with PlatfomIO IDE.

To build a project, you need to download all the necessary libraries and create the settings.cpp file in the src folder:

// Meteo station project settings
struct Settings
    const char *ssid = "WIFI ssid";
    const char *password = "WIFI password";
    const char *blynkAuth = "You Blynk Auth";
    const char *version = "1.0.0";
    const char *firmawareUrlBase = "http://your-address.com/";
    const char *firmwareFileName = "meteoStation";
    const char *firmwareVersionFileName = ".version";


Wemos D1 Mini Pro is powered by NCR18650 3.7V 3400mAh Li-ion battery (with PCB protection). Battery is charged by 6V 1W solar panel via TP4056 Lithium Battery Charger Module (with protection). Between solars panels and TP4056 is need to insert Step Down Voltage Supply Module (Buck converter), which set voltage to 5V because TP4056 does not work on higher voltage than 6V. On direct sun solars panel can get more than 6 volts so charging is not working because TP4056 automatically turn off itself on higher voltage.

Output from TP4056 is connected to 5V/GND pins on Wemos D1 Mini Pro. It works even if battery has voltage about 2.7V (then is battery automatically turn of by PCB protection). There can be more effective ways but this solution works well. Without charging device can works about 7 days (data are sent every minute, so for example for 10 minutes limit device will work about one month - it's depend on temperature too). Device checks battery voltage via A0 pin and sent it to the Blynk.

Solar power is monitoring by the INA219 sensor.

OTA - Over the Air update:

Meteo station support firmware updates over internet. Update is based on ESP8266HTTPClient.h and ESP8266httpUpdate.h libraries via HTTP server. Update process is very simple:

  1. on device is define current firmware version
  2. before each deepSleep, device make sure that the new .version file is placed on the server
  3. if is there new version, download .bin file with new firmware and do update

All update process ideas are nicely described here.

Currents list:



PCB circuit:






Blynk project