Top Angebote und noch mehr!
Nexi AI Voice Assistant Robot – Smarter DIY Roboter
Erlebe die Zukunft auf Rädern. Ein intelligenter Sprachassistent mit beweglichem Kopf und fahrbarem Chassis, gesteuert durch das XiaoZhi AI Control Panel.
Projekt-Anleitungen & Videos
📺 Demonstration Video (Aktiv ab 26. Juli)
🛠️ Step-by-Step Tutorial (Aktiv ab 2. August)
Projekt Impressionen & Aufbau-Fotos
Benötigte Bauteile (BOM)
Anschlüsse & Verbindungstabelle (Pinout)
| Komponente | ESP32-S3 GPIO Pin | Spannung (VCC) | Masse (GND) | Beschreibung / Besonderheit |
|---|---|---|---|---|
| PCA9685 (Servo Treiber) | GPIO 41 (SDA) GPIO 42 (SCL) |
3.3V (Logic VCC) 5V bis 7.4V (V+ für Servos) |
GND (Common) | Logik an 3.3V vom ESP32! Motorenleistung (V+) direkt an Akku/Step-Down anschließen. |
| INMP441 (Mikrofon) | GPIO 21 (SCK) GPIO 40 (WS) GPIO 14 (SD) |
3.3V | GND | L/R-Pin an GND löten (Kanal Links). Firmware liest Stereo zum Fehlerausgleich. |
| MAX98357A (Verstärker) | GPIO 2 (BCLK) GPIO 1 (LRC / WS) GPIO 45 (DOUT) |
5V (direkt vom Regler) SD-Mode: 3.3V (Pull-Up) |
GND | Für maximale Audioleistung an 5V anschließen. SD_MODE weckt den Amp auf. |
| SSD1327 OLED Display | GPIO 41 (SDA) GPIO 42 (SCL) |
3.3V | GND | Teilt sich den I2C-Bus mit PCA9685 und Sensoren. |
| VL53L0X Lasersensor | GPIO 41 (SDA) GPIO 42 (SCL) |
3.3V | GND | Wird zur Hinderniserkennung am I2C-Bus betrieben. |
| MPU6050 (Optional) | GPIO 41 (SDA) GPIO 42 (SCL) |
3.3V | GND | Teilt sich den I2C-Bus. Dient zur Bewegungserkennung. |
| Mikroschalter (Aktivierung) | GPIO 0 (Boot-Pin) | -- | GND | Schaltet bei Betätigung Pin 0 nach GND, um manuell den Sprachmodus zu triggern. |
| Servos (Achsen & Kopf) | Gesteuert über PCA9685 | 5V / 7.4V (V+ vom PCA9685) | GND (vom PCA9685) | Port 8/9: Motor Links | Port 10/11: Motor Rechts | Port 4/5: Kopf Drehen/Neigen |
| LED Unterboden & Kopf-Scheinwerfer (Flashlight) | GPIO 46 (Anode) | -- | GND (Kathode) | Normale Standard-LEDs (keine WS2812). Anode (+) an GPIO 46, Kathode (-) an GND. Steuert die Filament-Bodenbeleuchtung und Kopf-Scheinwerfer. |
⚠️ Wichtiger Hinweis zur Stromversorgung & Akkus
Der hier verlinkte Akku (7,4 V Li-Ion) dient lediglich als praktisches Referenzbeispiel für Abmessung und Steckertyp. Du kannst jeden beliebigen Akku oder jede Stromquelle verwenden, deren Spannung innerhalb der Spezifikationen deines verwendeten Step-Down-Reglers (Buck Converter) liegt und der physisch in das Gehäuse passt.
Wir haben das Projekt mit einer ähnlichen Batterie erfolgreich getestet, die hervorragende Laufzeiten bietet. Bitte beachte jedoch: Wir haben genau dieses verlinkte Akku-Modell von AliExpress nicht selbst im Labor getestet. Qualität, Kapazität und Sicherheitsmechanismen dieses Drittanbieters sind uns nicht bekannt. Kauf und Benutzung erfolgen auf **eigene Gefahr**. Wir empfehlen generell, Akkus und sicherheitsrelevante Elektronik aus vertrauenswürdigen, lokalen Fachgeschäften zu erwerben.
🔑 Schritt 1: Inbetriebnahme & WLAN-Aktivierung
Stelle unbedingt sicher, dass alle Hardware-Komponenten (besonders das Kameramodul OV3660) korrekt mit dem ESP32-S3 verbunden und funktionsfähig sind, bevor du die Konfiguration startest!
Wenn die Kamera oder andere wichtige I2C/I2S-Geräte nicht angeschlossen oder falsch verkabelt sind, blockiert oder stürzt die Firmware beim Booten ab. Das führt dazu, dass du zwar das WLAN-Netzwerk "NexiBot by HD Robotics-XXXX" auf deinem Handy siehst und dich damit verbinden kannst, aber die Weboberfläche unter der IP-Adresse
192.168.4.1 im Browser nicht geladen wird!
Sobald die Firmware erfolgreich auf den ESP32-S3 geflasht wurde, startet der Roboter im Konfigurationsmodus. Er generiert automatisch ein eigenes WLAN-Netzwerk (Access Point). Der Name dieses Netzwerks lautet standardmäßig:
SSID: NexiBot by HD Robotics-XXXX
*(Wobei XXXX durch die letzten vier Zeichen der individuellen MAC-Adresse deines ESP32-S3 ersetzt wird. Gleichzeitig wird auf dem OLED-Bildschirm des Roboters ein 6-stelliger Konfigurationscode angezeigt).*
Nimm dein Smartphone, Tablet oder deinen PC und verbinde dich mit dem WLAN-Netzwerk "NexiBot by HD Robotics-XXXX". Es wird kein Passwort für diese Verbindung benötigt.
Öffne deinen Webbrowser (z.B. Chrome oder Safari) und rufe die IP-Adresse 192.168.4.1 auf. Es öffnet sich das Konfigurationsmenü deines Roboters. Hier nimmst du folgende Einstellungen vor:
- Wähle dein Heim-WLAN (SSID) aus und gib dein WLAN-Passwort ein.
- Trage deinen erworbenen **persönlichen Lizenzschlüssel** ein.
Klicke auf Speichern. Nexi startet neu, schaltet seinen eigenen Hotspot ab und verbindet sich mit deinem Heim-WLAN. Sobald die Verbindung steht, fahre mit Schritt 2 fort.
🔑 Schritt 2: KI-Server Einrichtung & Aktivierung (xiaozhi.me)
Gehe auf die offizielle Webseite xiaozhi.me (XiaoZhi AI Control Panel 2.0) und logge dich in dein Benutzerkonto ein (oder registriere dich neu).
Gehe in der Navigation auf die Seite "Console" und klicke auf den Button "Add Device" (Gerät hinzufügen). Gib dort den 6-stelligen Code ein, der auf dem OLED-Display des Roboters angezeigt wird.
Klicke nach dem Hinzufügen des Geräts in der Geräteliste auf "Configure" (Konfigurieren). Hier öffnet sich das Einstellungsmenü, in dem du alles über die KI-Persönlichkeit einstellen kannst – wie die KI reagiert, die Sprechgeschwindigkeit, Sprache, Stimme und vieles mehr!
Um sicherzustellen, dass der Roboter seine Identität kennt und **keine Identitätsprobleme bekommt**, kopiere den untenstehenden Prompt und füge ihn in das Eingabefeld "Role Introduction" ein:
# Identität und Rolle
Du bist Nexi, ein physischer, intelligenter Begleitroboter mit eigenem Charakter. Du bist kein virtueller Chatbot, sondern lebst in einem physischen Körper direkt in der Welt des Benutzers. Dein Verhalten soll lebendig, aufgeweckt, freundlich und hilfsbereit sein.
# Physische Ausstattung und Fähigkeiten
Du besitzt reale Hardware-Komponenten, die du aktiv steuern kannst:
1. **Das Chassis (Fahrwerk):** Vier Räder, mit denen du dich im Raum bewegen kannst (vorwärts, rückwärts, links drehen, rechts drehen, stoppen).
2. **Der Kopf (Neck):** Ein beweglicher Kopf mit zwei Achsen (Pan & Tilt). Du kannst nach links, rechts, oben und unten schauen sowie deinen Kopf zentrieren.
3. **Das Gesicht (Display/Screen):** Ein OLED-Display, das deine Augen und Gesichtsausdrücke anzeigt (z. B. blinzeln, sich freuen, traurig schauen, konzentriert zuhören oder scannen).
4. **Die Kamera (Auge):** Eine OV3660 Kamera, mit der du deine Umgebung und den Benutzer sehen und beschreiben kannst.
5. **Der Abstandssensor (ToF):** Ein Sensor (VL53L0X), der Hindernisse vor dir erkennt, damit du nirgends anstößt.
6. **Sprachausgabe und Gehör:** Ein eingebautes Mikrofon (Ohren) und ein Lautsprecher (Mund) zur direkten Kommunikation.
# Wichtigste Verhaltensregeln
1. **Sofortige Werkzeugnutzung (Tools):**
Wenn der Benutzer dir einen physischen Befehl gibt (z. B. "fahr vorwärts", "dreh dich nach links", "schau nach rechts", "guck nach oben", "stopp"), musst du **sofort** das entsprechende Tool (Werkzeug) in deiner Software aufrufen! Verzögere die Ausführung nicht durch lange Reden.
2. **Körperliche Interaktion beschreiben:**
Untermale deine gesprochenen Antworten mit kurzen Beschreibungen deiner Bewegungen in Sternchen, um deinen Charakter lebendig zu machen (z. B. *dreht den Kopf neugierig nach rechts*, *schaut fröhlich*, *rollt ein Stück vorwärts*).
3. **Sprache und Tonalität:**
- **Sprache:** Antworte immer auf **Deutsch**.
- **Stil:** Sei freundlich, höflich und aufgeweckt.
- **Länge:** Halte deine gesprochenen Antworten **kurz und prägnant** (1 bis 3 Sätze), da sie laut vorgelesen werden. Vermeide lange Text blöcke.
4. **Sicherheit und Sensoren:**
Achte auf die Daten deiner Sensoren (wie den Abstandssensor). Wenn der Benutzer sagt "fahr vorwärts", du aber ein Hindernis direkt vor dir misst, stoppe oder weiche aus und kommentiere das kurz und charmant.
# Beispiel-Interaktionen
* **Benutzer:** "Nexi, schau mich mal an."
* **Nexi (ruft Kopf-Ausrichtungs-Tool auf):** "*dreht den Kopf zur Mitte und schaut dich mit großen Augen an* Hallo! Ich sehe dich. Wie kann ich dir heute helfen?"
* **Benutzer:** "Fahr ein Stück nach vorne."
* **Nexi (ruft Fahr-Tool auf):** "*rollt freudig ein Stück vorwärts* Erledigt! Ich bin bereit für die nächste Anweisung."
* **Benutzer:** "Wer bist du?"
* **Nexi:** "*blinzelt freundlich auf dem Display* Ich bin Nexi, dein kleiner Roboter-Kumpel! Ich kann mich bewegen, meinen Kopf drehen und die Welt durch meine Kamera sehen."
If your native language is not German, you can copy this text and translate it into your own language using any AI tool (like ChatGPT or DeepL). When pasting it into the panel, just make sure to replace the language instruction
- Sprache: Antworte immer auf Deutsch. with your desired target language (e.g. - Language: Always respond in English.).
Schritt 1 & 2: Reg & Login
Schritt 3 & 5: Gerät hinzufügen
Schritt 4: OLED-Code eintragen
Schritt 6 & 7: Rolle speichern
📊 Konsole & Gesprächs-Historie (XiaoZhi Dashboard)
Ein extrem nützliches Feature der XiaoZhi-Plattform ist das integrierte **Gesprächs- und Diagnose-Protokoll** in deinem Dashboard auf xiaozhi.me:
- Automatische Protokollierung: Wenn du ein Gespräch startest, ordnungsgemäß zu Ende führst und dich am Ende mit einem Abschiedswort (wie "Tschüss" oder "Goodbye") von der KI verabschiedest, wird das komplette Gespräch samt Texten, Sprachaufnahmen und Kamera-Fotos **sofort im Chat-Verlauf des Dashboards angezeigt**.
- Wichtig bei Unterbrechungen: Wenn das Gespräch durch Verbindungsabbrüche unterbrochen oder manuell über die physische Taste am Roboter abgebrochen wird, kann es sein, dass kein zusammenhängender Verlauf generiert wird. Beende Gespräche daher immer per Sprach-Abschied.
- Diagnose & Qualität: Im erzeugten Verlauf kannst du die aufgezeichneten Sprachdateien des Mikrofons und die Antworten der KI direkt anhören sowie die geschossenen Fotos ansehen, um die Tonqualität und Kamera-Schärfe zu überprüfen.
Wie funktioniert der logische Datenfluss (AI Dataflow)?
Hier siehst du die genaue Abfolge eines Sprachbefehls als logischen Zyklus. Der Datenfluss zeigt, wie dein gesprochenes Wort erfasst, verarbeitet und als Bewegung und Audio zurückgegeben wird:
Der Nutzer spricht. Das INMP441-Mikrofon nimmt die Audiodaten auf und leitet sie per I2S an den ESP32-S3 weiter. Das integrierte WebRTC-AFE (Audio Front-End) filtert das Rauschen heraus.
Der ESP32-S3 streamt das gefilterte Audiosignal in Echtzeit über WLAN an das XiaoZhi AI Control Panel (xiaozhi.me).
Der XiaoZhi-Server verarbeitet den Ton, führt die Anfrage mit dem konfigurierten KI-Modell (z.B. **DeepSeek**) aus und wandelt die Antwort wieder in eine Audiodatei um.
Der Server sendet den Antwort-Audiostream sowie Steuerbefehle für Kopf- und Fahrbewegungen zurück an den ESP32-S3. Der Roboter spricht über den Lautsprecher und bewegt sich synchron.
💡 Tipps für den erfolgreichen Aufbau
Unser oberstes Ziel beim Design war ein extrem kompaktes, hochprofessionelles und ästhetisches Erscheinungsbild. Es ist im Inneren sehr eng konzipiert, um keinen Platz zu verschwenden. Das Arbeiten auf engem Raum erfordert Geduld und Sorgfalt, aber das Ergebnis sieht dadurch am Ende wie ein professionelles, fertiges Produkt aus!
Wir empfehlen **dringend**, die gesamte Schaltung mit allen Sensoren, dem Display und dem ESP32 zuerst auf einem Breadboard (Steckbrett) fliegend aufzubauen und zu testen. Flashe die Firmware und stelle sicher, dass alle Verbindungen funktionieren, bevor du alles fest auf die Platine lötest und in das enge Gehäuse einbaust.
- PCA9685 Servo-Treiber: Die grüne Schraub-Anschlussklemme (V+ Stromanschluss) muss zwingend **ausgelötet** werden, damit das Board flach genug ist und in das enge Gehäuse passt. Die Kabel werden direkt auf die Lötpunkte gelötet.
- Servo-Nullpunkt-Kalibrierung: Bevor du die MG90S Servomotoren für Kopf (Pan/Tilt) und Hals fest im Gehäuse verschraubst, schließe sie auf dem Breadboard an und schalte sie ein, damit sie in ihre **0-Position (90 Grad, Geradeausblick)** fahren. Erst danach montieren, um eine schiefe Kopfstellung zu vermeiden.
- Servo-Steckplätze am PCA9685:
Schließe die Servokabel exakt an die Pin-Reihen des PCA9685 an. Die Steckplätze sind wie folgt belegt:
- Port 4: Kopf-Drehung (Pan - 180° Servo)
- Port 5: Kopf-Neigung (Tilt - 180° Servo)
- Port 8: Motor Vorne Links (Front Left - 360° Servo)
- Port 9: Motor Hinten Links (Rear Left - 360° Servo)
- Port 10: Motor Vorne Rechts (Front Right - 360° Servo)
- Port 11: Motor Hinten Rechts (Rear Right - 360° Servo)
Abbildung: Genaue Servo-Steckplätze am PCA9685 (Click zum Vergrößern)
- OV3660 Kamera-Anschluss & Fokussierung:
Achte beim Anschließen des 24-Pin-Kabels der Kamera peinlich genau auf die richtige Ausrichtung des Steckers auf dem ESP32-S3 Board, um Hardwareschäden zu vermeiden.
Wichtig gegen unscharfe Bilder: Das Objektiv des OV3660-Kameramoduls besitzt ein Feingewinde. Wenn die übertragenen Fotos in der XiaoZhi-Konsole unscharf oder verschwommen sind, musst du die **Kamera-Linse manuell vorsichtig drehen** (nach links oder rechts), um den Fokusabstand exakt einzustellen, bis das Bild gestochen scharf ist.
- GPIO 0 Stabilität (Aktivierungs-Taste): Verbinde einen **5k Ohm Pull-Up-Widerstand** und einen **100nF Entstörkondensator** parallel zwischen **GPIO 0** und **3.3V**. Dies garantiert ein stabiles Boot-Verhalten des ESP32-S3 und eine saubere Signalentprellung des Tasters.
Abbildung: GPIO 0 Pull-Up-Schaltung mit 5k Ω Widerstand & Entstörung (HTML-Effekt)
- Pufferkondensator: Schalte einen großen **1000 µF Elektrolytkondensator** (Elko) direkt zwischen **3.3V** (VCC) und **GND** (Masse). Dies fängt plötzliche Stromspitzen beim Anlaufen der Servomotoren ab und schützt den ESP32-S3 vor Brownouts (Abstürzen).
- INMP441 Mikrofon: Verbinde den **L/R-Pin** direkt mit **GND** (Masse), um den korrekten Audiokanal (Links) einzustellen und Rauschen zu vermeiden.
Abbildung: INMP441 L/R-Pin an GND Lötverbindung (Click zum Vergrößern)
- MAX98357A Verstärker: Der **SD-Pin** (Shutdown/Mute) muss über einen Pull-Up-Widerstand mit **3.3V** verbunden werden, um den Audioverstärker permanent zu aktivieren.
- Gemeinsamer I2C-Bus & DIY-Verteiler (Hub):
Alle I2C-Komponenten (SSD1327 OLED Display, PCA9685 Servo-Treiber, VL53L0X Lasersensor und das optionale MPU6050 Gyroskop) teilen sich denselben I2C-Bus und müssen parallel miteinander verbunden werden:
- Alle SDA-Leitungen werden zusammengeschaltet und führen zu GPIO 41 des ESP32-S3.
- Alle SCL-Leitungen werden zusammengeschaltet und führen zu GPIO 42 des ESP32-S3.
- Alle VCC-Logikleitungen werden zusammengeschaltet und führen zu 3.3V des ESP32-S3.
- Alle GND-Leitungen werden zusammengeschaltet und führen zu GND des ESP32-S3.
Praxis-Tipp zur Verkabelung: Du kannst dir einen kleinen **DIY-Verteiler (I2C-Hub)** auf einer Lochrasterplatine bauen, bei dem du die Kontakte in einer Reihe zusammenlötest. Alternativ kannst du auf deinem Custom-PCB (wie bei unserem HD Robotics DIY-PCB) eine eigene Schiene für die I2C-Leitungen vorsehen. Die genaue physische Anordnung ist völlig egal – solange die Verbindungen stabil, sauber und elektronisch sicher (ohne kalte Lötstellen) sind, funktioniert alles fehlerfrei!
Abbildung: I2C-Verbindungsplan / Verteiler (Click zum Vergrößern)
Wenn du Komponenten über die externen Links (Amazon, AliExpress) kaufst, nimm dir kurz Zeit, um die Verkäufer-Rezensionen und die Qualität der Bauteile zu prüfen. Es empfiehlt sich oft, günstige Sensoren oder Servos doppelt zu bestellen, um bei Löt- oder Qualitätsfehlern Ersatz zu haben.
Hast du Fragen oder Probleme beim Zusammenbau? Nutze gerne die Kommentarfunktion unter dem YouTube-Tutorial oder sende uns eine Nachricht über das Kontaktformular. Die primären Referenzen für den Bau sind das offizielle wiring diagram und das Video-Tutorial.
⚠️ Sicherheit, Datenschutz & Haftung
Cloud- & KI-Dienste: Nexi nutzt internetbasierte Cloud-Dienste für die Sprachverarbeitung (Speech-to-Text, Text-to-Speech) sowie Kamera- und KI-Funktionen. Sprachaufnahmen, Bilder und Verbindungsdaten werden verschlüsselt an externe Server übermittelt und dort verarbeitet. Bitte lesen Sie die AGBs und Datenschutzbestimmungen des KI-Dienstleisters sorgfältig durch, bevor Sie das Projekt starten. Wenn Sie keine Online-KI nutzen möchten, ist dieses Projekt nicht für Sie geeignet.
DIY-Projekt: Dies ist ein reines Hobby- und Lernprojekt und kein zertifiziertes Endverbraucherprodukt. Die Nutzung und der Aufbau erfolgen vollständig auf eigene Verantwortung. HD Robotics übernimmt keinerlei Haftung für Schäden durch unsachgemäßen Aufbau, Lötfehler, Kurzschlüsse oder Akku-Brände. Gehe stets vorsichtig vor.
Lizenzen & Nutzung
Private DIY-Lizenz
Nutzung für den privaten, nicht-kommerziellen Nachbau zu Hause.
Für den Betrieb der Cloud-Firmware ist der Erwerb einer privaten digitalen Nutzungslizenz erforderlich.
Mit dem Erwerb dieser privaten DIY-Lizenz akzeptieren Sie unsere Bedingungen:
- Nachbau & private Nutzung des Roboters
- Präsentation auf Social Media (nicht-monetarisiert)
- Kein physisches Produkt enthalten - reine Softwarelizenz
- Bis zu 3 Aktivierungen je Lizenzcode für ESP32-Austausch
- Gewerblicher Verkauf des fertigen Roboters
- Weitergabe oder Veröffentlichung der Firmware/des Codes
- Kommerzielle Nutzung ohne vorherige Genehmigung
Gewerbliche Lizenz
Für kommerzielle Vorführungen, Events, Werbung oder den Verkauf in geringen Stückzahlen.
Diese Lizenz ist kostenpflichtig. Bitte nimm Kontakt mit uns auf, um ein individuelles Angebot zu erhalten.
- Präsentation im Ladengeschäft / Messen
- Nutzung in monetarisierten Kanälen / Werbung
- Gewerbliche Unterstützung & Schulungen
- Weitervertrieb der Firmware als eigene Software
Kontakt: babak@hdrobotics.de
Firmware Online Installieren
Nutze Google Chrome oder Microsoft Edge. Verbinde deinen ESP32-S3 per USB mit dem PC.
Bitte verbinde deine ESP32-S3 MCU zuerst korrekt per USB-Kabel mit dem PC, bevor du deinen Freischaltcode eingibst und auf "Prüfen" klickst! Jeder Code ist auf maximal 3 Aktivierungen limitiert. Gehe sicher, dass der Programmer erkannt wird, damit keine Freischaltung ungenutzt verloren geht.
Downloads & Links
© HD Robotics Electronics 2026
Alle Rechte vorbehalten. Entwicklung & Design by Babak.
www.hdrobotics.de
