Raspberry Pi | Andreas Dumont | 02/2026 | 9. Juni 2026

Raspberry Pi Sense HAT

Das Raspberry Pi Sense HAT ist eine multifunktionale Erweiterungskarte, die einem Raspberry Pi eine ganze Reihe von Sensoren spendiert. Die integrierte LED-Matrix ermög­licht es, die Sensordaten direkt auszugeben.

Die Sensoren der Erweiterung messen Luftdruck, Luftfeuchtigkeit, Temperatur, Licht, Ausrichtung und Beschleunigung. Die 8×8-RGB-LED-Matrix kann die Sensordaten oder andere Inhalte ausgeben. Über den kleinen Joystick können Sie mit Ihren Projekten interagieren. Die Abkürzung HAT steht für „Hardware Attached on Top“. Das bedeutet, dass sich das Board direkt auf die GPIO-Leiste des Raspberry Pi stecken lässt. Der Sense HAT ist mit sämtlichen Raspberry-Modellen kompatibel, die diese 40-polige GPIO-Leiste mitbringen.

Die zur Ansteuerung des Sense HAT erforderlichen Bibliotheken wie „sense_hat“ sind bei aktuellen Versionen von Raspberry-Pi-OS standardmäßig installiert. Die  Python-Bibliothek ermöglicht den Zugriff auf die Sensoren, die LED-Matrix und den Joystick. Das Sense HAT gibt es für rund 35 Euro in Onlineshops wie Berrybase (www.berrybase.de) oder Buyzero (https://buyzero.de).

Sense HAT testen

Nachdem Sie das Sense HAT auf den Rasp­berry Pi gesteckt haben, prüfen Sie zunächst, ob alles funktioniert. Dazu erzeugen Sie ein Objekt der Klasse „SenseHat“ und zeigen mit der Funktion „show_message()“ eine Laufschrift an. Erstellen Sie zunächst mit 

sudo nano ~/sensehat_test.py

eine neue Python-Datei. Zwei Codezeilen stellen die Verbindung mit dem Sense HAT her, die dritte Zeile zeigt eine Meldung auf der LED-Matrix:

from sense_hat import SenseHat

sense = SenseHat()

sense.show_message(„Hallo Welt!“)

Speichern Sie die Datei, machen Sie sie mit ausführbar 

sudo chmod +x test.py

und starten Sie dann das Miniprogramm: 

python ./test.py

Die Meldung „Hallo Welt!“ sollte nun über den LED-Bildschirm laufen. Das Raspberry Pi 5 meckert mitunter, dass für die Erweiterungsplatine nicht genug Leistung zur Verfügung steht. In diesem Fall spendieren Sie ihm ein stärkeres Netzteil.

Eine Python-Bibliothek erleichtert den Umgang mit dem Sense HAT, etwa um Text auf der LED-Matrix auszugeben.

Sie können die Anzeige verändern, indem Sie zusätzliche Parameter hinzufügen. Die Angabe „scroll_speed“ bestimmt, wie schnell sich der Text über die Matrix bewegt. Je größer die Zahl, desto geringer die Geschwindigkeit (eine Zeile):

sense.show_message("Hallo Welt!", scroll_speed=0.05, text_colour=[255,0,0])

Der Parameter „text_colour“ ändert die Farbe des Textes über drei Werte für Rot, Grün und Blau (hier also pures Rot).

Wetterdaten auslesen

Der Sense HAT verfügt über Sensoren für Temperatur, Luftdruck und Luftfeuchtigkeit. Die Werte lassen sich einfach abfragen und in Variablen ablegen.

from sense_hat import SenseHat

import time

import sys

sense = SenseHat()

sense.clear()

try:

    while True:

        t = sense.get_temperature()

        t = round(t, 1)

        h = sense.get_humidity()

        h = round(h, 1)

        p = sense.get_pressure()

        p = round(p, 1)

        message = "T: "+str(t)+" P:  "+ 

            str(p)+" H: "+str(h)

        sense.show_message(message, 

             scroll_speed=0.15)

        time.sleep(10)

except KeyboardInterrupt:

      pass

Die While-Schleife läuft endlos, bis Sie das Script mit Strg-C abbrechen. Die Messwerte für Temperatur, Luftdruck und Luftfeuchtigkeit erscheinen nacheinander auf der LED-Matrix. Alternativ lassen sich die Werte auch im Terminal ausgeben. 

Ein prinzipielles Manko sei erwähnt: Der Temperatursensor ist ungeschickt platziert und bekommt die Abwärme des Raspberry Pi ab. Für mehr Genauigkeit können Sie den Sense HAT mit einem GPIO-Verlängerungskabel auslagern.

Die Messwerte der Sensoren lassen sich sowohl auf der LED-Matrix der Erweiterungsplatine als auch im Terminal anzeigen.

Bewegung und Farben erkennen

Der Sense HAT besitzt einen IMU-Chip (Inertial Measurement Unit). Dieser Chip enthält mehrere Sensoren: Ein Gyroskop erkennt die Ausrichtung des Boards, ein Beschleunigungsmesser zeigt Bewegungen an und ein Magnetometer erkennt Magnetfelder. Ein kleines Script soll die Neigung, Rollbewegung und Drehung des Raspberry Pi erkennen. Sie erhalten Grad-Werte zwischen 0 und 360. 

from sense_hat import SenseHat

sense = SenseHat()

sense.clear()

o = sense.get_orientation()

p = o["pitch"]

r = o["roll"]

y = o["yaw"]

p=round(p, 2)

r=round(r, 2)

y=round(y, 2)

print("Neigung {0} Rollen {1} Drehen {2}".format(p, r, y))

Die Neigung erfolgt über die lange Seite des Raspberry Pi, Rollen über die kurze Seite, und für Drehen ändern Sie die Ausrichtung des Boards. 

Seit Version 2 des Sense HAT verfügt es über einen Farbsensor, mit dem Sie die Lichtmenge messen und die Anteile von rotem, grünem und blauem Licht erfassen. Der folgende Code gibt Werte zwischen 0 und 256 für den roten, grünen und blauen Lichtanteil sowie die Gesamtlichtmenge aus.

from sense_hat import SenseHat

from time import sleep

sense = SenseHat()

sense.color.gain = 64

sense.color.integration_cycles = 64

while True:

  sleep(2 * sense.colour.integration_time)

  red, green, blue, clear = sense.colour.colour

  print(f"R: {red}, G: {green}, B: {blue}, C: {clear}")

Der Wert „gain“ definiert die Empfindlichkeit des Sensors. Sie kann die Werte 1, 4, 16 oder 64 annehmen und helle oder dunkle Umgebungen ausgleichen. Sie können zudem die Anzahl der Integrationszyklen festlegen, die für einen neuen Satz von Sensorwerten erforderlich sind. Jeder Zyklus dauert 2,4 Millisekunden, sodass die Anzahl die Mindestzeit zwischen zwei Messungen bestimmt. Sie kann zwischen 1 und 256 liegen.

LED-Matrix und Joystick nutzen

Die LEDs der Matrix lassen sich über Koordinaten ansteuern. Der erste Wert ist horizontal und reicht von 0 auf der linken Seite bis 7 auf der rechten Seite. Der zweite Wert ist vertikal und reicht von 0 oben bis 7 unten. Daher ist die x/y-Koordinate „0, 0“ die obere linke Ecke, die Koordinate „7, 7“ die untere rechte Ecke. Um das nachzuvollziehen, lässt sich in jeder Ecke der LED-Matrix eine andere Farbe einstellen. Die Farbwerte für Rot, Grün und Blau reichen von 0  bis 255.

from sense_hat import SenseHat

sense = SenseHat()

sense.clear()

sense.set_pixel(0, 0, 255, 0, 0)

sense.set_pixel(0, 7, 0, 255, 0)

sense.set_pixel(7, 0, 0, 0, 255)

sense.set_pixel(7, 7, 255, 255, 255)

Das nächste Miniprogramm zeigt, wie sich der kleine Joystick auf dem Sense HAT auslesen lässt:

from sense_hat import SenseHat

sense = SenseHat()

def rot():

  sense.clear(255, 0, 0)

def gruen():

  sense.clear(0, 255, 0)

def blau():

  sense.clear(0, 0, 255)

def pink():

  sense.clear(255, 0, 255)

sense.stick.direction_up = rot

sense.stick.direction_left = gruen

sense.stick.direction_down = blau

sense.stick.direction_right = pink

sense.stick.direction_middle = sense.clear

while True:

  pass

Je nachdem, in welche Richtung Sie den Joystick bewegen, färben Sie die LED-Matrix in einer anderen Farbe ein. Indem Sie den Button drücken, leeren Sie die Matrix.