1. Einleitung
Wie so viele Großstadtbewohner wurde auch ich schon Opfer von Fahrraddiebstahl und unprovoziertem Verlust von Eigentum, daher war ein naheliegendes Selbstbau-Elektronikprojekt ein Einbrecheralarm für die eigenen vier Wände.
Es gibt Unmengen an technischen Lösungen für diesen Anwendungsfall, sei es mit gewöhnlichen Kameras, Geräuschsensoren, Ultraschallsystemen oder auch mit Radar.
Da mich das physikalische Prinzip interessierte, entschied ich mich für den Bau mit einem 32×24 Infrarot-Sensorfeld MLX90642 (im Folgenden Sensor genannt) des Herstellers Melexis welches Körperwärme in Form von Wärmestrahlung detektiert.
Zur Steuerung nutze ich ein Raspberry Pi Pico W Mikrocontroller Board mit integriertem WLAN (im Folgenden kurz Pico W genannt). Somit ist ein Prototyp als Bestandteil einer umfassenden IoT-Infrastruktur für die Hausüberwachung nutzbar.
2. Projekt Einbrecheralarm
2.1 Der Sensor
Im Datenblatt des Sensors, der Stand September 2025 etwas unter 20 Euro kostete, finden sich alle essentiellen Informationen.

Bevor mir jedoch klar war wie Messdaten sinnvoll abzugreifen sind verbrachte ich einige Zeit mit Experimentieren und Recherche – der Sensor ist in Selbstbauprojekten nicht sehr verbreitet und die spärlich vorhandenen Codebeispiele waren nicht einfach zu durchdringen, es war für mich damit eine Entwicklung “auf der grünen Wiese”.
Die Auflösung des Sensors scheint gemessen am Preis üppig: 24 Zeilen und 32 Spalten, was 768 kleine FIR (Fern-Infrarot) Pixel ergibt, jeder einzelne über 2-Byte Adressen ansprechbar. Die Pixel liefern ihrerseits wiederum 2-Byte an Messdaten, welche sich durch einfache Formeln in Celsius-Temperaturen umrechnen lassen.
Angegeben ist ein darstellbarer Temperaturbereich von -40°C bis 85°C. Die Versorgungsspannung von 3,3V und die Bereitstellung der Daten über den I2C-Bus eignen sich gut für eine Verschaltung mit gängigen Mikrocontrollern.
2.2 Schaltungskonzept und Verdrahtung
Auch wenn es auf dem unteren Bild vielleicht den Eindruck erweckt, ist die Schaltung an sich nicht sonderlich kompliziert (siehe Teil 2 für einen Schaltplan).

Der Datenaustausch erfolgt wie oben erwähnt über den I2C-Bus. Neben dem Sensor selbst hängen
- OLED-Display 0,96 Zoll mit SSD1306-Controller (zur Visualisierung erster Versuchsergebnisse)
- TSL25911 Lichtsensor (zur Fehlerkorrektur bei heller Sonnenstrahlung und ggf. zur Nachtaktivierung)
als I2C-Slaves wie in einer “daisy-chain” am ersten I2C-Controller des Pico W, hier GPIO Pin 4 (SDA) und GPIO Pin 5 (SCL), was die Vielzahl an Kabeln erklärt (siehe auch Sensor-Datenblatt Abschnitt 4.2). Der Pico W ist per default der I2C-Master.
Das kompilierte C-File (eine .elf-Datei) wird über Serial-Wire-Debug (abgekürzt SWD, eine mit Masseanschluss dreipolige Leitung) in den Speicher des Pico W geschrieben. Zum effektiven Debuggen sende ich Daten über die serielle bzw. UART-Schnittstelle, hier GPIO Pin 0 (TX) und GPIO Pin 1 (RX). Diese Verbindung zum Raspberry Pi ist für die Funktion selbst aber nicht erforderlich.
Wird er implementiert, kann ein Buzzer an einem GPIO Pin Alarm bei Detektierung einer in Sensorsicht befindlichen Wärmequelle schlagen (nur für Präsentationszwecke).
2.3 Entwicklung eines Programmcodes
Für das OLED-Display und den Lichtsensor kann man bequem auf fertige Bibliotheken1 und durchgetesteten Programmcode zurückgreifen.
Auf dem Display lassen sich auf unkomplizierte Art und Weise 60 Zeichen darstellen, daher traf ich eine Auswahl darzustellender Pixel 60 aus 768 (4 Reihen à 15 Pixel), zwei Temperaturschwellen sorgen für eine qualitative Darstellung in Hell, Dunkel und komplett Dunkel.
Eine Initialisierung des Sensors ist für den Betrieb als simpler Einbrecheralarm nicht notwendig, mit Timing und Synchronisationsverhalten muss man sich nicht wirklich beschäftigen.
Defaultwerte die sich im Speicher des Sensors befinden sind a priori verwendbar, u. A. wird kontinuierlich mit einer “Refresh Rate” von 8 Hertz gemessen, wobei darauf zu achten ist, dass diese zur Taktfrequenz des I2C-Busses passt2.
Beispielcode findet sich in meinem Github-Repository.
3. Sensor-Inbetriebnahme
Die Versuchsschaltungen wird im folgenden Video vorgeführt (SW-Versionen 0.2x, siehe Github).
Das OLED-Display dient dem Showeffekt, wie erwähnt sind 60 Pixel aus willkürlich gewählten Zeilen und Spalten dargestellt.
Eigentliche Prototypen werden als Bestandteil einer IoT-Infrastruktur zu einem späteren Zeitpunkt in der Lage sein Personen zu erkennen, und (lautlosen) Alarm zu triggern.
4. Verbesserungen und Ausblick
Den Einbrecheralarm IoT-fähig zu machen war von Vornherein eine (eigentlich die) Hauptüberlegung. Das Raspberry Pi Pico C/C++ SDK stellt alle notwendigen Bibliotheken und Werkzeuge zum Bauen von Webservern bereit (SW-Versionen 0.4x ff., siehe Github).
Auf dem Screenshot ist eine ad-hoc Implementierung veranschaulicht. Zur reinen Demo sind im Webbrowser die Temperaturwerte derselben Pixel angezeigt, die qualitativ auf dem OLED-Display dargestellt sind.

Man kann nun natürlich statt einer Auswahl jeden einzelnen Pixel auslesen und damit ein mehr oder minder hochauflösendes3 thermisches Bild von Personen, Tieren und auch Gegenständen auf dem Smartphone oder dem heimischen PC generieren (siehe Visualisierung am Kopf des Artikels).
Spinnt man den Faden weiter, stellt ein mit Messdaten trainierter “Machine Learning” (ML) Algorithmus fest ob sich unerlaubt Personen in der Umgebung aufhalten, und dies maßgeschneidert auf die individuelle Umgebung um falsche Alarme (“False Positives”) zu vermeiden.
Für eine Verteilung an einen größeren Kreis von Benutzern und den produktiven Einsatz sind auf dem Server Sicherheitsmechanismen (SSL/TLS) für die verschlüsselte HTTPS-Verbindung unumgänglich. Das ist ressourcenintensiv und wird im Rahmen dieses Blogartikels nicht weiter thematisiert.
In Teil 2 gehe ich auf die Erstellung eines Printed Circuit Boards (PCB), und die Entwicklung des ML Programmes ein.
5. Weiterführende Informationen
5.1 Fußnoten
1 ich spreche hier nur von C-Code-Bibliotheken, Micropython habe ich in diesem Projekt nicht genutzt
2 im “I2C fast mode” bis zu 400 Kb/s, siehe RP2040 Datenblatt; mit dieser Datenrate ist eine “Refresh Rate” bis 16 Hertz einstellbar ohne dass es zu Problemen bei der Datenakquise (d. h. Daten korrupt) kommen sollte
3 ggf. kann man für bestimmte Anwendungsfälle mehrere Infrarot-Sensorfelder für eine höhere Auflösung kombinieren, oder man kombiniert den Sensor mit z. B. einem normalen Kameramodul (“Sensorfusion”)
5.2 Datenblätter
5.3 Online Ressourcen
hackaday.io Projektseite (englisch) Einbrecheralarm
5.4 Literatur
1. Programming the Raspberry Pi Pico in C – Harry Fairhead, I/O Press; ISBN 9781871962680 (First Edition)
2. Master the Raspberry Pi Pico in C: WiFi with lwIP & mbedtls – Harry Fairhead, I/O Press; ISBN 9781871962819 (First Edition)
