Remote room temperature monitoring and control

About This Project

In my house there are several types of heat sources and they
are independent from each other and none of them are regulated, so it’s really
difficult to keep constant room temperature. Therefore I decided to add a
regulated heat source in to existing system. I find that the easiest
controllable energy is electricity, hence I end up with 2 kW power electric

To control it I decided to use “smart” connected
thermostat. Nowadays there are numerous devices that are made specifically for
this purpose, but they can be quite expensive and not always suit your needs.
So my solution was to build one and not only the thermostat but also automated
control system. The futures of this system can be expanded in the future.


As a main board I use Arduino Uno clone with the Ethernet
shield. As a power stage I use optically isolated relay module powered from
dedicated 5V supply. These relays are not suitable for switching high currents,
this is why I use another power stage with high current relays and MCBs (Miniature
Circuit Breakers). This protects system from over current and short circuit on
power lines.

All the control electronics and relays get power from 24 V
DC power supply. To lower the voltage on Arduino side I use DC/DC step down
switch mode voltage regulator. It reduces voltage approximately to 9 V DC,
which is then fed in to Arduino’s Vin pin. The relay board is powered from
similar 5 V DC 3 A voltage regulator.

The system is
redundant taking in to account safety and future upgrades. For this project you
only need relay board with 2 relays or you can use other switching devices
(like FETs) to control power relays.

For temperature sensing I use DS18B20 temp sensor. I use it
in normal power mode so it is connected with three wires. In the future I will
add more sensors.

For security reasons I use wireless cloud-based camera, to
check if heater still in its place, is it working properly or is there any
other issue. When it’s dark in the room I use another relay to switch on the
LED light remotely.

Any wiring to the mains power should only be done by a qualified electrician!

What’s Connected


Ethernet shield;

4 channel relay board;

Temperature sensor DS18B20;

AC/DC 24V power suply;

2 x DC/DC step down switch mode voltage regulator;

3 x 16 A Miniature Circuit Breakers;

2 x power relays.

Triggers & Alerts

Triggering a relay according to temperature sensor measurements and set min and max temperature.


No Scheduling yet.

Dashboard Screenshots

Photos of the Project


Wow- DIN rail mounted relay, breakers and power supply,
nice box, clean wiring…
do you do this for a living?
Are you a controls tech/installer?
Very nice :slight_smile:

Very creative, and beautiful photography

Thanks @HighTech !
Yes, I’m automation engineer.

Thanks @vmnguyen!

Nice job!

Hi! one more “Nice job” from me to Paulius. Can you explain one question please: What for you used yellow maketboard placed over the Ethernet Shild. What is purpose of it? Thanks/

I really like this, very useful! Am considering building it for a reptile terrarium. Multiple heat sources, humidity control, etc. What is general cost of materials?


Hello, Does your arduino bricks during the enable/disable of the relay when your resistive loads?

its should not. does your happen?

Yes, arduino and esp8266 boards. Only in high resistive loads around 2 to 4kW.

are you powering the relay from arduino. trying powering the relay from a separate power source.

No they relay has different power source from arduino. The only board that it doesn’t brick is the Arduino Yun. I have tried Arduino Uno with W5100 (original and not), Arduino Ethernet, NodeMCU and Wemos D1. The boards bricks when switching the relay and sometimes it bricks when switching off the relay. I am planning to investigate with an oscilloscope some time in the near future. If any has similar problems and has any solution, please share.

What do you mean by brick? Also, we will need to see some pictures of how you have everything wired and the code you are using.

try adding a flyback diode. You may need to increase the distance from the relay board to the sensitive electronics.Suggest configuring all unused inputs with INPUT_PULLUP. also add a transistor to control the input pin of the relay.

@adam it is know case with back emf from high loads. so adding a above solution might help.

1 Like

brick i mean it crashes. Then the board needs restart.


There is no code available for this project but you can get individual code for each sensor in library