Skip to content

Waveshare ESP32-S3 Touch LCD 7 - backlight pinon GPIO 16 - #1035

Open
schnoog wants to merge 2 commits into
HASwitchPlate:masterfrom
schnoog:master
Open

Waveshare ESP32-S3 Touch LCD 7 - backlight pinon GPIO 16#1035
schnoog wants to merge 2 commits into
HASwitchPlate:masterfrom
schnoog:master

Conversation

@schnoog

@schnoog schnoog commented Aug 22, 2026

Copy link
Copy Markdown

Description

The display hasn't the backlight wired to any usable GPIO by default.
It's required to solder a connection between a test pad and a GPIO.
GPIO6 which is used in the available user_setting requires soldering the connection not only to the test pad but also a pad/leg of the ESP32.
GPIO16 on the other hand is available over a JST connector and therefore only requires one - relatively easy - solder connection to use the delivered cable to get it working

It's a copy of waveshare-esp32-s3-touch-lcd-7.ini with -D TFT_BCKL=6 changed to -D TFT_BCKL=16
and renamed the to env waveshare-esp32-s3-touch-lcd-7-gpio16
Additionally added the env to be build workflow.

Type of Change

  • New device / board support
  • Bug fix
  • New feature
  • Refactoring / core change
  • Documentation
  • Other

Scope

This PR is focused on:
Waveshare ESP32-S3-Touch-LCD-7

Checklist

  • My changes only affect one clear goal
  • I have tested the changes on real hardware (if applicable) (1)
  • The code builds cleanly for at least one existing board (1)
  • I have added/updated documentation where needed
  • No unrelated files were changed

(1) https://github.com/schnoog/openHASP/actions/runs/32584170030/artifacts/9478672664

…IO16

The display doesn't have a hardwired connection between an IO and the backlight-line. It's required to solder a wire to a test point and a GPIO line.
GPIO6 requires soldering to the test pad and a leg/pad of the ESP32.  GPIO16 is availble over a JST connector and only requires soldering a delivered wire on to the test and and plug it in.
@fvanroie

Copy link
Copy Markdown
Collaborator

Hi, thanks for this additional info. Just to be clear: the Backlight Pin is just a default suggestion that can be changed in the WebUI > Dusplay Settings:

image

So we don't normally create a new firmware just for the backlight pin.
Can you check if GPIO16 is available in the default waveshare-esp32-s3-touch-lcd-7 build?

It could be that the pin is "reserved" and not listed...

@schnoog

schnoog commented Aug 22, 2026

Copy link
Copy Markdown
Author

Hi, thanks for your response.
GPIO16 is available in the dropdown, but selecting it and saving it didn't have any effect.
I didn't dive into the projects code base, but changing the ini, compiling it, uploding it and afterwards setting the BL GPIO to 16 again did finally work.

Does a pre-configured pin block later assignments or did I just mess it up?

@fvanroie

fvanroie commented Aug 22, 2026

Copy link
Copy Markdown
Collaborator

selecting it and saving it didn't have any effect

The most common reason is probably that you "reset" or "power cycled" the board via RST or disconnecting power.
If so, please try selecting pin 16, click Save Settings and make sure to Reboot the plate using the red Restart button in the WebUI.

The config is saved when you soft reboot, but not when you just unplug/reset the board... I think that could explain it?
When the pin is visible and you restart the device via the Restart webUI, it should work!

TLDR:

  • WebUI → Save Settings → red Restart button → configuration is persisted/applied.
  • Physical reset via RST or simply unplugging/power-cycling may not persist the newly selected setting.

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