ESP-01S Relais Board patchen

Für ein kleines Projekt, eine Zweitklingel für unsere Türsprechanlage, habe ich mir im Makershop.de ein Relaisboard bestellt, das mit „ESP-01S Relay V1.0“ beschriftet ist. Ich wollte mir damit das Verkabeln einzelner Relais Boards ersparen und ein paar alte ESP-01 Boards hatte ich hier sowieso noch herumliegen – also genau das Richtige für das Projekt. Wie ich, nachdem ich das Board erhalten habe, leidvoll feststellen musste, funktioniert es überhaupt nicht und der ESP-01 startet erst gar nicht. Nach ein wenig Sucherei im Netz habe ich dann auch den Schaltplan für das Board gefunden und dabei fällt sofort ins Auge, dass CH_PD nicht mit VCC verbunden ist und was macht überhaupt der 10k Widerstand da, der GPIO0 auf GND zieht? Das ist doch der Bootloader Mode… Also heisst es wohl: das Board muss gepatcht werden, sonst funktioniert es „Out-of-the-box“ überhaupt nicht.

Da diese Boards auch noch über AliExpress verkauft werden und damit die Wahrscheinlichkeit hoch ist, dass noch ein paar andere Bastler darüber stolpern, hier zwei Bilder, wie ihr das Board modifizieren müsst, damit es auch bei euch reibungslos funktioniert.

Also erstmal auf der Oberseite des Boards den Widerstand auslöten:

…und danach dann noch die zwei Pins (CH_PD und Vcc) miteinander verbinden:

Insgesamt eigentlich ziemliche Anfängerfehler im Design. Passt also auf, dass ihr beim Bestellen nicht auch an diese Boards geratet, sonst ist Handarbeit gefragt, um die beiden Bugs auszumerzen.

Prototypenbau gestern und heute

Ideen umsetzen ist eines der Ziele der Make Bewegung. Egal ob man im Bereich Stricken, Holzarbeiten oder Elektronik unterwegs ist – man möchte irgendwie schnell ans Ziel kommen. Da auch die Maker durch die Verfügbarkeit von günstigen Herstellungsmethoden und immer günstiger werdenden Geräten ihre Art und Weise des Prototypenbaus verändert haben, möchte ich einmal kurz vorstellen, wie meine Vorgehensweise mittlerweile aussieht und auch zeigen, wie ich das früher gemacht habe.

Möchte ich heute ein Projekt umsetzen, so starte ich nur noch sehr selten mit einem einzelnen Mikrocontroller, um den ich die Logik auf einer Lochrasterplatine aufbaue, da es viele unterschiedliche Entwicklungsboards gibt, die mir die Arbeit hier stark vereinfachen können. Hier liegt die Arduino Plattform, die ESP8266 und ESP32 Boards aber auch die Discovery Boards mittlerweile weit vorne. Für diese Boards gibt es bereits eine große Community, die sich um Bibliotheken und Anbindung von externen Sensoren, etc. kümmern. Im Idealfall sucht man sich also nur noch ein passendes Modul aus, lädt ein Beispielprogramm herunter und fertig ist der Prototyp.

Früher: Lochrasterplatine mit Atmel Mikrocontroller

Heute: verschiedene (LoRa) Entwicklungsboards

Reicht die einfache Variante nicht aus, so kann man sich im Bereich von Open Hardware umschauen. In meinem Beispiel habe ich nach einem LoRa Board geschaut, das möglichst flexibel einzusetzen ist, Standardkomponenten verwendet,  stromsparend arbeitet und auch über Batterie betrieben werden kann. Wie so oft wird man hier bei GitHub fündig. Bei diesem Board hatte ich wieder Glück, denn es verwendet wieder ein Standardentwicklungsboard – den Arduino Pro Mini – und lässt sich dadurch wieder ganz einfach programmieren.
Findet man kein passendes Board setzt man sich einfach hin und bastelt schnell ein eigenes Platinenlayout. Passende Layoutsoftware gibt es mittlerweile für kleinere Designs umsonst, bspw. EAGLE oder KiCad. In letzter Zeit verwende ich ab und an auch mal das Online-Layoutprogramm EasyEDA.

Heute: Fertig designtes Open Hardware Board (grün)

Früher habe ich mich dann noch selbst in den Keller gestellt und per Tonertransferverfahren das Platinenlayout auf die Rohplatine gebracht und danach dann in dem selbst gebauten Ätzgerät geätzt. Danach einmal kurz drüberschauen, ob die Leiterbahnen in Ordnung sind, die Löcher für die Bauteile bohren und zum Schluß Leiterbahnen verzinnen.

Früher: selbstgebautes Ätzgerät

Das das alles sehr umständlich und zeitraubend ist und wir als Maker, wenn wir gerade mal ein paar Stunden in der Woche an unseren Projekten arbeiten, auch zu wenig Zeit dafür haben, dürfte klar sein. Aus diesem Grund bin ich dazu übergegangen, einen der vielen Leiterplattenhersteller zu verwenden, die mir die fertigen Platinen durchkontaktiert, mit Lötstopplack und Beschriftung direkt nach Hause liefern und dank der Konkurrenz aus Fernost bekommt man so als Maker sehr schnell eine sehr gute Qualität, sodass sich das Design eines Prototypen schon lohnt.

Weiter geht’s mit der Bestückung: während man früher eher PTH Bauelemente verwendet hat, verwende ich – wenn möglich – heute ausschließlich SMD Bauteile. Das hat den Grund, das sie wesentlich einfacher zu verarbeiten sind und ich natürlich auch kleinere Boards bauen kann. Mit einer kleinen Spritze mit Lötpaste, werden die freien Pads auf dem Boards „eingeschmiert“ und die SMD Bauteile in die Lötpaste gesetzt. Man braucht hier nicht einmal sehr genau zu arbeiten, da der Kapillareffekt und der Lötstopplack der Platine dafür sorgen, dass das Bauteil notfalls auch in Position gezogen wird. Danach geht’s ab in den Reflow-Ofen – wir Maker haben uns dafür Pizza Öfen umgebaut oder einfach einen der günstigen Reflow-Öfen aus Fernost gekauft. Ich besitze einen letzteren und habe ihn erstmal umgebaut: Krepp Band raus und Kapton Band rein, Gehäuse vernünftig geerdet, neue Temperaturreferenz eingebaut und eine neue Firmware eingespielt. Damit kann man dann auch schnell mal ein paar Platinen mehr „backen“.

Heute: bestücktes Board mit Lötpaste und aufgesetzten Bauteilen

Heute: Platinen backen im Reflow Ofen

Danach überprüfe ich mit einem Mikroskop nochmal den Sitz der Bauteile und ob die Lötstellen soweit in Ordnung sind. Falls nicht, wird nochmal nachgearbeitet und entweder mit einer Reflow Workstation nachgelötet oder mit Entlötsauglitze überschüssiges Lot entfernt.

Heute: Sichtprüfung mit Mikroskop – hier zu viel Lot zwischen zwei Kontakten

Das war’s auch schon. Klar, dass ich mittlerweile das ein oder andere Gerät in meiner Werkstatt habe, das ein Anfänger noch nicht haben dürfte – ist halt alles so nach und nach zusammen gekommen, aber dennoch denke ich, dass es nie einfacher war, selbst eigene Schaltungen zu realisieren und das alles für sehr wenig Geld.

Wie sieht bei euch denn die Entwicklung aus? Immernoch Lochrasterplatinen und Kupferlackdraht? Auch schon gefertigte Platinen? PTH Komponenten oder auch schon SMD? Würde mich freuen, wenn ihr mir einen Kommentar hinterlasst und mal schreibt wie ihr das macht.

TTN Gateway – RasPi 3 + IMST iC880A + CH2i + GPS

Hier war es ja mal wieder lange Zeit etwas zu still – wie immer versuche ich das zu verändern, aber im Moment dreht sich bei mir einiges im „Real Life“. Egal… zurück ur Technik :-).

Ich habe in den letzten Wochen einige Zeit mit LoRaWAN und dem The Things Network zugebracht und unsere Community in Paderborn wächst und gedeiht und wie ihr lesen konntet, durfte ich auf der MakerCon in Heidelberg auch das TTN vorstellen.
Beim Bau meiner zwei Gateways kam dann irgendwann die Frage auf, ob es nicht sinnvoll sein könnte, den Concentrator von IMST auch gleich mit dem PPS Signal eines GPS Moduls zu versorgen. Einige Forenbeiträge im TTN Forum haben das verneint, da es wohl ein altes Referenz Design verwendet und das TTN keine Class B Devices (Beacons) unterstützt. Letzteres wird sich aber mit dem Stack v3 ändern, sodass eine genaue Zeitsynchronisation notwendig sein wird und mit einer genaueren Zeitbasis kann man auch die Triangulation erhöhen. Ich habe mich also dazu entschlossen mein Outdoor Gateway mit GPS zu erweitern. Dabei habe ich mich zum größten Teil an die Anleitung auf Björns Techblog gehalten.Einziger Unterschied: ich verwende ein UBlox Neo-M8N GPS Modul und verbinde es – ohne zu löten – mit der CH2i Backplane und dem Concentrator von IMST.
Im folgenden Bild kann man sehen, wo ich die Kabel des GPS Empfängers angeschlossen habe (die Farben der Kabel sind von mir gewählt und entsprechen nicht unbedingt dem mitgelieferten Anschlusskabel).

Man sieht im Bild, dass ich das PPS Signal an den Concentrator mit einem SMA Verbinder angeschlossen habe. Alternativ kann man das PPS Signal des GPS Empfängers auch direkt an Pin 19 des Concentrators anschliessen, da ich aber keine Lötverbindungen wollte, war das für mich der bessere Weg. Strom und Masse kommen von einem I²C Connector der CH2i Backplane und RxD sowie TxD werden mit dem FTDI Anschluss verbunden (die beiden Pfeile auf der CH2i Backplane). Das war es dann auch schon.
Im Packet Forwarder muss man nur noch FakeGPS abschalten und schon wird der GPS Empfänger erkannt. In meiner Resin.io Konfiguration habe ich dazu in den „Device Service Variables“ „GW_GPS“ auf „true“ gesetzt.
Momentan statten wir einige unserer Gateways mit GPS aus und sind sehr gespannt, wie sich das auf unser Netz und die Geolocation sowie den kommenden Stack v3 auswirken wird.

Solltet ihr weitere Fragen zu dem Umbau haben, dann immer her damit (Kommetare) :-)!

Speaker auf der MakerCon 2018

Nachdem ich vor einigen Wochen bereits die Bestätigung erhalten habe, dass ich im nächsten Jahr als Speaker bei der MakerCon 2018 in Heidelberg einen Vortrag über das „The Things Network“ (http://www.thethingsnetwork.org) halten darf, ist jetzt auch das Programm der MakerCon online. Ihr könnt es auf der Webseite der MakerCon anschauen.

Meinen Vortrag über das freie LoRa Netzwerk werde ich bereits am Donnerstag halten und freue mich auch jetzt schon wieder auf sehr interessante Diskussionen rund um das Thema „Maker“, das Internet of Things, LoRa und natürlich das The Things Network. Vielleicht sieht man sich im nächsten Jahr vom 12.-14. April in Heidelberg :-).

 

Arduino Uno + Ethernet Shield + Thingspeak

Vor kurzem habe ich ein Honeywell Rondostat HR-20 Heizkörperthermostat in Betrieb genommen, das schon lange sein Dasein im Keller fristete. Anfangs funktionierte es eigentlich einwandfrei, wobei mir die seltsame Regelung der Temperatur in meinem Raum schon etwas komisch vorkam. Der Raum kühlte ab und das Thermastat schaltete komplett durch. Das hatte schon was von einer PWM Regelung der Temperatur und hat mir schon nicht so richtig gefallen. Als ich dann tagsüber mal in den Raum hereinkam, hatte der Raum bereits eine Temperatur von sommerlichen über 30°C erreicht und es wurde nicht mal ein Fehler angezeigt. Da man so einem Gerät nun nicht mehr vertrauen kann, habe ich mir schnell aus einem Arduino UNO, einem Ethernet Shield, einem DHT11 Temperatur- / Luftfeuchtigkeitssensor und Thingspeak einen kleinen Datenlogger gebastelt, der seine Daten an die Thingspeak Plattform sendet. Auf der Plattform kann man die Daten jederzeit und von überall aus abrufen.
Den Aufbau sowie den Quellcode habe ich mal in mein Wiki gepackt.

ArduinoUnoEthernetDHT11Thingspeak

dht11_mit_thingspeak

Ergebnis der ganzen Aktion: ich habe mir ein neues Thermostat geholt, das deutlich besser regelt und werde in Zukunft mal versuchen, die alternative Firmware OpenHR20 in das HR-20 einzuspielen. Ein weiterer Test wird dann zeigen, ob das HR-20 oder die Firmware davon Schrott sind.