Candle - signal Hub - A universal 433Mhz signal detector and cloner
-
It took three weeks to build, but here it is: a device that will easily connect almost any 433Mhz device to your smart home.
The 433 Hub can do two things:
- You can teach it a signal, and from then on it will be able to detect it.
- You can teach it a signal, and from then on it will be able to replay it.
Both of these features come in 'single signal' and 'on+off" versions. So for example:
- You could copy the ON and OFF button from a remote for your 433Mhz sockets, and from then on switch the socket from your smart home controller.
- You could teach it to detect window sensors that have both on and off states.
- You could teach it to detect the alarm signal from a wireless smoke detector.
For each signal that you teach it to recognise, a door sensor will be presented to your controller.
For each signal that you teach it to replay, an on/off switch will be presented to your controller.Signals take between 8 and 28 bytes to store, depending on complexity and if they are simple or on+off signals. This means an Arduino Nano can store between 20 and 60 signals in just half of it's eeprom (512 bytes).
HARDWARE
-
Arduino
-
433Mhz receiver & transmitter
-
Touch screen (optional, recommended)
or -
OLED screen (optional)
-
Keypad (optional)
Here's the version that uses a touch screen.


Here's a version that uses a keypad.

With a 12 button keypad you can easily replay 10 signals. The last two buttons are used to navigate and make selections in the menu system.You can also trigger the learning sequences from 4 virtual buttons that the device creates on your controller (detect simple, detect on+off, replay simple, replay on+off).
It works best if you use the touch screen. Using the menu you can delete the last recorded signal, or delete all recorded signals.
It's designed to work with the upcoming Candle privacy friendly smart home, and the Candle Manager. More on that later this year.
CODE
https://github.com/createcandle/Devices/blob/master/Signal-hub/Signal-hub.ino -
Exactly.
And a learning detector at the same time.
-
The touch screen code is now also available.
-
Something I had hoped actually works: it can also copy IR (infrared) signals!
Settings need to be slightly different, as IR signals are 'slower' than RF signals. Changes I made to the settings are:
#define MAXEDGES 100 // instead of 400 #define GRANULARITY 100 // the default settings of '50' also work, but IR signals need less precision. #define MAXIMUMDURATION 66000 #define MINIMUMSILENCE 66000It doesn't recognise things perfectly, as IR signals don't seem to repeat themselves in the same way. You may have to press the button a few times before the signal can be copied.
I also haven't tested if transmitting the signals actually switches IR devices on and off.
An example:
00000000 > 0 11110111 > 239 00010000 > 8 11101111 > 247 -
- It can now handle even more 433 signals.
- Slight code simplification
-
@alowhum said in Candle - signal Hub - A universal 433Mhz signal detector and cloner:
@Homer yes
Thanks, and thanks for your private messages!
I managed to build a rf433 sender which is connected to wifi and is outside of the Mysensors environment, and it works, but I can't get my controller (Vera) to communicate with it. This looks like it should work perfectly for what I want it to do!
Thanks for sharing!
-
I am having issues with the device I made myself which doesn't use this code, so I have decided to give this project a go. One problem though... I copied the sketch from you link, and even without any changes or alterations, the sketch doesn't compile. It gets to line 468 and says "detectedMessage" was not declared in this scope.
-
Thanks for the feedback. Let me know if you have any issues and I can try to fix them.
-
@alowhum I've finished building this. I have also bought a couple cheap window/door sensors to try, but I've hit a snag.
When I joined this to my controller (Vera) it said that it found 2 devices, but when I check my devices I only find one device, and all it says is that it's a node; I have very little in the way of interacting with it. I'm not sure what's going on.... It's weird that it found two devices and only displays one! Seeing that I'm not using any screen, I can't do anything because I thought I could interact with the hub from within my controller. Have I done something wrong?
-
I haven't tested it without a screen myself. I'll look into it for you and see if I can make the code work optimally without it. I'll get back to you with the updated code.
-
Here is the new version which should work just fine without a touchscreen attached.
https://github.com/createcandle/Devices/blob/master/Signal-hub/Signal-hub.ino
I also added a new playlist feature. If multiple replay requests are received in quick succession (perhaps from a home automation rule that wants to trigger multiple sockets), it can remember these requests and replay them one after the other.
-
I've finally finished building this, but sadly it doesn't want to work with my controller (Vera). When I start the inclusion process I'm says that it has found 2 devices, but when the controller finishes setting it up it only ends up showing one device, and all it says is that it is a node.

Has anyone built this and have had success with Vera? If you are using this, which controller do you use?
-
It should not show a temperature sensor, since it doesn't have one. Are you sure it has actually connected? Try listening to the serial output of the node (using the Arduino IDE's option to do this), and check if it says that it has connected ok, and that is is showing you the decoded signals then you play the RF signal. You can even try enabling the debug option to get even more details about the node's state.