The code and 3D models can be downloaded from github: WeatherStation

The code is Arduino based. There are two projects. One for the actual solar weather station which will be outside and one for a small battery powered humidity sensor for the bathroom (which will be ignored here).

The Arduino IDE has to have the ESP8266 board support installed. For the two projects the following libraries are needed:

- DHT sensor library by Adafruit
- Adafruit BMP086 library
- Adafruit MQTT library

As hardware WeMos D1 mini microcontroller is used with some shields and one photoresistor. To enable wake-up for the deep sleep pin D0 and RST are connected. The weather station is powered by a LiFePO4 battery with a nominal voltage of 3.2 connected to the 3.3V pin. This set up does not need any regulation and can be very energy efficient.
The battery, WeMos (and the sensors) are also connected to a charging circuit that converts possible 5V form the solar cells to the needed 3.6V charging voltage of the battery.”