19.01.2026

Verwendung von QWIC-Geräten mit Raspberry Pi

Qwiic
Raspberry Pi
Using Qwiic devices with Raspberry Pi

Table of contents

Einstieg in Qwiic und Raspberry Pi: Eine nahtlose Integration

Wenn du bereits mit dem Raspberry Pi vertraut bist und eine einfachere, sauberere Möglichkeit suchst, Sensoren und Module anzuschließen, ist das Qwiic-Ökosystem das Upgrade, nach dem du gesucht hast.
Qwiic eliminiert Breadboards, wirres Kabelgewirr und falsches Pin-Mapping. Mit nur einem einzigen 4-poligen Kabel kannst du Sensoren, Displays, Eingänge und mehr verbinden – perfekt für Anfänger, Schüler und Hobbybastler, die ihre ersten Raspberry-Pi-I2C-Projekte bauen.

Was ist das Qwiic Connect System?

Table of contents

Einstieg in Qwiic und Raspberry Pi: Eine nahtlose Integration

Wenn du bereits mit dem Raspberry Pi vertraut bist und eine einfachere, sauberere Möglichkeit suchst, Sensoren und Module anzuschließen, ist das Qwiic-Ökosystem das Upgrade, nach dem du gesucht hast.
Qwiic eliminiert Breadboards, wirres Kabelgewirr und falsches Pin-Mapping. Mit nur einem einzigen 4-poligen Kabel kannst du Sensoren, Displays, Eingänge und mehr verbinden – perfekt für Anfänger, Schüler und Hobbybastler, die ihre ersten Raspberry-Pi-I2C-Projekte bauen.

Was ist das Qwiic Connect System?

Einstieg in Qwiic und Raspberry Pi: Eine nahtlose Integration

Wenn du bereits mit dem Raspberry Pi vertraut bist und eine einfachere, sauberere Möglichkeit suchst, Sensoren und Module anzuschließen, ist das Qwiic-Ökosystem das Upgrade, nach dem du gesucht hast.
Qwiic eliminiert Breadboards, wirres Kabelgewirr und falsches Pin-Mapping. Mit nur einem einzigen 4-poligen Kabel kannst du Sensoren, Displays, Eingänge und mehr verbinden – perfekt für Anfänger, Schüler und Hobbybastler, die ihre ersten Raspberry-Pi-I2C-Projekte bauen.

Was ist das Qwiic Connect System?

Das Qwiic Connect System ist ein standardisierter 4-poliger Steckverbinder für die I2C-Kommunikation. Es wurde entwickelt, um Elektronik zugänglicher zu machen, indem Löten und Verdrahten überflüssig werden.

Ein Qwiic-Stecker umfasst:

  • GND
  • 3,3-V-Versorgung
  • SCL
  • SDA

Da der Stecker verpolungssicher ist, kann man ihn nicht falsch herum einstecken – ideal für Einsteiger.

Warum Qwiic mit Raspberry Pi verwenden?

Gründe, warum Qwiic auf dem Raspberry Pi überzeugt:

  • Keine Verdrahtungsfehler – perfekt für Klassenzimmer und schnelles Prototyping
  • Mehrere I2C-Geräte hintereinander schalten
  • Standardmäßig 3,3-V-sicher
  • Kompakte Steckverbinder sparen Platz in Gehäusen
  • Funktioniert mit vielen Plug-and-Play-Modulen

Wenn du willst, dass deine Raspberry-Pi-Projekte sauber, schnell und zuverlässig sind, ist Qwiic der richtige Weg.

Was du für dieses Tutorial brauchst

Um diesem Tutorial zu folgen, benötigst du:

  • 1x Raspberry Pi mit Raspberry Pi OS
  • 2x Qwiic-Kabel
  • 1x Soldered BME680 Umweltsensor
  • 1x Soldered SSD1306 OLED-Display
  • 1x Soldered Raspberry Pi Qwiic-Adapter

Schritt 1: I2C auf deinem Raspberry Pi aktivieren

  1. Öffne ein Terminal auf deinem Raspberry Pi
sudo raspi-config
  1. Navigiere zu: Interface Options → I2C → Enable
  2. Starte den Raspberry Pi neu

Um zu bestätigen, dass I2C funktioniert:

sudo apt install i2c-tools
i2cdetect -y 1

Schritt 2: Deine Qwiic-Geräte verbinden

Verbinde deinen BME680-Sensor und das OLED-Display mit dem Raspberry Pi über Qwiic-Kabel. Beide Geräte nutzen I2C, daher kannst du sie in Reihe schalten oder sie getrennt am Qwiic-Raspberry-Pi-Adapter anschließen.

Schritt 3: Die benötigten Bibliotheken installieren

Installiere zuerst den pigpio-Daemon, der in diesem Projekt für die Kommunikation mit dem BME680 benötigt wird:

sudo apt update
sudo apt install pigpio python3-pigpio python3-smbus

Aktiviere und starte den pigpio-Daemon:

sudo systemctl enable pigpiod
sudo systemctl start pigpiod

Installiere unterstützende Python-Pakete für das SSD1306 OLED-Display:

pip3 install adafruit-circuitpython-ssd1306
pip3 install Pillow

Bestätige, dass die I2C-Geräte sichtbar sind:

i2cdetect -y 1

Du solltest den BME680 unter 0x76 und das OLED-Display unter 0x3C sehen.

Schritt 4: Ein einfaches Projekt: Auslesen eines Qwiic-Sensors

Eine der einfachsten Möglichkeiten, das Potenzial des Qwiic-Systems zu sehen, ist es, einen BME680-Umweltsensor anzuschließen und Live-Daten auf einem kleinen OLED-Display anzuzeigen. Dieses Projekt zeigt zwei gängige Arten der Kommunikation mit den Modulen: High-Level mit Adafruits SSD1306-Displaybibliothek sowie Low-Level-Kommunikation mit dem BME680 über den pigpio-Daemon.

import os
import pigpio
import time
import board
import busio
from PIL import Image, ImageDraw, ImageFont
import adafruit_ssd1306

# Check if pigpiod is running, start if it's not
os.system("pgrep pigpiod >/dev/null || sudo pigpiod")

# I2C parameters for the BME680 sensor
I2C_ADDR = 0x76  # Default I2C address of the BME680
I2C_BUS = 1      # Use I2C bus 1 (standard on most Raspberry Pi models)

# Helper: wait until measurement is done
def wait_measurement_done(pi, handle, timeout_s=0.5):
    start = time.time()
    while True:
        count, status = pi.i2c_read_i2c_block_data(handle, 0x1D, 1)
        if count == 1:
            # Bit 5 clears when measurement is done
            if (status[0] & 0x20) == 0:
                return True
        if time.time() - start > timeout_s:
            return False
        time.sleep(0.005)

def BME680Temperature():
    pi = pigpio.pi()
    if not pi.connected:
        print("Cannot connect to pigpio daemon")
        raise SystemExit(1)

    h = pi.i2c_open(I2C_BUS, I2C_ADDR)

    # Trigger a forced temperature measurement
    pi.i2c_write_byte_data(h, 0x74, 0xA1)

    wait_measurement_done(pi, h, timeout_s=0.5)

    # Read raw ADC temperature data (3 bytes starting from register 0x22)
    count, tbytes = pi.i2c_read_i2c_block_data(h, 0x22, 3)
    temp_msb, temp_lsb, temp_xlsb = tbytes
    temp_adc = (temp_msb << 12) | (temp_lsb << 4) | (temp_xlsb >> 4)

    # Read calibration parameters
    count, data = pi.i2c_read_i2c_block_data(h, 0xE9, 2)
    par_t1 = data[0] | (data[1] << 8)

    count, data = pi.i2c_read_i2c_block_data(h, 0x8A, 2)
    par_t2 = data[0] | (data[1] << 8)
    if par_t2 & 0x8000:
        par_t2 -= 1 << 16

    count, data = pi.i2c_read_i2c_block_data(h, 0x8C, 1)
    par_t3 = data[0]
    if par_t3 & 0x80:
        par_t3 -= 1 << 8

    # Compensation formula (Bosch datasheet)
    var1 = ((temp_adc / 16384.0) - (par_t1 / 1024.0)) * par_t2
    var2 = (((temp_adc / 131072.0) - (par_t1 / 8192.0)) ** 2) * (par_t3 * 16.0)
    t_fine = var1 + var2
    temp_comp = t_fine / 5120.0

    pi.i2c_close(h)
    pi.stop()
    return temp_comp

# Initialize I2C communication for OLED (128x64)
i2c = busio.I2C(board.SCL, board.SDA)
oled = adafruit_ssd1306.SSD1306_I2C(128, 64, i2c)

oled.fill(0)
oled.show()

image = Image.new("1", (oled.width, oled.height))
draw = ImageDraw.Draw(image)
font = ImageFont.load_default()

while True:
    oled.fill(0)

    temp_comp = BME680Temperature()

    draw.rectangle((0, 0, oled.width - 1, oled.height - 1), outline=255, fill=0)
    draw.text((10, 25), f"{temp_comp:.2f} C", font=font, fill=255)

    oled.image(image)
    oled.show()
    time.sleep(5)

Fehlerbehebung häufiger Probleme

1. i2cdetect zeigt den BME680 oder das OLED nicht an

Das bedeutet meistens:

  • Das Qwiic-Kabel ist nicht vollständig eingesteckt
  • Das Kabel steckt im falschen Port
  • Du hast I2C auf dem Raspberry Pi nicht aktiviert
  • Der BME680 könnte eine andere Adresse haben (0x76 oder 0x77)

2. Pigpio-Fehler: "Cannot connecct to the pigpio daemon"

Der pigpio-Daemon muss laufen, bevor das Skript startet. Öffne ein Terminal und führe aus:

sudo systemctl start pigpiod

Wenn er bei jedem Boot starten soll:

sudo systemctl enable pigpiod

3. OLED-Bildschirm bleibt schwarz oder zeigt nichts an

Das bedeutet meist:

  • Das OLED wurde vor dem Schreiben nicht gelöscht
  • Falsche Displayauflösung
  • Die I2C-Adresse ist anders
  • Das Skript zeichnet noch in einen alten Image-Buffer

Eine einfache Lösung ist, vor dem Zeichnen Folgendes aufzurufen:

oled.fill(0)
oled.show()

Bring deine Projekte mit weiteren Qwiic-Geräten auf das nächste Level

Sobald du gesehen hast, wie einfach es ist, ein Qwiic-Gerät mit deinem Raspberry Pi zu verbinden und alles gemeinsam zum Laufen zu bringen, geht der Spaß erst richtig los. Schau dir unsere stetig wachsende Sammlung an Qwiic Sensor-/Aktor-Modulen an: https://soldered.com/categories/easyc-2/.

In diesem Artikel erwähnte Produkte

Verwandte Artikel

Using Qwiic devices with Raspberry Pi
Verwendung von QWIC-Geräten mit Raspberry Pi

Raspberry-Pi-I2C-Tutorial mit dem Qwiic-System. Enthält benötigte Hardware, I2C aktivieren, BME680 und SSD1306 OLED anschließen, Tools/Bibliotheken installieren, i2cdetect prüfen und ein Python-Beispiel, das Temperatur liest und am OLED anzeigt.

 

Mehr lesen