Selbstbau Signalduino

Busware CUL Stick Nachbau

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.

ArduinoCC1101
VCC 3,3 VVDD
PIN GNDGND
PIN D02GDO2
PIN D03GDO0
PIN D10CSn (SS)
PIN D11SI (MOSI)
PIN D12SO (MISO)
PIN D13SCK

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.

English Version

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

ArduinoCC1101
VCC 3,3 VVDD
PIN GNDGND
PIN D02GDO2
PIN D03GDO0
PIN D10CSn (SS)
PIN D11SI (MOSI)
PIN D12SO (MISO)
PIN D13SCK

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;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