Fork this with Git

CYD MQTT Touchscreen UI

Using the Cheap-Yellow-Display to control smart home devices
Project started on September 28, 2025.

Recent activity on GitHub:

...back to Smart Home overview

After adding more actors to my Smart Home in the form of power sockets running Tasmota, I had to improve the ways to control all of these devices. The Telegram Bot and Web UI are a good start, but the Wife Acceptance Factor is pretty low, and they require access to a computer or smartphone.

Recently I learned about the CYD (cheap yellow display), a nice ESP32 dev board with a touchscreen. This seemed ideal to run a simple user interface to control everything via MQTT.

Here are the results. When not in use the device shows a stand-by screen with the current time and date. After pressing the screen a menu is shown.

Livingroom unit, on standy screen
Livingroom unit, on menu screen

I mounted multiple of these units in different places. They can be updated easily over-the-air.

Workbench unit
Bathroom unit

To get the LDR on the device to work properly, so the screen brightness can be adjusted to the environment lighting conditions, you need to modify the hardware a bit. I removed R19 and replaced R15 with a 100k resistor. The top board in the following image is in the original state, the bottom board has already been modified.

LDR resistor fix, top original, bottom modified

The CYD code has been integrated into my ESP-Env project and repo.