Skip to content

espressif: add ESP32-S3-BOX-3 board definition - #11431

Merged
dhalbert merged 1 commit into
adafruit:mainfrom
mtrovo:box3-board-definition
Sep 20, 2026
Merged

dhalbert merged 1 commit into
adafruit:mainfrom
mtrovo:box3-board-definition

Conversation

@mtrovo

@mtrovo mtrovo commented Sep 20, 2026

Copy link
Copy Markdown

Adds the espressif_esp32s3_box_3 board definition. Fixes #10169.

The BOX-3 shares the BOX's SoC, flash and LCD bus, but differs in four ways:

  • backlight is GPIO47; the BOX uses GPIO45, which is I2S LRCK here
  • the panel reset is active HIGH, so board_init() drives GPIO48 and FourWire gets reset=None
  • the panel needs the esp-bsp vendor init sequence; the BOX's 6-command one leaves it dark
  • PSRAM is 16MB, not 8MB

pins.c mirrors the BOX file, changing only LCD_CTRL(45) to LCD_BACKLIGHT(47) and I2S_LRCK from 47 to 45.

Verified on hardware: board_id, pin aliases, 16MB PSRAM, LCD (320x240, no user-code workaround) and audio. Serves the ILI9341/GT911 revision; the ST7789/TT21100 revision is a known gap.

PID allocation: espressif/usb-pids#383 (0x7014/0x7015).

Add ports/espressif/boards/espressif_esp32s3_box_3/ (five files). The
BOX-3 shares the BOX's SoC, flash and LCD bus, but differs in four ways
established from esp-bsp and on hardware:

- Backlight is GPIO47, not 45. The BOX firmware PWMs GPIO45, which is
  I2S LRCK here, so the screen stays dark.
- The panel reset is active HIGH. FourWire assumes active low and would
  leave the panel in reset, so board_init() drives GPIO48 and FourWire
  gets reset=None.
- The panel needs the esp-bsp vendor init sequence; neither the BOX's
  6-command sequence nor the generic ILI9341 one lights it.
- PSRAM is 16MB, not 8MB.

pins.c mirrors the BOX layout, differing only where the hardware does:
LCD_CTRL(GPIO45) is LCD_BACKLIGHT(GPIO47), and I2S_LRCK moves 47 -> 45.

Serves the ILI9341/GT911 revision; the ST7789/TT21100 revision is a
known gap. Verified on hardware: board_id, pin aliases, 16MB PSRAM,
panel and audio.

@dhalbert dhalbert left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great, thank you!

Could you file a corresponding PR in https://github.com/adafruit/circuitpython-org ? Thanks.

@dhalbert
dhalbert merged commit 822cbb2 into adafruit:main Sep 20, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ESP32-S3-BOX-3 support

2 participants