# ๐Ÿš€ Quickstart Guide - ESP32-S3 GNUBoy **Von 0 zu einem laufenden GameBoy Emulator in 10 Minuten!** --- ## โšก Schnellstart ### 1๏ธโƒฃ Voraussetzungen prรผfen ```bash # ESP-IDF installiert? idf.py --version # Python Version (sollte 3.10 sein)? python --version # Git installiert? git --version ``` **Wenn etwas fehlt, siehe weiter unten!** --- ### 2๏ธโƒฃ Projekt klonen ```bash cd ~/Arduino/gameboy/ git clone esp32-s3-gnuboy cd esp32-s3-gnuboy ``` --- ### 3๏ธโƒฃ ESP-IDF aktivieren ```bash source ~/esp-idf/export.sh ``` **Wichtig:** Das musst du **jedes Mal** machen wenn du ein neues Terminal รถffnest! --- ### 4๏ธโƒฃ Target setzen ```bash idf.py set-target esp32s3 ``` --- ### 5๏ธโƒฃ Bauen ```bash idf.py build ``` **Dauer:** ~2-5 Minuten beim ersten Build --- ### 6๏ธโƒฃ Flashen ```bash # Board anschlieรŸen via USB # Dann: idf.py -p /dev/ttyUSB0 flash ``` **Port finden:** ```bash ls /dev/ttyUSB* # oder ls /dev/ttyACM* ``` --- ### 7๏ธโƒฃ Monitor starten ```bash idf.py monitor ``` **Beenden:** `Ctrl+]` --- ## โœ… Fertig! Du solltest jetzt sehen: ``` โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ โ•‘ โ•‘ ESP32-S3 GNUBoy LEGO GameBoy Emulator โ•‘ โ•‘ โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ• Hardware: Waveshare ESP32-S3-Touch-LCD-2 Display: ST7789 2.0" 240x320 Flash: 16 MB PSRAM: 8 MB ``` --- ## ๐Ÿ”ง Fehlerbehebung ### Problem: Python 3.12 Fehler ```bash # Python 3.10 installieren: sudo apt-get install python3.10 python3.10-venv python3.10-dev # Alte ESP-IDF Umgebung lรถschen: rm -rf ~/.espressif/python_env/idf4.4_py3.12_env # ESP-IDF neu installieren: cd ~/esp-idf python3.10 ./install.sh esp32s3 ``` --- ### Problem: Port nicht gefunden ```bash # USB Ports checken: ls -la /dev/ttyUSB* ls -la /dev/ttyACM* # Berechtigungen setzen: sudo usermod -a -G dialout $USER # Dann neu einloggen! ``` --- ### Problem: Build Fehler ```bash # Alles lรถschen und neu: idf.py fullclean idf.py build ``` --- ### Problem: Flash Fehler ```bash # Board in Download Mode bringen: # 1. BOOT Button drรผcken und halten # 2. RESET Button kurz drรผcken # 3. BOOT loslassen # 4. Nochmal flashen versuchen ``` --- ## ๐Ÿ“ฑ Nรคchste Schritte ### SD-Karte vorbereiten 1. **Formatieren:** FAT32 2. **Verzeichnis:** `/roms/gb/` 3. **ROMs kopieren:** `tetris.gb`, etc. ### Hardware verbinden - **Display:** Sollte schon integriert sein! - **Buttons:** Nach Pin-Plan verlรถten - **Audio:** MAX98357A anschlieรŸen - **NFC:** PN532 via I2C - **SD-Karte:** Einlegen ### Code anpassen 1. **Pins prรผfen:** `main/hardware_config.h` 2. **Features aktivieren:** `main/main.c` --- ## ๐ŸŽฎ Test-Workflow ### Minimaler Test (ohne ROMs): ```bash # Build & Flash idf.py build flash monitor # Erwartung: # - System startet # - PSRAM erkannt # - Display initialisiert # - Keine Errors ``` ### Mit ROM testen: ```bash # 1. ROM auf SD-Karte: /roms/gb/tetris.gb # 2. SD-Karte einlegen # 3. Neustarten # 4. ROM sollte laden ``` --- ## ๐Ÿ’ก Tipps ### Schneller entwickeln: ```bash # Nur App flashen (schneller): idf.py app-flash # Monitor ohne Flash: idf.py monitor # Build + Flash + Monitor in einem: idf.py build flash monitor ``` ### Debug aktivieren: ```bash idf.py menuconfig # Dann: # Component config โ†’ Log output # โ†’ Default log verbosity โ†’ Verbose ``` ### Pin-Check: Alle Pins sind in **einer** Datei: ```bash cat main/hardware_config.h ``` --- ## ๐Ÿ“Š Checkliste Nach erfolgreichem Build solltest du haben: - โœ… ESP-IDF v4.4 aktiv - โœ… Python 3.10 (nicht 3.12!) - โœ… Projekt kompiliert ohne Fehler - โœ… Board erkannt auf `/dev/ttyUSB0` - โœ… Flash erfolgreich - โœ… Serial Monitor zeigt Boot-Messages - โœ… PSRAM wird erkannt (8 MB) - โœ… Display wird initialisiert --- ## ๐ŸŽฏ Wenn alles lรคuft: **Glรผckwunsch!** ๐ŸŽ‰ Jetzt kannst du: 1. Hardware zusammenbauen 2. GNUBoy Core integrieren 3. ROMs testen 4. NFC implementieren 5. Link Cable bauen --- ## ๐Ÿ“ž Hilfe **Serial Monitor zeigt nichts?** โ†’ Richtigen Port? Richtige Baud-Rate (115200)? **Build dauert ewig?** โ†’ Beim ersten Mal normal (5-10 Min), danach schneller **Flash schlรคgt fehl?** โ†’ Boot Mode? USB-Kabel OK? Treiber installiert? --- **Viel Erfolg!** ๐Ÿš€ *Fรผr Stefan's LEGO GameBoy Projekt*