CWX 12S SDK v1 – Specification


CWX 1 –  STEM SDK IoT (Compact Weather Station IoT Home Automation)


Powered by a single CR123 Lithium battery, this STEM SDK is a Compact Weather Station for IoT Home Automation.


CWX v1 specification overview:

  • Barometric Pressure
  • Temperature
  • Humidity
  • Light Level
  • Powered by:
    • 1 x CR123 Lithium battery
    • USB 5V


An example of the output can be seen here  as highlighted below.

Based on the industry standard ESP8266 (ESP-12S Series), the SDK includes:

  • BME-280, 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


The CWX has four headers.

  • BMx Sensor header
  • UART with RTS and DTR (avoids the need to press reset when flashing)
  • SPI (expansion)
  • I2C (expansion)


Software Code

Arduino IDE based software / firmware code for this CWX ESP project will be provided in our Wiki, to easily get you up and running.  This code connects the CWX to your Wi-Fi and then uploads to a ThingSpeak channel.  FREE ThingSpeak accounts for small non-commercial projects are available (providing up to four channels), so you could have more than one project running at once.


Note regarding the UART cable.

CWX-1 – STEM SDK has been designed to flash/program easily by using the RTS and DTR connections on a UART. This enables automatically flashing without pressing/holding any buttons).  Details are in the Wiki.



This board will work with all three BMx sensors, including the low cost BMP180.  However, in order to get Humidity and better resolution, you require to use the much better BME280 – which is included with our CWX-1 SDK Kit.

Further reading on BME280.



The CWX PCB has cut-out to allow the BME280 sensor to fit flush and also the light sensor to be swapped facing up (PCB top) or down (PCB bottom).  (Default is up).



The CWX PCB is designed to fit into a standard 85x58x33mm Waterproof Clear Cover Plastic enclosure.


3D printed enclosures can also be downloaded free of charge, resized if needed. and used for this project.  Examples below:


Battery Holder

The CR123A Battery Holder is supplied with the SDK but can be optionally soldered as needed.

It has a locating pin, to aid correct fitting.

Note: What is the difference between CR123 and CR123A?  There are no difference between CR123 and CR123A batteries. They have the same size, only their names are different because CR123A is a most common name.


In the Box

CWX-1 – STEM SDK is supplied as a Developer Kit PCB.  SMD Populated and Tested.

You will need to update the firmware with your preferred open source firmware, using a standard UART (3v3).  Working examples of code for ThingSpeak can be found in our Wiki

The CWX-1 – STEM SDK Developer Kit contains:

  • 1 x  CWX-1 – STEM SDK SMD PCB (tested).  Ready to Program
    • Fitted with the BME280
  • 1 x Set of header pins (for UART, SPI or I2C)
  • 1 x Battery CR123A Holder (unsoldered)


Not included but available as options.


Other Details

Further information may be found in our downloads and Wiki pages

Leave a Reply

This site uses User Verification plugin to reduce spam. See how your comment data is processed.