ESP boards are a low cost Wi-Fi chips that have built in flash chips allowing you to build a single chip device capable of connecting to Wi-Fi. newer versions like the ESP32 boards also provide you BLE (Bluetooth low energy) and there’s loads of variety of boards you can use.
For this project, I’m using the ESP8266, NodeMCU board. I prefer using a Development Board because it comes with a USB and all the pins are pre-soldered, making it easy to use. You can buy this board at your favorite Chinese shop somewhere for a price between 3-10 euros. You can find the shopping list for this project in the overview post.
For the fireplace we are going to use the Digital pins D5, D6 and D7 to control the three relays on the board. Be aware that the printed names of the pins like D1 need to be translated to the according to GPIO number to address them in your code and configuration. I will refer to this image in the configuration section.
Now we have the relay and the ESP to use as a controller. Now we need software that will run on the ESP. Software that we can be used to expose the relays as switches to Home Assistant and define interaction with the GPIO pins on the ESP. ESPHome is the perfect solution for this.
In really short; A relay is an electrically operated switch.
How does it work?
A relay has two circuits:
The control circuit. This circuit is used to control the switch, switching the control circuit will change the state of the load circuit switch
The load circuit. The load circuit is where you connect the device that you want to interact with.
Both circuits are separated circuits, there is no direct connection or current flow between the control and the load circuit. This makes using relays very safe.
There is multiple variations of switching the load circuit. For usage with the ESP boards and 5v I prefer using Optocoupler relays. The switch is controlled using light and a photosensor to control the switch. Ensuring 100% separation of circuits.
For this solution I’m using one board with 4 relays on it.
On the left we have IN top control the board; this is where you provide it with Power and one input to control every relay.
For OUT there are three outputs per relay:
Normal Close (NC)
Common, to close the circuit
Normal Open (NO)
You always connect the Common, but you need to choose between Normal Open and Normal Close. The difference between NO and NC is the default behavior for the relay if it is not power/switched on. If you select Normal Open the circuit will be not closed in a default state, when you use the Normal Close the relay will have a closed load circuit in a default state.
Now we know we can use relays as a solution for the switches. But how are we going to control the relays? We need a solution to switch the controller circuit using high with voltage to close the control circuit and low voltage to open. We need a controller for the relay, this is where the ESP boards come in.