The W1209 thermostat module has a STM8S controller, a sensor input, keys, LED display, and a relay. It can be reprogrammed for control, timing, or counting. At a price below $1.50 it can be used for “set and forget” applications.
Note: there have been reports of more or less compatible W1209 clones. Please refer to the identifying W1209 boards page for more information!
A GitHub project for a W1209 Data-Logging Thermostat provides an alternative firmware: it’s based on STM8 eForth, and interactively programming other control applications, e.g. using level, pressure, or light sensors, is easy!
- STM8S003F3P6 (8K Flash, 1K RAM, 128 bytes EEPROM), 5V operation, no crystal
- ICP (In Circuit Programming) pads. PD1/SWIM shared w/ 7S-LED segment “E”.
- User interface: 3 keys, and 3 digits 7S-LED display
- Relay (12V operation, NO, 5A) with red status LED
- Sensor input with a XH2.54 2p male connector and 20k pull-up to 5V
- 10k NTC temperature sensor, typically with 50 cm cable and XH2.54 2p female connector
Instead of the NTC temperature sensor other types of resistive transducers can be used (e.g. for measuring light, pressure, strain, or angle). Hardware details and schematics are discussed in technical description.
The W1209 thermostat was one of the first STM8S Value Line Gadgets supported by TG9541/stm8ef. The W1209 runs its own interactive programming system, which allows code to be compiled into RAM or Flash ROM, and tested, directly on the target!
If you’re new to STM8 or to Forth, please refer to the following sections
- STM8S programming hands-on
- recommended tools for STM8
- a brief introduction to STM8 eForth Programming
A HEX file for the W1209, optimized for embedded control tasks, is part of the binary release. The default configuration provides a complete interactive Forth system with sufficient free memory for typical control applications (special configurations provide more free memory). The binary can be programmed to the W1209 board using an inexpensive ST-LINK adapter.
STM8EF v2.2.13 provides a full-duplex interface through the pushbutton pins. Alternatively, with the help of a simple hardware modificatio, the sensor header can be turned into a half-duplex serial interface.