I´m building an esp8266 + ds18b20 (3.3v) thermostat for my daughter´s room. Basically I need to switch an electric heater rated at 2500W, 220v AC.

Should I use a TRIAC? SSR are expensive, but if that is the best option, I´ll go ahead with it. Should I use a "heat sink"? How do I size it?

How could this be accomplished without using a "noisy" coild-based relay? Any schematics, ideas, etc. to point me in the right direction would be very useful. (The clicking noise on big relays can maybe be an issue while my daughter is sleeping).

Many questions, sorry! Appreciate your help..


  • 1
    \$\begingroup\$ 2500 W at 220 V is actually about 11 A, not 20 A. Relays, SSR etc provide isolation. If you are able to build the complete circuitry in a box so that it cannot be touched then a TRIAC could do the job as well. Even so, if you have little or no experience with circuits which are not mains isolated then I would recommend an SSR or relay. Also with the SSR or relay you don't need the heatsink. Also note that the heatsink would would be at mains voltage so unsafe to touch. When the esp8266 is at mains voltage you should not connect it to your PC (for flashing), the PC might get damaged. \$\endgroup\$ – Bimpelrekkie Aug 31 '17 at 15:33
  • \$\begingroup\$ Thanks for your tips @Bimpelrekkie ! I know 2500W is not 20A, but I could find a 20A at my local shop, and better go with 20A than 10A! \$\endgroup\$ – spacefolder Aug 31 '17 at 16:43
  • \$\begingroup\$ Use a commercial wifi controlled outlet and control it wirelessly from your esp? \$\endgroup\$ – Passerby Aug 31 '17 at 18:36
  • 1
    \$\begingroup\$ Hi @Passerby 28 , I really do enjoy programming IoT devices and wanted to find a solution. BTW, most ready made switches (ie sonoff, etc. are 10 A rated, and I´ll be over the current limit). Thanks for the advice anyway! \$\endgroup\$ – spacefolder Aug 31 '17 at 19:09

For the application that you have mentioned, the noisy relay appears to be your best friend.

Any solid state device will have a voltage drop across it when conducting. For triacs, it will be approx 1V, which when multiplied with your current gives a power dissipation of:

P = 1V x 11.4A (assuming 220V power line) = 11.4 watts

(For 110V systems, it will double up to 22.8V)

Now you have a headache of removing 11.4 watts of heating from your triac or it will get fried within seconds.

To achieve this, you will need heat sinks (big ones) and maybe a cooling fan depending upon what exact parts you select. Possible to do if you are OK with going through all this trouble. (I personally won't.)

If you are OK with a coil relay, read further:

Relay selection : You are lucky to have a purely resistive load. It makes things rather simple. Since calculated current is 11.4 A, you can go with 220 V 16 A or higher rated relay provided it comes from a good company.

Here is a circuit that you can use:


The zener can be replaced by a common diode. I have been using 1N4148 in my circuits. +9V will depend upon the coil voltage of your relay. If it's a 5V coil relay, make that +5V or you will damage the relay. Transistor depends upon the coil current. Coil current shouldn't be more than 100 mA and any general NPN transistor will handle that much current. Input signal will come from esp8266 GPIO.

For your case, you can select 12 V coil relay and a 3.3 V regulator. Power up the circuit using 12 V wall adapter. 12 V will get regulated to 3.3 V by the regulator and it can be used by esp and sensor.

Special care about sensor:

You don't want to keep the sensor enclosed in a casing. It needs to be in contact with flowing air inside room so as to give you a correct temperature value. Place it accordingly. Also, make sure its away from any components that get hot - your voltage regulator for example.

Now as far as the noise is concerned, you wont be switching your heater on/off every minute. It will happen once in maybe 10 mins in the very worst case. If you are still worried about the noise, place the circuit in a casing and it will reduce the noise to certain extent. Make sure you put the temperature sensor out of the casing. From my personal experience, noise shouldn't be a problem at all but again I am a person who doesn't wake up to his alarms so there is that.

  • \$\begingroup\$ One other thing -- the relay needs to have a suitable isolation rating (and be pinned for isolation -- not all are) \$\endgroup\$ – ThreePhaseEel Sep 3 '17 at 13:35
  • \$\begingroup\$ Hey, thanks @Whiskeyjack . After some time thinking about it, I have to agree with you. I'll go with the good ol' coil based relay, and avoid the heatsink. I really do appreciate your detailed answer, great info. Cheers! \$\endgroup\$ – spacefolder Sep 8 '17 at 22:36
  • \$\begingroup\$ One more thing.. If I use a 2n2222 (metal cap), do I need a resistor "between" the relay and the transistor? How can I calculate the value? \$\endgroup\$ – spacefolder Sep 8 '17 at 22:38
  • \$\begingroup\$ You don't need to put a resistor between relay and transistor. The relay has a coil resistance which automatically limits the current (unlike LEDs where you MUST put a resistor to limit the current because it doesn't have a resistance). Let me know if you get stuck somewhere. :) \$\endgroup\$ – Whiskeyjack Sep 9 '17 at 2:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.