Click here for English version
DIY-Guide: So baust du deinen eigenen Signalduino
Du möchtest dein Smart Home erweitern, ohne ein Vermögen für teure Gateways auszugeben? Dann ist der Signalduino genau das Richtige für dich. Für nur wenige Euro und mit minimalem Bastelaufwand schaffst du die perfekte Brücke zwischen deinen Funk-Sensoren und deiner Haussteuerung (z. B. FHEM).
In dieser Anleitung erfährst du, wie du die Hardware aus einem Arduino Nano und einem CC1101-Funkmodul zusammenbaust.
Motivation
Der Signalduino ist ein extrem vielseitiger Funk-Transceiver. Ob Wetterstationen, Funksteckdosen oder Rauchmelder – das Gerät ist ein echtes Multitalent.
Was du damit steuern oder empfangen kannst:
- Wetterstationen: Auriol, Bresser, Hama, Oregon Scientific, Technoline, TFA u.v.m.
- Schaltaktoren: Intertechno, Somfy RTS, Livolo, mumbi.
- Sicherheit: Flamingo Rauchmelder, X10 Security Devices.
Der Eigenbau ist nicht nur günstig, sondern auch flexibel: Wer nicht löten möchte, kann die Komponenten einfach mit Female-Jumper-Kabeln zusammenstecken. Der CUL kann dann mit der entsprechenden Firmware geflasht werden und mit FHEM betrieben werden.
Versionen
Bevor du bestellst, musst du dich für eine Frequenz entscheiden. Zwar kann der CC1101-Chip theoretisch beide Frequenzen verarbeiten, aber die Hardware-Antennen und Filter sind meist auf einen Bereich optimiert.
- 433 MHz: Ideal für einfache Funksteckdosen (Intertechno) und viele günstige Außensensoren.
- 868 MHz: Notwendig für Systeme wie Homematic oder MAX!.
Wichtig: Ein „Hin- und Herschalten“ per Software ist möglich, führt aber zu massiven Einbußen bei der Reichweite. Für einen stabilen Betrieb empfiehlt es sich, pro Frequenz einen eigenen Signalduino zu bauen.
Materialliste
Bei dem Arduino mit einem Atmega328 Microcontroller ist darauf zu achten, daß er einen echten FTDI Chip hat um Ärger zu vermeiden und keinen CH340. Letzterer kann durch Treiber von FTDI beschädigt werden. Unter Linux könnte man einen CH340 betreiben, er besitzt jedoch keine eigene ID im Gegensatz zum FTDI. Der CC1101 sollte auch für die entsprechende Frequenz ausgelegt sein. Damit ergibt sich
Bauteil
Arduino Nano FT232RL mit USB Kabel (Amazon, Aliexpress)*
CC1101 868 oder 433 Mhz (Amazon, Aliexpress)*
(Hinweis: Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.)
Verdrahtung
Die Verdrahtung ist wie folgt vorzunehmen.
| Arduino | CC1101 |
| VCC 3,3 V | VDD |
| PIN GND | GND |
| PIN D02 | GDO2 |
| PIN D03 | GDO0 |
| PIN D10 | CSn (SS) |
| PIN D11 | SI (MOSI) |
| PIN D12 | SO (MISO) |
| PIN D13 | SCK |
Flashen der Firmware
Nun kann man unter Linux die Firmware auf den Arduino flashen. Das flashen der Firmware funktioniert über das FHEM Frontend. Nun kann der Arduino angesteckt werden. Mit dem Befehl
ls -l /dev/serial/by-id
kann man die ID des Arduinos erfragen. Die Antwort ist zum Beispiel
total 0 lrwxrwxrwx 1 root root 13 Nov 30 19:17 usb-FTDI_FT232R_USB_UART_12345678-if00-port0 -> ../../ttyUSB0
wobei „12345678“ für die ID steht.
Dann updaten wir FHEM. Dazu geben wir in die Kommandozeile in FHEM folgendes ein:
update
Danach
shutdown restart
Jetzt können wir das Signalduino Modul aktualisieren. Dazu wieder in die FHEM Kommandozeile eingeben:
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt
Jetzt können wir den Signalduino in FHEM anlegen:
define sduino SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_12345678-if00-port0@57600
wobei „12345678“ für die ID steht.
Falls auf unserem Linux System noch kein avrdude installiert ist, können wir das mit folgendem Befehl nachholen:
sudo apt-get install avrdude
Zunächst sagen wir FHEM was wir für ein Modell haben. Wir haben einen Arduino Nano mit CC1101. Also tragen wir in die FHEM Kommandozeile ein:
attr sduino hardware nanoCC1101
Ich möchte die stable Firmware, alternativ ginge aber auch die testing. Also trage ich ein:
attr sduino updateChannelFW stable
Und nun laden wir uns die Firmware runter. Dazu exekutieren wir
get sduino availableFirmware
Und nun sind wir soweit, der Signalduino kann geflasht werden
set sduino flash nanoCC1101
Fertig!
Ich bin von einem CUL 433 auf einen Signalduino umgestiegen. Das war ganz einfach. Man muss den CUL löschen und für sämtliche Geräte dann über folgendes angeben:
attr <Gerät> IODev sduino
Damit kann man nun Funkrauchmelder koppeln, Funksteckdosen schalten oder einen Chatbot mit Telegram einrichten!
Pro Tipp: Stellt sicher, daß ihr den Optiboot Bootloader auf dem Board habt. Damit läuft Euer cul stick sehr stabil.
DIY Guide: How to Build Your Own Signalduino?
Looking to expand your Smart Home without spending a fortune on proprietary gateways? The Signalduino is the perfect solution. For just a few dollars and with minimal crafting effort, you can build a bridge between your wireless sensors and your home automation system (e.g., FHEM).In this guide, you will learn how to assemble the hardware using an Arduino Nano and a CC1101 transceiver module.
Why Build a Signalduino? (Motivation)
The Signalduino is an extremely versatile wireless transceiver. Whether you want to read weather station data, control remote-controlled sockets, or monitor smoke detectors—this device is a true Swiss Army knife for makers.
Compatible devices include:
- Weather Stations: Auriol, Bresser, Hama, Oregon Scientific, Technoline, TFA, and many more.
- Actuators: Intertechno, Somfy RTS, Livolo, mumbi.
- Security: Flamingo smoke detectors, X10 security devices.
The DIY approach is not only cost-effective but also flexible: If you don’t like soldering, you can simply use female jumper wires to connect the components.
If you don’t like soldering, you can buy components with PINs and female jumper cables and plug the circuit together. The CUL can then be flashed with the appropriate firmware and operated with FHEM.
Versions
Before purchasing parts, you must decide which frequency you need. While the CC1101 chip can technically handle both, the hardware (antennas and filters) is usually optimized for one specific range.
- 433 MHz: Ideal for simple remote-controlled sockets (Intertechno) and many affordable outdoor sensors.
- 868 MHz: Required for systems like Homematic or MAX!.
Note: While you can switch frequencies via software, doing so results in a significant loss of range. For a stable setup, it is recommended to build one dedicated Signalduino for each frequency.
Used Material
Part
Arduino Nano FT232RL with USB cable (Amazon, Aliexpress)*
CC1101 868 or 433 Mhz (Amazon, Aliexpress)*
(Note: As an Amazon affiliate, I earn from qualifying sales).
Regarding the Arduino based on a Atmega328 Microcontroller you have to make sure that it has a real FTDI chip to avoid trouble and no CH340. The latter can be damaged by FTDI drivers. Under Linux you could run a CH340, but it doesn’t have its own ID in contrast to FTDI. The CC1101 should also be designed for the corresponding frequency. This results in
Wiring
The wiring is as following
| Arduino | CC1101 |
| VCC 3,3 V | VDD |
| PIN GND | GND |
| PIN D02 | GDO2 |
| PIN D03 | GDO0 |
| PIN D10 | CSn (SS) |
| PIN D11 | SI (MOSI) |
| PIN D12 | SO (MISO) |
| PIN D13 | SCK |
Firmware flashing
Now you can flash the firmware on the Arduino under Linux. For example you download the a-culfw firmware and unpack it. Now you can plug in the Arduino. With the command
ls -l /dev/serial/by-id
you can ask for the Arduino’s ID. The answer is for example
total 0 lrwxrwxrwx 1 root root 13 Nov 30 19:17 usb-FTDI_FT232R_USB_UART_12345678-if00-port0 -&amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;gt; ../../ttyUSB0
with
12345678
as the ID.
Then we update FHEM. To do this, we enter
update
in the command line in FHEM. After that
12345678
shutdown restart.
Now we can update the signalduino module. To do this, enter
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/master/controls_signalduino.txt
in the FHEM command line.
Now we can create the signalduino in FHEM:
define sduino SIGNALduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_12345678-if00-port0@57600
where
12345678
is the ID.
If there is no avrdude installed on our Linux system yet, we can do that with
sudo apt-get install avrdude
First, we tell FHEM what model we have. We have an Arduino Nano with CC1101. So in the FHEM command line we enter
attr sduino hardware nanoCC1101
I would like to have the stable firmware, but alternatively I would like to have the testing firmware. So I enter
attr sduino updateChannelFW stable.
And now we download the firmware. For this we execute
get sduino availableFirmware
And now we are ready, the signalduino can be flashed
set sduino flash nanoCC1101
Done!
I switched from a CUL 433 to a signalduino. This was quite simple. You have to delete the CUL and then specify sduino for all devices via attr <device> IODev.
Now we can pair smoke detectors, switch on / off wireless socket outlets or create a Chatbot with Telegram!
Pro Tip: Make sure that your board uses the optiboot bootloader to ensure maximum stability.
*Affiliate links
Marc Böttinger mb.wb@gmx.de
