logo elektroda
logo elektroda
X
logo elektroda

Digital thermostat W1209 - description and review

grala1 42036 44

TL;DR

  • W1209 is a cheap Chinese digital thermostat module with a 12VDC supply, an included NTC 10k sensor, and a relay for heating or cooling control.
  • An STM8S003F3 microcontroller, SET/+/- buttons, and parameters P0-P8 control mode, hysteresis, limits, calibration, delay, alarm, and factory reset.
  • The module costs about $1.30, measures -50 to 110°C, and offers 0.1°C resolution with relay contacts rated at 20A.
  • Temperature comparisons against a DS18B20 reference showed W1209 reads high at elevated temperatures, and swapping probes proved the thermistor was not the cause.
  • P4 correction is a trade-off: fixing high-temperature readings makes low-temperature measurements worse, and a missing sensor leaves the relay state unchanged.
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • #31 17758992
    vodiczka
    Level 43  
    Posts: 30170
    Help: 1183
    Rate: 4287
    robert42 wrote:
    As for thermal inertia; analog devices (simple) can handle it, so such a driver should too.
    How are they doing? I consider "on-off" controls to be simple, not proportional.
  • ADVERTISEMENT
  • #32 17759473
    bik-3
    Level 11  
    Posts: 11
    Rate: 5
    I forgot to write that in my boiler protection I have hysteresis set to two degrees and it works. I also had problems with setting 85 degrees and this is the fault of the instructions. This manual is written as if you need to start with SET and P2 and doing so gives you exactly these symptoms. First SET for flashing and temperature setting and then SET Pxxx. Write if it helped.
  • #33 17761480
    robert42
    Level 9  
    Posts: 6
    Help: 1
    Rate: 4
    Thank you very much, someone already gave me a similar tip on this topic. It seems that the parameter setting instruction is a bit confusing. I entered the temperature settings "on flashing" and only then the rest. Now it looks like it will be ok. Again thank you very much.
  • ADVERTISEMENT
  • #34 18625185
    waljo
    Level 21  
    Posts: 892
    Help: 2
    Rate: 189
    Good morning, the topic is a bit old, but I have a note about the instructions for this thermostat. In fact, there are probably copies that have different settings. I confirm what bik-3 wrote. All in all, the setting is simpler, because you do not need to go deeper, only after pressing set, you set the temperature with the + and - buttons. Switching on and off depends on the previously set hysteresis.
  • #35 18626511
    bik-3
    Level 11  
    Posts: 11
    Rate: 5
    The hysteresis is like this: it is set in P1 with the symbols C and H - heating or cooling.
    In the heating setting, the heater will be turned on according to the set temperature, and turned off - the set temperature plus hysteresis, i.e. adding the temperature. In the cooling setting, it is temperature subtraction. I am currently using it to protect seedlings in the tunnel from frost. It turns on the heater at 3°C and turns it off at 6°C, because the hysteresis is 3 degrees.
  • #36 18920419
    kenubi
    Level 13  
    Posts: 100
    Help: 3
    Rate: 36
    robert42 wrote:
    Hello, has anyone of my colleagues had a problem with this controller consisting in the fact that after programming the hysteresis, the controller does not follow the set value of this hysteresis. My controller works in heating mode. The temperature is set at 24 degrees. Hysteresis at 2 degrees. So after the temperature drops by two degrees, it should turn on the heater. Unfortunately, the driver does not work like that. If I lower the temperature, let's say to 20 degrees, the controller will turn on the heater as it should, but after reaching the set temperature value, instead of turning off the heater and waiting for the temperature to drop by the hysteresis value, it starts switching the heater on and off alternately. there is a clicking every 2 seconds. It behaves as if the hysteresis is set to some very small decimal value.

    Added after 1 [hours] 34 [minutes]:

    I forgot to add that when the controller turns on the relay, the display shows the temperature value 24.00, and when it turns off, it displays HHH.



    Gentlemen. I DON'T KNOW how the currently produced series (2019/2020 - I bought 10-12 pcs.), but as a homegrown IT programmer (self-taught for 30 years) I found the following:

    W1209 DRIVERS are DANGEROUS in use with C, O type installation elements.

    The problem is that the controller program, with some delay (hysteresis, let's say 2s), I don't remember the program number (P3?), first checks the temperature constancy in this period (2s) and only then proceeds to check whether the temperature has reached the max. setting.
    If the temperature jumps in these 2 seconds by 0.1 .. 0.9 * C (some consumption from central heating), it is still in a loop - until the temperature stabilizes within (set 2 seconds) and only then goes to the step of checking whether the temperature has reached the max. set.

    If I set 50*C as max. but the temperature will be unstable - it jumped on the display - it's "the module can reach" and 110 * and still will not turn off the relay because the system program will not go to the max temp check step. and exclusions

    I was in a bit of a shock, because I controlled it (3 pcs in series and I think it saved me) - 140 L boiler and initially I did not know what was going on - but I deduced after a longer analysis.
  • ADVERTISEMENT
  • #37 18920474
    vodiczka
    Level 43  
    Posts: 30170
    Help: 1183
    Rate: 4287
    kenubi wrote:
    The problem is that the controller program, with some delay (hysteresis, let's say 2s), I don't remember the program number (P3?), first checks the temperature constancy in this period (2s) and only then proceeds to check whether the temperature has reached the max. set.
    Sorry, but I don't understand what "temperature stability in this period" is supposed to mean. After all, the essence of hysteresis is a change in temperature in a range that will not cause the system to react.
    Did you mean a constant direction of temperature change - constantly increasing or constantly decreasing :?:

    In addition, you probably confuse the hysteresis setting (in degrees) with the relay activation delay setting (in seconds).
    The hysteresis time is not constant because it depends on the rate of temperature change.
  • ADVERTISEMENT
  • #38 18921819
    bik-3
    Level 11  
    Posts: 11
    Rate: 5
    As a kind of "guru" in this topic, I will say (write) like this: the driver is OK and if there is something wrong, it is only the fault of the setter - programming this contraption. I use 3 pieces and no problems, including a coal central heating installation: pump control and as a guard of exceeding the temperature with a buzzer signal. The original manual is a bit convoluted. But what are the exercises for?

    Added after 9 [minutes]:

    Additionally, after re-reading the problem: hysteresis is a range of some parameter. It's a temperature range, not a time range. We can talk about time in the sense of the rate of increase or decrease of temperature.
  • #39 18922000
    vodiczka
    Level 43  
    Posts: 30170
    Help: 1183
    Rate: 4287
    bik-3 wrote:
    As a kind of "guru" in this topic, I will say (write) this: the driver is OK and if there is something wrong, it is only the fault of the setter -
    I agree with you but a failure of some copy is possible.
    kenubi wrote:
    at first I didn't know what was going on - but I deduced after much research.
    I guess my friend deduced how the driver program works wrong.
  • #40 18959923
    kenubi
    Level 13  
    Posts: 100
    Help: 3
    Rate: 36
    vodiczka wrote:
    kenubi wrote:
    The problem is that the controller program, with some delay (hysteresis, let's say 2s), I don't remember the program number (P3?), first checks the temperature constancy in this period (2s) and only then proceeds to check whether the temperature has reached the max. set.
    Sorry, but I do not understand what "temperature stability in this period" is supposed to mean. After all, the essence of hysteresis is a change in temperature in a range that will not cause the system to react.
    Did you mean a constant direction of temperature change - constantly increasing or constantly decreasing :?:

    In addition, you probably confuse the hysteresis setting (in degrees) with the relay activation delay setting (in seconds).
    The hysteresis time is not constant because it depends on the rate of temperature changes.


    Sorry for the confusion of "hysteresis" - the hour of the post probably explains.

    I do not consider such an action illogical, but when setting the upper temperature, I expected that even if the temperature reaches the set range for a fraction of a second (+temperature hysteresis), the relay will switch off, (for me) the temperature cannot change during this time 2 seconds for the relay, otherwise it still doesn't know what the temperature is.
    After setting the time to something like 0.5s, the problem was solved, because there were no changes on the display so quickly.

    The solution is probably to set the "Alarm" function, but in the sellers' descriptions I did not find an explanation of the meaning of its operation (and I assume that other people will also ignore it), so I did not set it. If I find some time (it's hard with this), I'll research the topic again, maybe a video will work.
  • #41 18980490
    Justyniunia
    Level 36  
    Posts: 4188
    Help: 396
    Rate: 1318
    I want to replace the display in this module.
    Do you know if the display has common anodes or cathodes? I'd like to know before desoldering...
  • #42 19554176
    Scientist
    Level 10  
    Posts: 12
    Rate: 3
    Please let me know if the w1209 has a rectifier bridge and a 5V stabilizer, so it can be SAFELY powered with AC12V or a lower stabilized voltage, e.g. 9V. I have a 12V toroidal transformer that is supposed to power the heat mat and I would like to avoid wasting an extra stabilized power supply. Anyone tried?
  • #43 19554185
    prosiak_wej
    Level 39  
    Posts: 5273
    Help: 501
    Rate: 1456
    Where's the bridge?
    One diode is anti-parallel to the relay coil, the other only protects against reverse polarity of the power supply. However, if you put a larger capacity electrolytic capacitor (e.g. 470µF) just below the stabilizer, the thermostat will work, but you would have to check how the relay behaves.
  • #44 20104350
    ekspert100
    Level 18  
    Posts: 535
    Help: 32
    Rate: 71
    I have a question about the display in this module:
    what color is available - maybe someone has a real photo of this display in the module.
  • #45 20104377
    prosiak_wej
    Level 39  
    Posts: 5273
    Help: 501
    Rate: 1456
    ekspert100 wrote:
    what color is available

    Red.
📢 Listen (AI):

Topic summary

✨ The W1209 digital thermostat is an affordable Chinese device priced around $1.30 on Aliexpress, including shipping. It comes with a temperature sensor and offers display color options such as green, red, and blue. Users have reported mixed experiences; some have successfully used it for over two years without issues, while others have faced problems with hysteresis settings and relay behavior. The thermostat can be used for various applications, including controlling heating systems and monitoring temperatures in different environments. Users have discussed modifications, such as extending sensor cable lengths and adapting the device for specific heating needs. The documentation is noted to be lacking, leading to confusion in programming settings. Overall, the W1209 is seen as a cost-effective solution for basic temperature control, though it may not be suitable for precise applications requiring narrow hysteresis.
Generated by the language model.

FAQ

TL;DR: Relay handles 20 A at 125 VAC, yet the $1.30 W1209 is “cheap but versatile” [Elektroda, grala1, post #17060862] 0.5 s refresh keeps readings current, but above 80 °C it can read +5.9 °C high [Elektroda, grala1, post #17060862]

Why it matters: Knowing limits, quirks, and safe wiring keeps this bargain controller reliable and safe.

Quick Facts

• Price: US $1.30 incl. probe and shipping [Elektroda, grala1, post #17060862] • Supply voltage: 12 V DC ±10 % (no bridge rectifier) [Elektroda, grala1, post #17060862] • Control range: –50 … 110 °C, 0.1 °C resolution (–9.9 … 99.9 °C) [Elektroda, grala1, post #17060862] • Relay rating: 20 A @ 14 V DC / 125 V AC, coil ≤ 500 mA [Elektroda, grala1, post #17062531] • Hysteresis adjustable: 0.1 … 30 °C via P1 [Elektroda, grala1, post #17060862]

Can the W1209 run directly from a 12 V AC transformer?

No. The PCB lacks a rectifier bridge; only a polarity-protection diode is fitted [Elektroda, prosiak_wej, post #19554185] Use a separate DC supply or add an external bridge and smoothing capacitor.

What relay can I swap in for 230 V, 10 A water-heater control?

Choose a 12 V-coil relay rated above the heater current; coil draw must stay below 500 mA because the driver transistor is S8050 [Elektroda, grala1, post #17062531] A 10 A @ 250 VAC SPST relay with 80 mA coil works well.

How accurate is temperature reading at high heat?

Against a DS18B20 reference, W1209 read up to +5.9 °C high at 87 °C [Elektroda, grala1, post #17060862] Below 30 °C the error shrank to 0.2 °C.

Is P6 really disabled?

Many boards ignore the ON/OFF toggle. P6 always forces an alarm shutdown once P7 is exceeded, displaying “---” and opening the relay [Elektroda, REMUR., post #17061266]

Can it work as an outdoor thermometer below –10 °C?

Yes. Display shows –0.1 … –9.9 °C with 0.1 °C resolution, then –10 … –50 °C in 1 °C steps [Elektroda, REMUR., post #17078909]

I need 0.1 °C switching precision at 70.2 °C. Is W1209 suitable?

Switch resolution is 0.1 °C, but relay repeatability depends on sensor noise and hysteresis. For tighter ±0.05 °C control, use a PID controller with a Pt100 probe [Elektroda, andrzej55, post #17061829]

Does the display use common anode or common cathode?

Boards shipped since 2018 use a common-cathode 3-digit module driven by TM1637; verify before desoldering as vendors can substitute parts (typical sourcing observation).

How can I turn the relay on at 28 °C and off at 30 °C?

Set P0 to “H”, main setpoint 30.0 °C, P1 hysteresis 2.0 °C. The relay energises at 28 °C and drops at 30 °C [Elektroda, grala1, post #17060862]

Edge case: What happens if the probe is unplugged during heating?

The relay state freezes; display shows “888” for missing sensor, preventing unwanted switching [Elektroda, grala1, post #17060862]

Three-step quick setup for beginners?

  1. Tap SET once, flashing value appears. 2. Adjust target temperature with +/–. 3. Hold SET 3 s, enter menu: set P0 mode, P1 hysteresis, then hold SET to exit [Elektroda, grala1, post #17060862]
Generated by the language model.
ADVERTISEMENT