This document provides the complete pin configuration for connecting ST7735 displays to ESP32 and ESP32-S3 boards in the dual display billboard system.
Used for ESP32 development boards with standard pinout
| Function | Pin | GPIO | Description |
|---|---|---|---|
| SPI Communication | |||
| MOSI | 23 | GPIO 23 | SPI Data (Master Out Slave In) |
| SCLK | 18 | GPIO 18 | SPI Clock |
| DC | 14 | GPIO 14 | Data/Command (shared for both displays) |
| RST | 26 | GPIO 26 | Reset (shared for both displays) |
| Display 1 | |||
| CS1 | 10 | GPIO 10 | Chip Select for Display 1 |
| BL1 | 7 | GPIO 7 | Backlight control for Display 1 |
| Display 2 | |||
| CS2 | 39 | GPIO 39 | Chip Select for Display 2 |
| BL2 | 8 | GPIO 8 | Backlight control for Display 2 |
| DCC Input | |||
| DCC | 4 | GPIO 4 | Digital Command Control input signal |
Used for ESP32-S3-N8R2 modules with your specified pinout
| Function | Pin | GPIO | Description |
|---|---|---|---|
| SPI Communication | |||
| MOSI | 11 | GPIO 11 | SPI Data (Master Out Slave In) |
| SCLK | 12 | GPIO 12 | SPI Clock |
| DC | 14 | GPIO 14 | Data/Command (shared for both displays) |
| RST | 5 | GPIO 5 | Reset (shared for both displays) |
| Display 1 | |||
| CS1 | 10 | GPIO 10 | Chip Select for Display 1 |
| BL1 | 7 | GPIO 7 | Backlight control for Display 1 |
| Display 2 | |||
| CS2 | 39 | GPIO 39 | Chip Select for Display 2 |
| BL2 | 8 | GPIO 8 | Backlight control for Display 2 |
| DCC Input | |||
| DCC | 4 | GPIO 4 | Digital Command Control input signal |
ESP32 Pin → Display 1 → Display 2
──────────────────────────────────────────────────
3.3V → VCC → VCC (shared)
GND → GND → GND (shared)
GPIO 23 (MOSI) → SDA → SDA (shared)
GPIO 18 (SCLK) → SCL → SCL (shared)
GPIO 26 (RST) → RES → RES (shared)
GPIO 14 (DC) → DC → DC (shared)
GPIO 10 (CS1) → CS → ─
GPIO 39 (CS2) → ─ → CS
GPIO 7 (BL1) → BLK → ─
GPIO 8 (BL2) → ─ → BLK
GPIO 4 (DCC) → DCC Input Signal
ESP32-S3 Pin → Display 1 → Display 2
──────────────────────────────────────────────────
3.3V → VCC → VCC (shared)
GND → GND → GND (shared)
GPIO 11 (MOSI) → SDA → SDA (shared)
GPIO 12 (SCLK) → SCL → SCL (shared)
GPIO 5 (RST) → RES → RES (shared)
GPIO 14 (DC) → DC → DC (shared)
GPIO 10 (CS1) → CS → ─
GPIO 39 (CS2) → ─ → CS
GPIO 7 (BL1) → BLK → ─
GPIO 8 (BL2) → ─ → BLK
GPIO 4 (DCC) → DCC Input Signal
CRITICAL: Use 3.3V only - 5V will damage displays!
Step 1: Power Rails
ESP32 3.3V → Breadboard + rail → Both Display VCC pins
ESP32 GND → Breadboard - rail → Both Display GND pins
These pins connect to BOTH displays:
Step 2: SPI Data & Clock
ESP32 GPIO 23 (MOSI) → Display 1 SDA → Display 2 SDA
ESP32 GPIO 18 (SCLK) → Display 1 SCL → Display 2 SCL
Step 3: Control Signals
ESP32 GPIO 26 (RST) → Display 1 RES → Display 2 RES
ESP32 GPIO 14 (DC) → Display 1 DC → Display 2 DC
These pins are unique for each display:
Step 4: Display 1 Only
ESP32 GPIO 10 → Display 1 CS pin
ESP32 GPIO 7 → Display 1 BLK pin
Step 5: Display 2 Only
ESP32 GPIO 39 → Display 2 CS pin
ESP32 GPIO 8 → Display 2 BLK pin
Step 6: DCC Input Connection
ESP32 GPIO 4 → DCC signal input
CRITICAL: Use 3.3V only - 5V will damage displays!
Step 1: Power Rails
ESP32-S3 3.3V → Breadboard + rail → Both Display VCC pins
ESP32-S3 GND → Breadboard - rail → Both Display GND pins
These pins connect to BOTH displays:
Step 2: SPI Data & Clock
ESP32-S3 GPIO 11 (MOSI) → Display 1 SDA → Display 2 SDA
ESP32-S3 GPIO 12 (SCLK) → Display 1 SCL → Display 2 SCL
Step 3: Control Signals
ESP32-S3 GPIO 5 (RST) → Display 1 RES → Display 2 RES
ESP32-S3 GPIO 14 (DC) → Display 1 DC → Display 2 DC
These pins are unique for each display:
Step 4: Display 1 Only
ESP32-S3 GPIO 10 → Display 1 CS pin
ESP32-S3 GPIO 7 → Display 1 BLK pin
Step 5: Display 2 Only
ESP32-S3 GPIO 39 → Display 2 CS pin
ESP32-S3 GPIO 8 → Display 2 BLK pin
Step 6: DCC Input Connection
ESP32-S3 GPIO 4 → DCC signal input
- VCC → 3.3V (DO NOT use 5V)
- GND → Ground
- SCL/SCLK → SPI Clock pin (GPIO 12 for ESP32-S3, GPIO 18 for ESP32)
- SDA/MOSI → SPI Data pin (GPIO 11 for ESP32-S3, GPIO 23 for ESP32)
- RES/RST → GPIO 5 for ESP32-S3, GPIO 26 for ESP32 (shared between both displays)
- DC/A0 → GPIO 14 (shared between both displays)
- CS → GPIO 10 (Display 1) or GPIO 39 (Display 2) for both platforms
- BLK/LED → GPIO 7 (Display 1) or GPIO 8 (Display 2) for both platforms
- Voltage: 3.3V only - DO NOT connect to 5V
- Current: Each display draws ~20-50mA depending on content and backlight
- Total system: ~100-150mA for dual displays
- Mode: SPI Mode 0 (CPOL=0, CPHA=0)
- Speed: 40MHz (optimized for ST7735)
- Bit Order: MSB First
- Resolution: 160x80 pixels (ST7735_GREENTAB160x80)
- Color: 16-bit RGB565
- Orientation: Portrait (80x160) or Landscape (160x80)
- No display: Check power (3.3V), connections, and CS pins
- Garbled display: Verify SPI pins (MOSI, SCLK, DC)
- Wrong colors: Check RGB order in configuration
- Flickering: Check power supply stability and backlight control
- Verify all connections match pin table above
- Confirm 3.3V power (NOT 5V)
- Check for short circuits
- Ensure CS pins are correctly connected (different for each display)
- Check system boots correctly (serial monitor)
- Verify display initialization messages in log
- Test backlight control (displays should light up)
- Confirm both displays show content
- Test image upload and display functionality
- Power: Insufficient power can cause boot loops or display corruption
- DCC signal: Ensure DCC signal is properly isolated and at correct voltage levels
Current pin configuration is automatically selected based on the build environment:
- esp32s3-st7735-debug: Uses ESP32-S3 pinout
- esp32dev-st7735-debug: Uses ESP32 pinout
Check the serial monitor during boot for pin configuration confirmation.