Main Content

CWX ESP8266 BME280 Compact Weather Station

Powered by a single CR123 Lithium battery (or external 3V3 DC or USB), this CWX SDK is a Compact Weather Station for IoT Home Automation

A local Radio and Electronics Club were looking for a small STEM project which could be used as a platform to encourage electronics and software interests. In addition, for an ATV repeater site, I wanted to put up a weather station. As the site is open to potentially rough elements (being high up!), a standard weather station was not an ideal option, unless a fair amount was spent on a robust commercial route.


The main elements we wanted to monitor was temperature, relative humidity, barometric pressure and ambient light. The reason for light was that the site in question is solar powered and monitoring light levels had a purpose in energy management.

Whilst I am not an advocate of creating kits which contain other daughter boards, this weather station proved to be a logical route, purely for cost. The chosen BME280 sensor was in short supply and existing boards were available, although still expensive.

So, armed with the knowledge that I was to use the small BME280 board (not BMP280), it was required to be battery operated, required a light sensor and compact - thus the CWX, Compact Weather Station was created.


The CWX basic specification was:

- Battery Operated
- ESP8266 ESP12S Based
- BME280 to provide a low power
- Barometric Pressure, 300-1100 hPa
- Temperature, -40 to +85°C
- Humidity, 0-100% Relative (± 3%)
- SFH2440 to provide a high linearity Ambient Light Sensor.
- Spectral range of 400 to 690 nm
- External UART to conserve power (the CH340 was not easy to obtain at the time of design and USB/UART boards were).
- To fit into a standard 85x58x33mm waterproof clear cover plastic enclosure.”

Link to article