About the CYD (Cheap Yellow Display)
A complete guide to the CYD family — variations, hardware, pinout, software stack, and references.
What is a CYD?
The Cheap Yellow Display (CYD) is the popular community name for ESP32-based boards that combine a microcontroller with a colour TFT touchscreen in one unit. The best-known model is the ESP32-2432S028 (2.8″ screen, 240×320), but several variations exist — different screen sizes, touch technologies, and connectors. They share the same appeal: build dashboards, status displays, and control panels without wiring a separate screen.
Because the display and ESP32 are on one board, you can build a full GUI device (e.g. a Home Assistant monitor) by flashing firmware and connecting to Wi‑Fi — no soldering or complex wiring required. You can buy a CYD on Amazon and be up and running the same day.
CYD variations
Not all “CYD-style” boards are identical. When buying or configuring a CYD, check these aspects — they affect compatibility with cases, cables, and firmware (including this site’s config generator).
Screen size and resolution
Boards are sold in different physical sizes and resolutions. Model numbers often encode size (e.g. S028 ≈ 2.8″, S035 ≈ 3.5″). Common variants:
- 2.4″ — Smaller, often 240×320; some use ILI9341 or ST7789.
- 2.8″ (e.g. ESP32-2432S028) — The most common “CYD”: 240×320, usually ILI9341. This project’s config generator and HAMon are designed for this size and resolution.
- 3.2″ / 3.5″ — Larger panels (e.g. 320×480); may use ILI9486, ILI9488, or other drivers. Pinouts and ESPHome config differ from the 2.8″ boards.
If you have a different size or resolution, you may need to adjust display dimensions and driver in ESPHome; the pinout and touch type still matter (see below).
Touch screen type
Touch is either resistive (SPI) or capacitive (I2C). The driver and GPIOs are different, so firmware must match your board:
- XPT2046 — Resistive touch over SPI. Shares the display’s SPI bus with a separate chip-select (e.g. GPIO 33). Backlight is often on GPIO 21. This is the “SPI touch” preset in our config generator.
- CST816 — Capacitive touch over I2C (e.g. SDA 33, SCL 32). Newer/revision boards often use this. Backlight is often on GPIO 27. This is the “I2C touch” preset in our config generator.
- Some boards use other controllers (e.g. GT911). You’ll need the correct ESPHome touch component and pinout for your specific module.
If touch or backlight behaves oddly, confirm whether you have the SPI (XPT2046) or I2C (CST816) variant and select the matching preset or custom pins.
Display controller
Most 2.8″ CYD boards use the ILI9341 TFT controller. Other sizes may use ST7789, ILI9488, ILI9486, or similar. In ESPHome you choose the matching display platform (e.g. ili9xxx with model: ili9341). Our generator assumes ILI9341 for the 2.8″ 240×320 layout.
USB connector
Boards are sold with Micro-USB or USB-C. USB-C is preferred for new purchases: easier cabling and many 3D-printed cases (e.g. the Aura Smart Display case) are designed for the USB-C port. Adapters (e.g. 90° USB-C) help with cable routing. Our Amazon link points to the USB-C version.
What this site targets
The Config Generator and HAMon firmware on this site are aimed at 2.8″ 240×320 ILI9341 boards with either XPT2046 (SPI touch) or CST816 (I2C touch). If you have a different size or display driver, you can still use the generator as a starting point and adjust the generated YAML (display model, dimensions, touch component, and pins) to match your hardware.
Hardware Overview
The CYD integrates several components on a single PCB. The diagram below shows how the main blocks connect.
ESP32 drives the display over SPI (HSPI) and reads touch via SPI (XPT2046) or I2C (CST816 depending on variant). RGB LED, microSD, and LDR are optional peripherals.
Component Breakdown
| Component | Details |
|---|---|
| Board | ESP32-2432S028 (CYD). Get the USB-C version for modern cables and case compatibility. |
| MCU | ESP32-WROOM-32 (dual-core 240 MHz, WiFi 802.11 b/g/n, Bluetooth 4.2). |
| Display | ILI9341 2.8″ TFT, 240×320 RGB, 18-bit colour, SPI (HSPI). Backlight typically GPIO 21 or 27. |
| Touch | XPT2046 (resistive, SPI) on most boards; some variants use CST816 (capacitive, I2C). Check your board label. |
| RGB LED | Red GPIO 4, Green GPIO 16, Blue GPIO 17 (active low). Can show status at a glance. |
| microSD | Optional slot for logging or assets (e.g. fonts). |
| LDR | Light-dependent resistor for automatic backlight dimming in software. |
Pinout Reference
Pin assignments can vary slightly by manufacturer and revision. The config generator on this site offers presets for common variants (SPI touch / I2C touch). Typical values:
| Function | GPIO | Notes |
|---|---|---|
| TFT CLK | 14 | HSPI SCK |
| TFT MOSI | 13 | HSPI MOSI |
| TFT MISO | 12 | HSPI MISO (optional) |
| TFT CS | 15 | Chip select |
| TFT DC / RS | 2 | Data/command |
| Backlight | 21 | Or 27 on some I2C touch boards |
| Touch (XPT2046) | — | Shares HSPI; separate CS (e.g. 33) |
| Touch (CST816 I2C) | SDA 18, SCL 19 | I2C touch variant |
| RGB LED R / G / B | 4, 16, 17 | Active low |
Software Stack
With ESPHome and LVGL, the CYD can run a rich UI (clocks, sensor tiles, dashboards) and talk to Home Assistant over the native API. Data flow:
Typical Use Cases
- Home Assistant monitor — Clock, date, and 6–8 entity tiles (doors, motion, energy, temperature) with colour-coded status. This site’s config generator targets this layout.
- Smart home control panel — Buttons and switches to control lights, scenes, and automations via HA.
- Weather / info dashboard — Forecast, calendar, or RSS feed displayed on the CYD.
- Prototyping — LVGL demos, custom UIs, or learning ESP32 + display without separate wiring.
Reference Links
Official docs, community projects, and where to buy the CYD.
- Buy CYD on Amazon (affiliate) — 2.8″ ILI9341 CYD board (USB-C). Affiliate link; supports this project.
- ESPHome — Firmware and YAML-based configuration for ESP devices.
- ESPHome ILI9341 display — Official display component docs.
- Home Assistant — Open-source home automation; entities feed the CYD dashboard.
- CYD-ESPHome-HA-Monitor (GitHub) — This project: HAMon config and YAML generator.
- CYD Smart Dashboard (drrcastro) — Community inspiration for CYD + HA dashboards.
- ESP32 (Espressif) — MCU reference from Espressif.
- ILI9341 datasheet — TFT controller reference (external PDF).
Ready to configure your CYD?
Use the Config Generator to build your ESPHome YAML visually — no need to edit YAML by hand. Pick sensors, GPIO presets, and copy the result into ESPHome.