Skip to content

diy: add support for Waveshare Touch LCD 3.5 - #330

Open
bota87 wants to merge 1 commit into
Blockstream:masterfrom
bota87:waveshare-touch-lcd-35
Open

diy: add support for Waveshare Touch LCD 3.5#330
bota87 wants to merge 1 commit into
Blockstream:masterfrom
bota87:waveshare-touch-lcd-35

Conversation

@bota87

@bota87 bota87 commented Aug 20, 2026

Copy link
Copy Markdown

Adds diy support for the Waveshare ESP32-S3-Touch-LCD-3.5 (esp32s3, 480x320 ST7796 display, FT6336 touch, AXP2101 pmu, and an OV5640 camera on the -C version). It follows the existing Touch LCD 2 support, with the same three virtual buttons along the bottom of the screen.

Tested on the hardware: display, touch, QR scanning, brightness, battery level and charging.

Worth flagging for review: on this board the touch controller, the camera sccb and the pmu are all on the same two i2c pins. camera.c therefore stops the touchscreen before esp_camera_init() rather than only restarting it afterwards - since IDF 5.4 the camera component drives the sccb through the new i2c_master driver (sccb-ng.c), which cannot claim pins the touchscreen bus still holds, so the sensor was never found. That file is shared with the other camera+touch boards, so I built and flashed a Touch LCD 2 from this branch too (its sccb is on separate pins) and QR scanning and the buttons still work there. The M5 Core S3 has its touch and sccb doubled up on the same pins like this board, so its camera has probably been broken by the same thing since the move to IDF 5.5 - this change may actually fix it, but I have no way to test that.

The 3.5B variant uses a different (QSPI) display controller and is not supported (#243).

ESP32-S3 board with a 3.5inch 480x320 capacitive touch display
(ST7796/FT6336), OV5640 camera and AXP2101 pmu.

The pmu, the touchscreen and the camera sccb share the same i2c pins, so the
pmu attaches to the bus owned by the touchscreen once it exists, and the
touchscreen is now stopped before esp_camera_init() rather than only being
restarted after it - otherwise the sccb cannot claim the pins.

The 3.5B variant uses a different (QSPI) display controller and is not
supported.
@jgriffiths

Copy link
Copy Markdown
Collaborator

Thanks - this may have to sit for a bit while we push the next release out. Will try to get to it soon, thanks.

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.

2 participants