
Non-cloud home automation
An initiative that is funded by the European Union that researches if it is feasible to have a smart home - including voice control - without sacrificing privacy, is Candle Smart Home. It addresses many aspects of privacy. We wanted to see how easy (or difficult) it is to make our smart bio-ethanol burner compatible with Candle Smart Home.
Spoiler alert: it turned out to be very easy, while we have a home automation solution that works without sending data to the cloud (including voice control that is processed locally and therefore never leaves the house)! It comes complete with a smartphone app and voice control.
Required components
The required components for this setup are:
- For the Candle Smart Home controller:
- A Raspberry Pi 4 (Eur. 60,-)
- An SD memory card (Eur. 10,-)
- An RF Nano microprocessor with a built-in radio transceiver module (Eur. 2,-)
- For the module to be added to our smart bio-ethanol burner:
- An RF Nano microprocessor with a built-in radio transceiver module (Eur. 2,-)
- A voltage regulator (to change the voltage from the RF Nano (5V) to the voltage of the bio-ethanol burner (3.3V) and vice versa) (Eur. 0,50)
Steps taken
Step 1: Create the controller
The first step is to create the controller. This is quite easy and a detailed step-by-step guide is available on the Candle Smart Home website. It involves writing an image to the SD card, and connecting the raspberry PI to your WiFi. Then, connect the RF Nano to a USB port of the Raspberry PI when you add the receiver module. Finally, add the voice assistant (Snips) and this step is done. It cannot do anything useful (except for things like telling the time) since our bioethanol burner is not connected yet.
Gotchas:
- The first USB cable we used turned out to be wired for charging only, i.e. no data connection could be established, and the RF Nano was not recognized. Changing the USB cable to one that was fully wired resolved this issue.
- One of the first steps is to enter an external domain name, so your Raspberry PI will also be visible on the Internet. This turned out to break the voice assistant, so we skipped this step. A solution is being worked on.
Step 2: Get familiar with the RF Nano

With the controller up-and-running, we need to connect our bioethanol burner over a wireless (radio) connection. Before doing that, we wanted to get familiar with the Candle Smart Home software, the RF Nano and the MySensors library. We therefore created the weather station by following the instructions on the Candle Smart Home site. During the process, the code needed is written (by the Candle Manager) to the RF Nano. You can see the actual code there, which explains how things work, including how the controller and the device communicate with each other (by sharing a password, which is set in the Candle Manager add-on configuration). Having understood how this works, we can now go on and write our own code for the bioethanol burner.
Step 3: Creating the code for the bioethanol burner

Using the Arduino interface, we create our custom code. We select the "Arduino Nano" board type and the proper COM port. Then, we copy the boiler plate code from the example plugin (which has got everything to connect wirelessly to the controller). We implement the "Receive" function to respond to commands (on / off / up / down) we get from the controller (because a user pressed a button, or because the voice assistant was asked to e.g. turn on the fireplace). When a command is received, we pass that command on to the serial interface in order to operate the burner.
The bioethanol burner also gives status information on the serial line, like its status (idle, warming up, on, cooling down, error, etc.) and flame level (1 to 5) (more information is provided, like e.g. CO2 level, fuel tank empty/full, etc.). We read that information from the serial line and upon change of the burner's status, we send a message to the controller (using the "send" function) to let the controller know the new state. This way, if the user operates the burner by pressing 1 of the physical buttons that are present on the burner, the Candle Smart Home controller properly reflects that the burner is on or off - even if the switching is not done through the Candle Smart Home controller.
Gotchas:
- Although the code is pretty easy to copy and expand, the RF Nano operates at 5V. The bioethanol burner operates at 3.3V. Therefore, a voltage regulator has been put in between to ensure we don't blow up the bioethanol burner.
Our student preparing the voltage divider:
At this moment, we've got the test setup working:
Step 4: Testing the complete setup
Now that all components have been assembled and code has been written and uploaded to the RF Nano, it's time to test if it actually works - even with voice control, and without the Internet. So, we unplugged the outgoing internet cable and used our voice to turn the fireplace on and off (we called the device "fireplace"). Watch our movie to see the results: