Das Bluetooth-Modul HC-05 ist eine der beliebtesten Komponenten, wenn du deinen Arduino Uno per Handy-App steuern möchtest. Der Grund ist simpel: Das HC-05 ist günstig, robust, gut dokumentiert und lässt sich über eine serielle Verbindung (UART) sehr leicht in Arduino-Projekte integrieren. Damit kannst du vom Smartphone aus Befehle senden – etwa zum Schalten von LEDs, zum Steuern von Servos, zum Starten von Messungen oder zum Abrufen von Sensorwerten. Gerade für Einsteiger ist das ideal, weil du keine komplexen Netzwerkprotokolle brauchst: Bluetooth koppeln, eine App öffnen, Zeichen oder Befehle senden – fertig. Gleichzeitig solltest du ein paar technische Details kennen, damit es zuverlässig funktioniert: Das HC-05 arbeitet typischerweise mit 3,3V-Logikpegeln auf RX/TX, während der Arduino Uno 5V-Logik nutzt. Außerdem teilen sich manche Aufbauten die Hardware-Serial-Schnittstelle mit dem USB-Upload, was beim Programmieren zu Konflikten führen kann. In diesem Artikel lernst du, wie du das HC-05 korrekt anschließt, wie Pairing und Kopplung funktionieren, wie du eine saubere Befehlsstruktur für die Handy-App entwirfst und wie du typische Fehler (keine Verbindung, kryptische Zeichen, Abbrüche) schnell behebst. So baust du eine stabile Bluetooth-Steuerung auf, die im Alltag Spaß macht und sich leicht erweitern lässt.
Was ist das HC-05 Bluetooth-Modul und wofür eignet es sich?
Das HC-05 ist ein Bluetooth-2.0-Modul (klassisches Bluetooth, nicht BLE), das in vielen Maker-Projekten als serielle Funkbrücke genutzt wird. Es verhält sich im Normalbetrieb wie eine „kabellose UART-Verbindung“: Das Smartphone sendet Daten, das Modul gibt sie am TX-Pin seriell aus, und umgekehrt. Dadurch kannst du mit sehr wenig Code eine Kommunikation herstellen. In vielen Projekten nutzt du das HC-05 als Slave (wartet auf Verbindung), seltener als Master (verbindet sich aktiv mit anderen Geräten).
- Typische Projekte: LED-Steuerung, Robotik, RC-Car, Sensor-Dashboard, Relais-Schaltung, Servo-Steuerung
- Vorteile: einfache serielle Kommunikation, gute Verfügbarkeit, viele Tutorials
- Grenzen: keine moderne BLE-Architektur, begrenzte Sicherheit im Vergleich zu komplexeren Lösungen
HC-05 vs. HC-06 vs. BLE-Module: Kurz eingeordnet
In Shops tauchen häufig HC-05 und HC-06 nebeneinander auf. Für den Einstieg ist wichtig: Das HC-05 unterstützt in der Regel sowohl Master- als auch Slave-Modus (je nach Firmware), während HC-06 meist nur Slave kann. Wenn du „Arduino per Handy steuern“ willst, reicht ein Slave-Modul oft aus. Wenn du jedoch später Geräte miteinander verbinden willst, ist das HC-05 flexibler.
- HC-05: häufig Master/Slave-fähig, AT-Mode für Konfiguration
- HC-06: meist nur Slave, oft einfacher, aber weniger flexibel
- BLE-Module: moderner für Apps und Energiesparen, aber anderer Ansatz (GATT/Services)
Die wichtigsten Pins am HC-05: Versorgung, TX/RX und Status
Die Modul-Boards sind je nach Hersteller leicht unterschiedlich beschriftet, aber das Grundprinzip ist gleich. Für den Betrieb brauchst du Versorgung (VCC, GND) und die serielle Verbindung (TXD, RXD). Viele Boards haben außerdem einen STATE-Pin oder eine LED, die den Verbindungsstatus zeigt, sowie einen KEY/EN-Pin, um in den AT-Modus zu wechseln.
- VCC: Versorgung (oft 5V am Breakout möglich, intern 3,3V)
- GND: Masse
- TXD: sendet Daten vom Modul zum Arduino
- RXD: empfängt Daten vom Arduino zum Modul
- KEY/EN: AT-Modus (Konfiguration)
- STATE: Statussignal (je nach Board)
Wichtiges Thema: 3,3V-Logikpegel und warum ein Spannungsteiler sinnvoll ist
Ein häufiger Fehler bei HC-05-Aufbauten ist die direkte Verbindung vom Arduino-TX (5V) zum RX des HC-05. Viele HC-05-Boards vertragen zwar 5V am VCC-Pin (weil ein Regler integriert ist), aber der RX-Pin arbeitet intern typischerweise mit 3,3V-Logik. In der Praxis funktioniert es manchmal „trotzdem“, ist aber nicht ideal. Sicherer ist ein Spannungsteiler oder ein Pegelwandler auf der Leitung Arduino-TX → HC-05-RX. In die andere Richtung (HC-05-TX → Arduino-RX) ist es meist unkritisch, weil 3,3V vom Arduino Uno als HIGH erkannt wird.
- Arduino TX (5V) → Spannungsteiler → HC-05 RX (3,3V)
- HC-05 TX (3,3V) → Arduino RX (ok)
- Gemeinsame Masse ist Pflicht (GND verbinden)
Anschluss am Arduino Uno: Hardware-Serial oder SoftwareSerial?
Der Arduino Uno hat eine Hardware-Serial-Schnittstelle auf Pin 0 (RX) und Pin 1 (TX). Diese wird jedoch auch für die USB-Kommunikation genutzt, also für Upload und seriellen Monitor. Wenn du das HC-05 direkt an RX/TX anschließt, kann es sein, dass Uploads fehlschlagen oder Zeichenmüll im seriellen Monitor erscheint. Deshalb wird in vielen Einsteigerprojekten SoftwareSerial verwendet: Du wählst zwei andere digitale Pins als RX/TX für eine zweite serielle Verbindung.
Hardware-Serial (Pins 0/1)
- Vorteil: stabil, schnell, wenig CPU-Last
- Nachteil: Konflikt mit USB-Upload/Serial Monitor möglich
- Tipp: Beim Upload HC-05 kurz abziehen oder trennen
SoftwareSerial (empfohlen für Einsteiger)
- Vorteil: Upload und Debugging bleiben bequem
- Nachteil: nicht so robust wie Hardware-Serial, Baudrate begrenzt
- Praxis: Für einfache Steuerbefehle absolut ausreichend
Zur seriellen Kommunikation sind die offiziellen Arduino-Referenzen nützlich: Serial (Arduino Referenz).
Pairing und Kopplung: So verbindet sich dein Handy mit dem HC-05
Im Normalbetrieb sendet das HC-05 ein Bluetooth-Gerät aus, das du in den Bluetooth-Einstellungen deines Smartphones findest. Du koppelst es wie einen Bluetooth-Lautsprecher – nur dass es eben ein serielles Gerät ist. Häufig ist ein Standard-PIN-Code hinterlegt (je nach Modul-Firmware). Nach dem Pairing kann eine App eine serielle Verbindung öffnen und Daten senden.
- Bluetooth am Smartphone aktivieren
- Gerät „HC-05“ auswählen
- PIN eingeben (je nach Modul, häufig voreingestellt)
- In einer App „Bluetooth Serial“ verbinden
Im Alltag hilft dir die Modul-LED: Viele HC-05-Boards blinken schnell, wenn sie nicht verbunden sind, und langsamer oder konstant, wenn eine Verbindung besteht.
AT-Modus: Name, PIN, Baudrate und Rollen konfigurieren
Der AT-Modus ist der Konfigurationsmodus des HC-05. Dort kannst du Einstellungen ändern, etwa den Gerätenamen, die Baudrate oder die Rolle (Master/Slave). Nicht jedes Board geht gleich in den AT-Modus – häufig brauchst du den KEY/EN-Pin oder musst beim Einschalten eine Taste gedrückt halten (je nach Breakout). Für Einsteiger ist wichtig: Du musst nicht zwingend in den AT-Modus, um einfache Projekte umzusetzen. Er wird erst dann relevant, wenn du gezielt Parameter ändern willst.
Typische AT-Einstellungen
- Name: sinnvoll, wenn du mehrere Module nutzt
- PIN: ändern für etwas mehr Kontrolle
- Baudrate: an deine serielle Kommunikation anpassen
- Rolle: Slave (Standard) oder Master (fortgeschritten)
Die Handy-App: Welche Arten von Apps funktionieren gut?
Um den Arduino Uno per Handy-App zu steuern, brauchst du keine „Spezial-App“ – es reicht eine Bluetooth-Serial-Terminal-App. Dort kannst du Buttons definieren oder Textbefehle senden. Für Einsteiger ist das ideal, weil du die Logik zuerst am seriellen Terminal testest, bevor du eine eigene App-UI baust.
- Serial Terminal Apps: senden Zeichen, Zeilen oder Makros
- Button-Apps: vordefinierte Buttons senden einzelne Befehle
- Eigene App: später möglich, aber zunächst unnötig
Befehlsprotokoll entwerfen: Damit aus „Zeichen senden“ eine saubere Steuerung wird
Der größte Unterschied zwischen einem „Demo-Projekt“ und einer alltagstauglichen Steuerung ist ein klares Protokoll. Wenn du nur einzelne Zeichen sendest („1“, „0“), kommst du schnell an Grenzen. Besser ist ein einfaches Befehlsformat: kurze Kommandos, klare Trennzeichen, optional Parameter. So kannst du später problemlos weitere Funktionen ergänzen, ohne dass alles unübersichtlich wird.
Bewährte Befehlsprinzipien
- Kurze Kommandos: z. B. „LED:ON“, „LED:OFF“
- Parameter: z. B. „SERVO:90“
- Zeilenende: z. B. newline als Abschluss („n“)
- Antworten: Arduino sendet „OK“ oder Status zurück
Damit bekommst du eine robuste, erweiterbare Kommunikationsbasis, die du später auch auf andere Funktechniken übertragen kannst.
Praxisbeispiele: Was du mit HC-05 und Arduino Uno schnell umsetzen kannst
Mit einem Bluetooth-Modul wird der Arduino „interaktiv“. Das motiviert und führt schnell zu echten Use-Cases – vom Lichtschalter bis zum kleinen Roboter.
- LED-Schalter: per Button an/aus
- Dimmer: Helligkeit über PWM-Wert steuern
- Servo-Steuerung: Position per Slider oder Zahlenwert setzen
- Sensorwerte abfragen: Temperatur, Abstand, Licht – live aufs Handy
- Relais schalten: Vorsicht bei Lasten, aber im Niedervoltbereich sehr praktikabel
Stabilität und Reichweite: Was du realistisch erwarten solltest
Klassisches Bluetooth ist für kurze bis mittlere Distanzen ausgelegt. In einer Wohnung oder einem Klassenraum funktioniert es meist zuverlässig, Wände und Störungen können die Reichweite jedoch reduzieren. Für stabile Steuerung gilt: lieber kurze, klare Befehle senden und auf Bestätigungen reagieren, statt „Feuer und vergessen“. Außerdem sollte dein Arduino-Programm ohne delay() arbeiten, damit Eingaben nicht verschluckt werden und das System reaktionsschnell bleibt.
Für nicht-blockierende Zeitsteuerung ist millis() eine bewährte Grundlage: millis().
Typische Fehler und schnelle Lösungen
Wenn die Verbindung nicht klappt, liegt es oft an wenigen, wiederkehrenden Ursachen. Eine strukturierte Checkliste spart dir viel Zeit.
Keine Verbindung, Gerät nicht sichtbar
- VCC/GND prüfen, Modul-LED beobachten
- Modul näher ans Handy bringen, Bluetooth aus/an
- Modulname/AT-Einstellungen (falls verändert) prüfen
Verbindung steht, aber es kommen „komische Zeichen“
- Baudrate stimmt nicht (Arduino und HC-05 müssen übereinstimmen)
- Zeilenenden in der App falsch eingestellt
- SoftwareSerial-Pins vertauscht (RX/TX korrekt kreuzen)
Upload auf Arduino schlägt fehl
- HC-05 an Pins 0/1 blockiert den Upload
- Vor Upload Modul trennen oder auf SoftwareSerial wechseln
Modul wird warm oder Arduino resetet
- Versorgung instabil: besseres Netzteil/USB-Port nutzen
- Stromspitzen durch Servos/Motoren: separate Versorgung und gemeinsame Masse
Sicherheit im Alltag: Was du bei Bluetooth-Steuerungen beachten solltest
Ein HC-05-Projekt im Heimnetz oder im Unterricht ist in der Regel unkritisch, solange es um harmlose Anwendungen geht. Sobald du jedoch kritische Funktionen schaltest (z. B. starke Motoren, hohe Lasten, sicherheitsrelevante Systeme), solltest du eine zusätzliche Schutzlogik einbauen: Not-Aus, Zeitlimits, Zustandsprüfungen und klare Fail-Safe-Positionen. Außerdem ist es sinnvoll, den Geräte-Namen zu ändern und die PIN nicht „Standard“ zu lassen, wenn du dein Projekt in Umgebungen mit vielen Geräten betreibst.
- Fail-Safe: bei Verbindungsabbruch in sicheren Zustand gehen
- PIN und Name ändern (wenn möglich)
- Keine sicherheitskritischen Funktionen ohne zusätzliche Schutzmechanismen
Weiterführende Informationsquellen
- Arduino Uno Rev3: technische Daten und Pinbelegung
- Serial: serielle Kommunikation verstehen und debuggen
- millis(): reaktionsschnelle Programme ohne delay()
- Arduino Libraries installieren: SoftwareSerial und Zusatzbibliotheken verwalten
IoT-PCB-Design, Mikrocontroller-Programmierung & Firmware-Entwicklung
PCB Design • Arduino • Embedded Systems • Firmware
Ich biete professionelle Entwicklung von IoT-Hardware, einschließlich PCB-Design, Arduino- und Mikrocontroller-Programmierung sowie Firmware-Entwicklung. Die Lösungen werden zuverlässig, effizient und anwendungsorientiert umgesetzt – von der Konzeptphase bis zum funktionsfähigen Prototyp.
Diese Dienstleistung richtet sich an Unternehmen, Start-ups, Entwickler und Produktteams, die maßgeschneiderte Embedded- und IoT-Lösungen benötigen. Finden Sie mich auf Fiverr.
Leistungsumfang:
-
IoT-PCB-Design & Schaltplanerstellung
-
Leiterplattenlayout (mehrlagig, produktionstauglich)
-
Arduino- & Mikrocontroller-Programmierung (z. B. ESP32, STM32, ATmega)
-
Firmware-Entwicklung für Embedded Systems
-
Sensor- & Aktor-Integration
-
Kommunikation: Wi-Fi, Bluetooth, MQTT, I²C, SPI, UART
-
Optimierung für Leistung, Stabilität & Energieeffizienz
Lieferumfang:
-
Schaltpläne & PCB-Layouts
-
Gerber- & Produktionsdaten
-
Quellcode & Firmware
-
Dokumentation & Support zur Integration
Arbeitsweise:Strukturiert • Zuverlässig • Hardware-nah • Produktorientiert
CTA:
Planen Sie ein IoT- oder Embedded-System-Projekt?
Kontaktieren Sie mich gerne für eine technische Abstimmung oder ein unverbindliches Angebot. Finden Sie mich auf Fiverr.

