Skip to content

Technik Blog

IoT, Smart Home & Mikrocontroller einfach erklärt

Menu
  • Smarthome
  • Gartenautomation
  • Mikrocontroller
    • Arduino
    • ESP32 & Co.
    • Calliope Mini
    • Raspberry Pi & Pico
  • Solo Mining
  • Über mich
Menu

Kompakte Sensor-Platine mit AHT20 und BMP280: Vielseitig und platzsparend

Veröffentlicht am 2. Dezember 202415. Juli 2026 von Stefan Draeger

Komplexe Messaufgaben erfordern oft mehrere Sensoren – doch das geht auch einfacher. Diese kleine Platine vereint den AHT20 und den BMP280 Sensor und bietet dir die Möglichkeit, Temperatur, Luftfeuchtigkeit und Druck effizient auf kleinstem Raum zu erfassen. Dank der kompakten Bauweise, die kaum größer als ein 10-Cent-Stück ist, eignet sich die Platine ideal für Anwendungen mit begrenztem Platzangebot, wie IoT-Geräte, Wetterstationen oder tragbare Elektronik.

Kompakte Sensor-Platine mit AHT20 und BMP280: Vielseitig und platzsparend
Dieses Video auf YouTube ansehen.

Die Kommunikation über den I²C-Bus macht die Integration in bestehende Projekte kinderleicht und minimiert den Verkabelungsaufwand. Trotz der geringen Größe überzeugen die Sensoren mit einer hohen Messgenauigkeit und Zuverlässigkeit, wodurch diese Lösung nicht nur platzsparend, sondern auch leistungsstark ist.

Sensor AHT20 und BMP280
Sensor AHT20 und BMP280 - Rückseite
Sensor AHT20 und BMP280 - Größe
AHT20 Sensor auf Sensor-Platine

Den BMP280 und weitere Luftdrucksensoren habe ich dir im Beitrag Genauigkeitstest bei der PTB: Luftdrucksensoren BMP180, BMP280 und BME680 einem Test unterzogen und dir einen ausführlichen Bericht veröffentlicht.

Inhaltsverzeichnis

  • Technische Daten der Sensoren AHT20 & BMP280
  • Bezug der Sensor-Platine mit AHT20 und BMP280
  • Aufbau der Sensor-Platine
  • Aufbau der Schaltung am Arduino UNO R3
  • Programmieren der Sensor-Platine in der Arduino IDE
  • Anzeigen der Sensorwerte auf einem OLED-Display

Technische Daten der Sensoren AHT20 & BMP280

Nachfolgend die technischen Daten der beiden Sensoren:

Technische DatenAHT20BMP280
Versorgungsspannung2.0 – 5.5V DC1.71 – 3.6V
SchnittstelleI²CI²C
MessbereichTemperatur: -40 bis +85 °C
Feuchtigkeit: 0 – 100 %
Temperatur: -40 bis +85 °C
Luftdruck: 300 – 1100 hPa
GenauigkeitTemperatur: ±0.3 °C
Feuchtigkeit: ±2 %
Temperatur: ±1 °C (typ. bei 950-1050 hPa)
Luftdruck: ±0.12 hPa (±1 m)

Aus der Tabelle können wir zusätzlich entnehmen, dass der AHT20 sowie auch der BMP280 die Temperatur messen, dieses können wir uns gleichzeitig zu eigen machen und prüfen, inwieweit die Sensorwerte auseinander gehen.

Bezug der Sensor-Platine mit AHT20 und BMP280

Ich habe mir diese kleine Platine (wie so oft) bei Aliexpress.com für ein paar Euro bestellt. Du bekommst diese aber auch über ebay.de für knapp 4,90 € inkl. Versandkosten*.

Hinweis von mir: Die mit einem Sternchen (*) markierten Links sind Affiliate-Links. Wenn du über diese Links einkaufst, erhalte ich eine kleine Provision, die dazu beiträgt, diesen Blog zu unterstützen. Der Preis für dich bleibt dabei unverändert. Vielen Dank für deine Unterstützung!

Aufbau der Sensor-Platine

Die kleine 15 mm x 15 mm Platine verfügt über vier Pins (SCL, GND, SDA & VDD) und noch zwei 3 mm Bohrungen an den Seiten.

Pinout der Sensor-Platine mit AHT20 und BMP280

Aufbau der Schaltung am Arduino UNO R3

Schließen wir die Sensor-Platine via I2C an den Arduino UNO an, um diese später auszulesen. Da der BMP280 Sensor mit maximal 3.6V arbeitet, dürfen wir hier nur den 3.3V Pin als Stromversorgung verwenden.

Schaltung - Sensor-Platine BMP280 und AHT20 am Arduino UNO R3

Für den Aufbau der Schaltung benötigst du:

  • einen Arduino UNO R3* oder Arduino Nano V3*
  • ein passendes Datenkabel*
  • eine Sensor-Platine mit AHT20 & BMP280 Sensor*
  • vier Breadboardkabel*, 10 cm, männlich – männlich
  • ein 170 oder 400 Pin Breadboard*
Arduino UNO R3 mit Sensor-Platine AHT20 und BMP280
Schaltung - Arduino UNO R3 mit Sensor-Platine AHT20 und BMP280

Programmieren der Sensor-Platine in der Arduino IDE

Bevor wir mit der Programmierung beginnen, installieren wir die Bibliotheken für die beiden Sensoren AHT20 & BMP280. Dazu öffnen wir den Bibliotheksverwalter (1) und suchen zunächst nach „aht20“ (2) es wird dir nun eine lange Liste von kompatiblen Bibliotheken aufgelistet. Aus dieser Liste wähle ich „Adafruit AHTX0 von Adafruit“ und klicke dort INSTALLIEREN (3). Diese Bibliothek hat jedoch einige Abhängigkeiten, welche zusätzlich installiert werden müssen. Daher klicken wir im neuen Dialog auf „ALLE INSTALLIEREN“ (4).

Adafruit AHT20 install - Step1
Adafruit AHT20 install - Step2

Um die Bibliothek für den BMP280 Sensor zu installieren, suchen wir zunächst nach dieser (5) und wählen auch hier die Version von Adafruit aus (6).

Adafruit BMP280 install - Step1
Adafruit BMP280 install - Step2

Im ersten Schritt möchte ich die Daten der beiden Sensoren auf der seriellen Schnittstelle ausgeben. Dazu kopiere ich mir zunächst die benötigten Code-Snippets aus den Beispielen, welche den beiden Bibliotheken beiliegen.

Programm: Ausgabe der Sensordaten in tabellarischer Form auf der seriellen SchnittstelleHerunterladen
Programm: exportieren der Sensordaten im CSV-FormatHerunterladen
Wert 				|BMP280			|AHT20
------------------------------------------------------------------------------
Temperatur			|20.59 °C		|20.80 °C
Luftdruck			|101491.25 Pa		|
Luftfeuchtigkeit		|			|50.96% rH
------------------------------------------------------------------------------
Temperatur			|20.59 °C		|20.79 °C
Luftdruck			|101489.41 Pa		|
Luftfeuchtigkeit		|			|51.44% rH

Nachfolgend der Code zur tabellarischen Darstellung der Daten:

// Importieren der benötigten Bibliotheken
#include <Wire.h>
// für den BMP280 Sensor
#include <Adafruit_BMP280.h>
// für den AHT20 Sensor
#include <Adafruit_AHTX0.h>

//Objekt instanziieren vom Typ Adafruit_BMP280
Adafruit_BMP280 bmp;

//Objekt instanziieren vom Typ Adafruit_AHTX0
Adafruit_AHTX0 aht;

void setup() {
  //beginn der seriellen Kommunikation mit 9600 baud
  Serial.begin(9600);
  
  //beginn der Kommunikation mit dem BMP280 Sensor
  bmp.begin();
  //Konfigurieren des BMP280 Sensors
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
                  Adafruit_BMP280::SAMPLING_X2,
                  Adafruit_BMP280::SAMPLING_X16,
                  Adafruit_BMP280::FILTER_X16,
                  Adafruit_BMP280::STANDBY_MS_500);
  
  //beginn der Kommunikation mit dem AHT20 Sensor
  aht.begin();
  
  //Ausgeben einer Tabelle
  Serial.println("Wert \t\t\t\t|BMP280\t\t\t|AHT20");
  Serial.println("------------------------------------------------------------------------------");
}

void loop() {
  //lesen der Daten vom AHT20 Sensor
  sensors_event_t humidity, temp;
  aht.getEvent(&humidity, &temp);

  Serial.print("Temperatur\t\t\t|");
  Serial.print(String(bmp.readTemperature(), 2) + " °C");
  Serial.print("\t\t|");
  Serial.println(String(temp.temperature, 2) + " °C");

  Serial.print("Luftdruck\t\t\t|");
  Serial.print(String(bmp.readPressure(), 2) + " Pa");
  Serial.println("\t\t|");

  Serial.print("Luftfeuchtigkeit\t\t|");
  Serial.print("\t\t\t|");
  Serial.println(String(humidity.relative_humidity,2)+"% rH");

  delay(5000);
  Serial.println("------------------------------------------------------------------------------");
}

Anzeigen der Sensorwerte auf einem OLED-Display

Die beiden Sensoren (AHT20 & BMP280) liefern jeweils die Temperatur, da ich diesen Wert lediglich einmal benötige, nutze ich diesen vom BMP280. Ansonsten zeige ich auf dem Display noch zusätzlich den Luftdruck in hPa (Hektopascal) sowie die Luftfeuchtigkeit in % an.

Schaltung - Sensor-Platine mit AHT20 und BMP280 Sensor und OLED-Display am Arduino

Für die Schaltung verwende ich ein 0,96″ OLED-Display, welches du auf ebay.de bereits ab 2,95 € zzgl. Versandkosten beziehen kannst.

Programm: anzeigen der Sensordaten auf einem OLED-DisplayHerunterladen
// Importieren der benötigten Bibliotheken
#include <Wire.h>
// für den BMP280 Sensor
#include <Adafruit_BMP280.h>
// für den AHT20 Sensor
#include <Adafruit_AHTX0.h>

// für das OLED-Display
#include <SPI.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

// das Display wird via 0x3C am I2C Port angesteuert
#define SCREEN_ADDRESS 0x3C
Adafruit_SSD1306 display(128, 32, &Wire, -1);

//Objekt instanziieren vom Typ Adafruit_BMP280
Adafruit_BMP280 bmp;

//Objekt instanziieren vom Typ Adafruit_AHTX0
Adafruit_AHTX0 aht;

void setup() {
  //beginn der seriellen Kommunikation mit 9600 baud
  Serial.begin(9600);
  
  // beginn der Kommunikation mit dem Display
  display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS);
  // setzen der Textgröße
  display.setTextSize(1);
  // setzen der Schriftfare "weiß"
  display.setTextColor(SSD1306_WHITE);

  //beginn der Kommunikation mit dem BMP280 Sensor
  bmp.begin();
  //Konfigurieren des BMP280 Sensors
  bmp.setSampling(Adafruit_BMP280::MODE_NORMAL,
                  Adafruit_BMP280::SAMPLING_X2,
                  Adafruit_BMP280::SAMPLING_X16,
                  Adafruit_BMP280::FILTER_X16,
                  Adafruit_BMP280::STANDBY_MS_500);

  //beginn der Kommunikation mit dem AHT20 Sensor
  aht.begin();
}

// Funktion zum schreiben einer Textzeile auf dem Display
// lineIndex - der Index der Zeile
// desc - Beschreibung zbsp. "Temperature"
// value - der Wert zbsp. "18.56"
// sign - die Einheit zbsp. "C"
void drawText(int lineIndex, String desc, float value, String sign) {
  display.setCursor(3, lineIndex * 10);
  display.println(desc + String(value, 2) + sign);
}

void loop() {
  //lesen der Daten vom AHT20 Sensor
  sensors_event_t humidity, temp;
  aht.getEvent(&humidity, &temp);
  
  // leeren des Displays
  display.clearDisplay();
  // anzeigen der Temperatur
  drawText(0, "Temperature:", bmp.readTemperature(), " C");
  // anzeigen des Luftdrucks
  drawText(1, "Pressure:", bmp.readPressure()/100, " hPa");
  // anzeigen der Luftfeuchtigkeit
  drawText(2, "Humidity:", humidity.relative_humidity, " % rH");
  // absenden der Daten an das Display
  display.display();
  
  // eine kleine Pause von 5 Sekunden
  delay(5000);
}

Letzte Aktualisierung am: 15. Juli 2026

Foto von Stefan Draeger
Über den Autor

Stefan Draeger — Entwickler & Tech-Blogger

Ich zeige praxisnah, wie du Projekte mit Arduino, ESP32 und Smarthome-Komponenten umsetzt – Schritt für Schritt, mit Code und Schaltplänen.

Mehr Artikel von Stefan →

Schreibe einen Kommentar Antwort abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Kontakt & Hilfe

Fragen oder Feedback?

Du hast eine Idee, brauchst Hilfe oder möchtest Feedback loswerden? Erstelle einfach ein Support-Ticket.

Support-Ticket erstellen
Keine Beiträge verpassen

Newsletter abonnieren

Erhalte regelmäßig Updates zu neuen Projekten, Tutorials und Tipps rund um Arduino, ESP32, Smarthome und IoT direkt in dein Postfach.

Newsletter abonnieren
Freiwillige Unterstützung

Unterstütze meinen Blog

Wenn dir meine Inhalte gefallen, freue ich mich über deine Unterstützung auf Tipeee. So hilfst du dabei, den Blog am Leben zu halten und neue Beiträge zu ermöglichen.

Auf Tipeee unterstützen

Vielen Dank für deinen Support!
– Stefan Draeger

Kostenlose Online-Werkzeuge

Tools

Praktische Generatoren, Rechner und Hilfsmittel für deine Elektronik- und Entwicklungsprojekte.

Generatoren & Konverter

  • QR-Code Generator
  • Passwort Generator
  • PNG zu WebP konvertieren
  • Bilder online komprimieren
  • Code online formatieren

Rechner & Tabellen

  • Unix-Zeitstempel-Rechner
  • ASCII-Tabelle
  • Spannung, Strom, Widerstand und Leistung berechnen
  • Widerstandsrechner

LED-Matrix

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix Generator
Kontakt

Anschrift & Kontaktdaten

Stefan Draeger

Königsberger Str. 13
38364 Schöningen

Telefon 01556 5432686

E-Mail info@draeger-it.blog

Blogverzeichnis Bloggerei.de TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
Social Media

Folge mir auf

Weitere Projekte, Videos und Neuigkeiten findest du auch auf meinen Social-Media-Kanälen.

  • f Facebook
  • in LinkedIn
  • ▶ YouTube
  • ♪ TikTok
  • P Pinterest
  • ◎ Instagram
Rechtliche Informationen

Rechtliches

  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Cookie-Richtlinie (EU)
©2026 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb
Cookie-Zustimmung verwalten
Wir verwenden Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wir tun dies, um das Surferlebnis zu verbessern und um personalisierte Werbung anzuzeigen. Wenn Sie diesen Technologien zustimmen, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn Sie Ihre Zustimmung nicht erteilen oder zurückziehen, können bestimmte Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
  • Optionen verwalten
  • Dienste verwalten
  • Verwalten von {vendor_count}-Lieferanten
  • Lese mehr über diese Zwecke
Einstellungen anzeigen
  • {title}
  • {title}
  • {title}