Skip to content

Waveshare ESP32-S3-LCD-1.47

The ESP32-S3-LCD-1.47 is the “everything board”: a 1.47″ 172×320 IPS screen, an onboard RGB pixel, a microSD slot, and audio-ready pins on one small board — the pick when your prop wants lights, a display, and sound.

Chip ESP32-S3
Flash 16 MB
PSRAM 8 MB
Max LEDs 256
Audio
Display 1.47" 172x320 ST7789 IPS LCD (SPI)
Touch
Storage microSD card
Network
Update modes Standalone (WiFi/OTA) · Loader (USB-drop)

Props that do several things at once. The reference build is the Pulse Rifle: the screen shows a two-digit ammo counter in a seven-segment font, the BOOT button is the trigger, each shot flashes the onboard pixel as a muzzle flash and fires a fire.wav — polyphonically, so rapid fire never clips a shot short — while the counter ticks down. The removable microSD card means sound libraries aren’t squeezed into on-chip flash, and 16 MB flash plus 8 MB PSRAM leave plenty of headroom.

GPIOCan doNotes
0 in / out BOOT button (strapping) — prop projects use it as the trigger/arm button
1 in / out / PWM / ADC ADC1_CH0; I2S BCLK when an audio amp is wired
2 in / out / PWM / ADC ADC1_CH1; I2S LRC/WS when an audio amp is wired
3 in / out / PWM / ADC ADC1_CH2; I2S DIN when an audio amp is wired
4 in / out / PWM / ADC ADC1_CH3
5 in / out / PWM / ADC ADC1_CH4
6 in / out / PWM / ADC ADC1_CH5
7 in / out / PWM / ADC ADC1_CH6
8 in / out / PWM / ADC ADC1_CH7
9 in / out / PWM / ADC ADC1_CH8
10 in / out / PWM / ADC ADC1_CH9
11 in / out / PWM
12 in / out / PWM
13 in / out / PWM
38 out / PWM Onboard RGB WS2812 — default LED data pin

Reserved pins — leave these alone

  • GPIO 14 — microSD clock
  • GPIO 15 — microSD command
  • GPIO 16 — microSD data 0
  • GPIO 17 — microSD data 2
  • GPIO 18 — microSD data 1
  • GPIO 21 — microSD data 3 / chip select
  • GPIO 39 — LCD reset
  • GPIO 40 — LCD clock
  • GPIO 41 — LCD data/command
  • GPIO 42 — LCD chip select
  • GPIO 45 — LCD data in
  • GPIO 48 — LCD backlight

GPIO1–13 are broken out on the header for your strips, buttons, and sensors; GPIO1–10 double as ADC1 analog inputs, which stay reliable while WiFi is on. The onboard RGB WS2812 on GPIO38 is the default LED output — a fresh board lights it with no wiring. External strips take any free header pin, named in your show.json. The BOOT button (GPIO0) is a normal input at runtime — the prop projects use it as the trigger/arm button.

Sound comes from a small I2S amplifier (such as the MAX98357A) on the header — GPIO1/2/3 are the documented wiring:

Amp pin Board pin
BCLK GPIO1
LRC / WS GPIO2
DIN GPIO3

Leave the amp’s GAIN and SD pins at their defaults. This matches the amp wiring on the T-Display-S3.

This board is different from its siblings: your files live on the microSD card, not on-chip. Prep the card on your computer — copy show.json, config.json, fonts, and sounds onto it — then insert it. The USB data-drive workflow the on-chip-FAT boards use does not apply here.

The upside: your data is on a removable card, so firmware operations that re-layout the chip’s flash (like switching update modes) never touch it, and swapping shows can be as simple as swapping cards.

Flash over the USB port. If the board doesn’t show up for flashing, hold the BOOT button (GPIO0) while pressing reset, then release BOOT — that’s ROM download mode, which always works. Full walkthrough: Flashing your board.

The LCD-1.47 supports both update modes — pick one per device:

  • Standalone — update firmware over WiFi from the device’s web dashboard. See the standalone quickstart.
  • Loader — no WiFi: tap RESET then press BOOT, the board appears as a USB drive, and you drag a firmware.uf2 onto it. See the loader quickstart.

Switching a device between modes is a one-time USB reflash. On this board there’s nothing to back up first — your data lives on the SD card, untouched.

  • show.json and sounds live on the microSD card. Prep it on a PC; the USB data-drive upload used by the on-chip-FAT boards doesn’t apply here.
  • GPIO1/2/3 are the documented wiring for a MAX98357A I2S amp (BCLK / LRC / DIN) — keep them free if you plan to add sound.
  • The onboard WS2812 on GPIO38 is the default LED output, handy as a status pixel or a one-pixel effect (the Pulse Rifle uses it as the muzzle flash).
  • The SD slot is wired for fast 4-bit access, which is why six pins (14–18 and 21) are board-owned rather than two or three.