Day 62, W1209 Thermostat Module
I have lots of microcontroller modules. I mean lots. Many are fairly common types, like varieties of Arduino, ESP8266 and ESP32, but also include some types that are a bit more rare or specialized. Today's garage gem is a small but interesting development board: the W1209 Thermostat Module.
They cost somewhere around $3 a piece when I bought them, which is quite a decent buy. For your money you get a small board with a temperature sensor, several buttons, a three digit seven segment display, and a relay. They come programmed with a simple application that makes them serve as a thermostat. You can program a temperature so that the relay trips either when the temperature gets too high (cooling mode) or too low (heating mode).
They are pretty much dead simple. Here is the manual. If you need a simple temperature controller, for $3 or so you would probably find it hard to tinker together anything cheaper.
Here are two that I fished out from my storage today. They look very nearly identical, but with one very important difference.
If you look really closely, you see that the board is very nearly identical, but one chip is somewhat different.
Zooming in with my USB microscope, you can see that one has an ST8 processor, in particular an
STM8S003F3P6.
You can check out the data sheet from st.com. The ST8 series is a very small and cheap processor family, often used in the most cost constrained applications. What initially attracted me to playing around with this was that the board was insanely cheap and programmable. In particular there was a project on github that reflashed the chip with a version of the Forth programming language. Forth is a language that probably peaked in usage during the early 1980s. It was an interactive stack-oriented language that could be implemented in very small amounts of memory. Replacing the program on the W1209 with Forth made it possible to add data logging capability to this little board, which seemed very cool. I flashed this board with the ST8 forth, and did some minor experimentation with it.
At some point during COVID, I got bored and wanted to have a few more spares of this board for experimenation, and got a few more. But something had changed. The flashing procedure failed! Looking carefully at the chip revealed... well... nothing. No markings at all.
Digging around, it appears that there were a few different variants of this board produced and it is basically impossible to tell from a random Chinese aliexpress ad which version you are going to get. Apparently many of them have a pin compatible "Nuvoton" process, which can't be reflashed.
Still, they operate well as a thermostat, they just aren't very useful for reprogramming, unless you want to perform a transplant by desoldering the chip and replacing it with an ST8.
Have a good Wednesday!