Skip to content
Patrick Wulfert edited this page Apr 9, 2020 · 18 revisions

HM-LC-Sw1-Pl-DN-R1_S26

Umbau des Sonoff S26 Zwischenstecker zum HM-LC-Sw1-Pl-DN-R1_S26

Die Idee war es, den Zwischenstecker nativ in die 868MHz Infrastruktur von HM einzubinden. Der S26 bot sich an, weil man den ESP8266 restlos aus dem System entfernen kann, und durch eine selbst entwickelte Platine, bestückt mit ATmega und einem CC1101 Funkmodul auf der Basis von AskSin++ betreiben kann.


Die Platine

Rückansicht HM-LC-Sw1-Pl-DN-R1_S26

Das Platinenlayout wurde in KiCad entwickelt und die zur Fertigung benötigten Gerberdateien stehen ebenfalls bereit. Wichtig ist, dass eine Platinenstärke von 1,2mm gewählt wird. Einige PCB-Hersteller bieten das nicht an. In diesem Fall muss der Schlitz auf der Hauptplatine etwas ausgearbeitet werden.

In V1.1 wurde der Header für den FTDI geändert. Dieser passt nun 1:1 in die Platine. Ein Zwischenkabel ist nicht mehr notwendig. Desweiteren wurden die SMD Bauteile von 0603 auf 0805 geändert.


Benötigte Bauteile V1.1

Bauteil Bestellnummer Anzahl Kommentar
C1 X5R-G0805 10/16 1 -
C2, C3, C4, C5 X7R-G0805 100N 4 -
R1 RND 00805 1 10K 1 -
U1 ATMEGA 328P-AU 1 -
Stiftleiste für CC1101 SL 1X20G 2,00 1 optional, hilfreich zum Anschließen des ISP
Buchsenleiste für CC1101 MPE 156-1-032 1 optional

Die Stiftleistenverbindung sollte nur zu Debugzwecken eingesetzt werden. Aus Platzgründen muss der CC1101 direkt auf die SMD-Pads der Platine verlötet werden.

Bauteil Bestellnummer Anzahl Kommentar
CC1101 CC1101 Funkmodul 868 MHz 1

~8,3 cm Draht als Antenne (auf die mitgelieferte Helixantenne sollte verzichtet werden.


Bauanleitung

Zuerst den ATmega auflöten, die Markierung (kleiner Punkt) muss zur Beschriftung U1 zeigen. Danach die Kondensatoren und den Widerstand auflöten.

Mit einem Multimeter messen ob kein Kurzschluss zwischen VCC und GND besteht (mehrere 10 K Widerstand sind okay).

Den ISP Programmieradapter an die Lötaugen für den CC1101 anschließen. Ein Adapterkabel vom 6-poligen ISP-Adapter (bzw. Arduino UNO) auf eine 2 mm-Stiftleiste wird empfohlen und kann ggf. aus Stift- und Buchsenleiste hergestellt werden. Der Arduino UNO und auch (meines Wissens) einige USBasp bieten zwar eine 3.3V Versorgungsspannung an, jedoch laufen die SPI Signalpegel weiter bei 5V, was dem CC1101 schaden kann. Dieser sollte also erst nach dem Setzen der Fuses und Einspielen des Bootloaders aufgelötet werden.

SMD fertig HM-LC-Sw1-Pl-DN-R1_S26


Programmierung des ATmega

Ich verwende einen Arduino UNO als ISP, daher beziehen sich die Beispiele darauf. Die Verbinung ergibt sich wie folgt:

Arduino Pins Bezeichnung Platine
3.3V VCC
GND GND
D13 SCK
D12 MISO
D11 MOSI
D10 Reset

Fuses

Ext: 0xFF High: 0xD2 Low: 0xE2 (Fusecalc)

Es wird die BOD deaktiviert und auf internen Oszillator gesetzt. Wichtig! nicht die Standard Fuses aus der Arduino IDE setzen, der ATmega erwartet dann einen externen Oszillator und läuft nicht weiter.

<Pfad zu> .\avrdude -C ..\etc\avrdude.conf -v -p m328p -P com11 -c stk500v1 -b 19200 -U lfuse:w:0xE2:m -U hfuse:w:0xD2:m -U efuse:w:0xFF:m

Bootloader

Hier kann aus der Arduino IDE, der Standard-Bootloader für ATmega328P (3,3 V, 8 MHz) genommen werden.

<Pfad zu> .\avrdude -C ..\etc\avrdude.conf -v -p m328p -P com11 -c stk500v1 -b 19200 -U flash:w:..\..\..\arduino\avr\bootloaders\atmega\ATmegaBOOT_168_atmega328_pro_8MHz.hex

Firmware

Die Firmware kann hier aus dem Repo bezogen werden. Danach den FTDI USB-seriell-Adapter an die 2,54 mm-Stiftleiste stecken und mit der Arduino IDE den Sketch flashen. Aus Platzgründen auf der Platine konnte ich nicht die Pinbelegungen eines gängingen FTDI-Adpters übernehmen und musste daher auf den (unwichtigen) CTS Port verzichten. Ein 5-pol. DuPont-Stecker mit männlichen Pins leicht verkantet in den Löchern funktionierte bei mir wunderbar und ohne Löten.

Nach dem Flashen sollte die serielle Ausgabe schon eine Meldung über die AskSin-Version bringen, und "meckern" dass das CC Modul nicht gefunden wird.


Zusammenbau

Als nächstes kann das CC1101-Modul "huckepack" aufgelötet werden.

CC1101 Huckepack

Nun muss das überflüssige WLAN-Modul aus dem S26 ausgelötet und die neue Platine eingelötet werden.

PCB Einbau

Ich habe mich für eine Antenne aus 8,3cm Kupferlitzedraht entschieden. Mit einem Tropfen Sekundenkleber auf der Platine verklebt, sollte sie gegen Verrutschen gesichert sein. Wichtig ist, dass die Antenne so weit wie möglich von 230V entfernt bleibt.

Antennenlage

Nach dem Zusammenbau kann der Anlernvorgang durch langes Drücken der einzigen Taste gestartet werden. Die Anlernprozedur wird durch langsames Blinken der blauen LED angezeigt, der Erfolg durch schnelles Blinken.

Details zum S26 >>>


Der Umbau erfordert Sachverstand im Umgang mit Geräten bei 230V Netzspannung! Bitte sei dir sicher, was du da tust und handele mit ausreichender Vorsicht! Ich übernehme keine Haftung und kümmere mich nicht um hinterbliebene Anverwandte. ;-)