The W1209 is a compact and cost-effective digital temperature control module that is widely used in temperature control applications. It comes with an integrated temperature sensor and a relay, which can be used to automatically switch heating or cooling devices on or off based on the temperature. This module is popular among hobbyists and is often used in DIY projects, incubators, aquariums, and climate control systems.
Explore Projects Built with W1209
Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
This circuit is a multi-sensor data acquisition system that uses a Nucleo WB55RG microcontroller to interface with a digital temperature sensor (TMP102), a pulse oximeter and heart-rate sensor (MAX30102), and a 0.96" OLED display via I2C. Additionally, it includes a Sim800l module for GSM communication, powered by a 3.7V LiPo battery.
This circuit is a temperature control system that uses a W1209 thermostat module to regulate a Peltier module and a 12V fan. The 12V power supply provides power to the W1209 module and the fan, while the W1209 controls the Peltier module based on temperature readings.
This circuit features an STM32F103C8T6 microcontroller interfaced with a membrane matrix keypad for input, an RTC DS3231 for real-time clock functionality, and a 16x2 I2C LCD for display. It controls four 12V geared motors through two MD20 CYTRON motor drivers, with the motor power supplied by a 12V battery regulated by a buck converter. The battery is charged via a solar panel connected through a solar charge controller, ensuring a renewable energy source for the system.
This circuit is a weather monitoring system that uses a Wemos D1 Mini microcontroller to read temperature and humidity data from four DHT22 sensors and display the information on an Adafruit OLED screen. The data is also transmitted via WiFi to an MQTT server for remote monitoring. The system is powered by a 2000mAh battery, which is managed by a TP4056 charging module and a Mtiny Power module.
Output: Relay Output, Capacity 240V AC 10A / 12V DC 10A
Temperature Control Range: -50 to +110 degrees Celsius
Measurement Accuracy: ±0.1 degrees Celsius
Control Accuracy: 0.1 degrees Celsius
Refresh Rate: 0.5 Seconds
Operating Temperature: -10 to +60 degrees Celsius
Operating Humidity: 20-85%
Pin Configuration and Descriptions
Pin Number
Description
Notes
1
Relay Normally Open (NO)
Connect to the load to be controlled
2
Relay Common (COM)
Connect to power supply for the load
3
Relay Normally Closed (NC)
Connect if needed for specific applications
4
12V+ (VCC)
Supply voltage positive
5
12V- (GND)
Supply voltage negative
6
Sensor Input
Connect to the provided NTC sensor
Usage Instructions
How to Use the W1209 in a Circuit
Power Supply Connection: Connect a 12V DC power supply to the VCC and GND pins of the W1209 module.
Load Connection: Connect the load (heating or cooling device) to the relay terminals. Use the NO or NC terminals based on whether the load should be powered when the relay is activated or deactivated, respectively.
Sensor Placement: Place the NTC sensor in the environment where temperature control is required.
Setting Temperature: Use the onboard buttons to set the desired temperature threshold.
Operation: The W1209 will turn the relay on or off to maintain the set temperature within the control range.
Important Considerations and Best Practices
Ensure that the power supply voltage matches the module's requirements (12V DC).
Do not exceed the relay's maximum current rating to avoid damage.
Place the temperature sensor away from heat sources like the relay to avoid false readings.
Use appropriate wiring for the current that the load will draw.
Protect the module from moisture and extreme temperatures.
Troubleshooting and FAQs
Common Issues
Module Does Not Power On: Check the power supply connections and voltage.
Relay Does Not Switch: Verify the load current does not exceed the relay rating and check the connections.
Inaccurate Temperature Readings: Ensure the sensor is placed correctly and not influenced by external heat sources.
Solutions and Tips
If the relay does not switch, ensure that the temperature set point is correctly configured.
For inaccurate readings, recalibrate the module if necessary or replace the sensor.
If the module behaves erratically, check for any signs of damage or loose connections.
FAQs
Q: Can I use the W1209 with a different temperature sensor?
A: The W1209 is designed to work with the included NTC sensor. Using a different sensor may require recalibration and could lead to inaccurate readings.
Q: How do I change the temperature set point?
A: Use the onboard buttons to enter the setting mode and adjust the temperature set point.
Q: What is the maximum load the relay can handle?
A: The relay can handle up to 240V AC at 10A or 12V DC at 10A.
Q: Can the W1209 be used for both heating and cooling?
A: Yes, the W1209 can control either a heating or cooling device, depending on how it's configured.
Q: Is the temperature sensor waterproof?
A: Yes, the included NTC sensor is waterproof and can be used in moist environments.
Example Code for Arduino UNO
Below is an example code snippet for simulating the W1209 functionality using an Arduino UNO. This code reads temperature from a hypothetical sensor and controls a relay based on the temperature reading.
// Define the pins
const int tempSensorPin = A0; // Analog pin for temperature sensor
const int relayPin = 2; // Digital pin for relay module
// Set the desired temperature threshold
const float tempThreshold = 25.0; // Temperature threshold in Celsius
void setup() {
pinMode(relayPin, OUTPUT); // Set the relay pin as an output
Serial.begin(9600); // Start serial communication
}
void loop() {
int sensorValue = analogRead(tempSensorPin); // Read the temperature sensor
float temperature = sensorValue * (5.0 / 1023.0) * 100.0; // Convert to temperature
// Print the temperature to the Serial Monitor
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.println(" C");
// Control the relay based on the temperature
if (temperature < tempThreshold) {
digitalWrite(relayPin, HIGH); // Turn on the relay (heating)
} else {
digitalWrite(relayPin, LOW); // Turn off the relay (cooling)
}
delay(1000); // Wait for a second before reading again
}
Remember to replace the temperature reading logic with actual code suitable for the sensor you are using. The above code is for illustrative purposes only and assumes a linear relationship between the analog reading and temperature, which is not the case with the NTC sensor that comes with the W1209.