esp32-claude-robbie/claudes_eyes/docs/gpio_mapping.md

5.3 KiB

GPIO Mapping - Claude's Eyes

Waveshare ESP32-S3-Touch-LCD-2

On-Board Components (keine externe Verkabelung nötig)

Funktion GPIO Notizen
Display ST7789
MOSI GPIO 13 SPI Data
SCLK GPIO 14 SPI Clock
CS GPIO 10 Chip Select
DC GPIO 11 Data/Command
RST GPIO 12 Reset
Backlight GPIO 45 PWM für Helligkeit
Touch CST816S
SDA GPIO 48 I2C Data (shared)
SCL GPIO 8 I2C Clock (shared)
INT GPIO 3 Interrupt
IMU QMI8658
SDA GPIO 48 I2C Data (shared mit Touch)
SCL GPIO 8 I2C Clock (shared mit Touch)

Kamera OV5640 (24-Pin Connector)

Funktion GPIO Notizen
XCLK GPIO 15 External Clock
SIOD (SDA) GPIO 4 SCCB Data
SIOC (SCL) GPIO 5 SCCB Clock
D7 GPIO 16 Data Bit 7
D6 GPIO 17 Data Bit 6
D5 GPIO 18 Data Bit 5
D4 GPIO 12 Data Bit 4 (⚠️ shared mit Display RST!)
D3 GPIO 10 Data Bit 3 (⚠️ shared mit Display CS!)
D2 GPIO 8 Data Bit 2 (⚠️ shared mit I2C SCL!)
D1 GPIO 9 Data Bit 1
D0 GPIO 11 Data Bit 0 (⚠️ shared mit Display DC!)
VSYNC GPIO 6 Vertical Sync
HREF GPIO 7 Horizontal Reference
PCLK GPIO 13 Pixel Clock (⚠️ shared mit Display MOSI!)

⚠️ WICHTIG: Die Kamera-Pins können mit Display-Pins kollidieren! Dies muss beim finalen Hardware-Setup verifiziert werden. Möglicherweise muss die Camera während Display-Updates deaktiviert werden oder umgekehrt.

Externe Komponenten (Freenove Shield)

Funktion GPIO Notizen
Motoren
Motor A IN1 GPIO 39 Richtung Links
Motor A IN2 GPIO 40 Richtung Links
Motor A PWM GPIO 41 Geschwindigkeit Links
Motor B IN1 GPIO 42 Richtung Rechts
Motor B IN2 GPIO 2 Richtung Rechts
Motor B PWM GPIO 1 Geschwindigkeit Rechts
Servos
Pan Servo GPIO 38 Horizontale Kamerabewegung
Tilt Servo GPIO 37 Vertikale Kamerabewegung
Ultraschall HC-SR04
Trigger GPIO 21 Ultraschall Trigger
Echo GPIO 47 Ultraschall Echo
Optional
LED Matrix DIN GPIO 35 WS2812 Data
LED Matrix CLK GPIO 36 Clock
LED Matrix CS GPIO 0 Chip Select
RGB LEDs GPIO 48 WS2812 (⚠️ shared mit I2C!)

Verkabelungsdiagramm

                    Waveshare ESP32-S3-Touch-LCD-2
                    ┌─────────────────────────────┐
                    │                             │
    [OV5640 Cam] ───┤ 24-Pin Camera Connector     │
                    │                             │
                    │  ┌─────────────────────┐    │
                    │  │   2" LCD Display    │    │
                    │  │   (ST7789 + Touch)  │    │
                    │  └─────────────────────┘    │
                    │                             │
                    │  GPIO 39 ──────────┐        │
                    │  GPIO 40 ──────────┤        │
                    │  GPIO 41 ──────────┤        │
                    │  GPIO 42 ──────────┼───────────> Motor Driver
                    │  GPIO 2  ──────────┤           (TB6612/L298N)
                    │  GPIO 1  ──────────┘        │
                    │                             │
                    │  GPIO 38 ───────────────────────> Pan Servo
                    │  GPIO 37 ───────────────────────> Tilt Servo
                    │                             │
                    │  GPIO 21 ───────────────────────> HC-SR04 Trigger
                    │  GPIO 47 ───────────────────────> HC-SR04 Echo
                    │                             │
                    │  5V  ───────────────────────────> Servos/Sensoren VCC
                    │  GND ───────────────────────────> Common Ground
                    │                             │
                    └─────────────────────────────┘

Spannungsversorgung

  • ESP32-S3: 5V via USB-C oder LiPo Batterieanschluss
  • Motoren: Separate Stromversorgung empfohlen (Powerbank)
  • Servos: 5V (können am ESP32 5V Pin angeschlossen werden)
  • HC-SR04: 5V
  • OV5640: 3.3V (vom ESP32 Board)

Wichtige Hinweise

  1. GPIO 0 ist auch für Boot-Mode! Beim Flashen nicht verbinden.
  2. I2C Bus wird von Touch und IMU geteilt - beide haben unterschiedliche Adressen.
  3. Kamera-Pins müssen mit der tatsächlichen Waveshare-Pinbelegung verifiziert werden.
  4. Motor PWM verwendet LEDC Channels 0 und 1.
  5. Display Backlight verwendet LEDC Channel 2.