New boards Wishlist

Guition ESP32-2432S024C [2.4" Capacitive Touch]

timasethSuggested this wish ·

Board or product name and model

Guition ESP32-2432S024C [2.4" Capacitive Touch]

Link to the product listing or datasheet

www.guition.comhttps://www.guition.com/esp32-display-module/esp32-development-board-screen

Display controller and resolution, if known

ILI9341

Touch controller, if known

cst816

Do you own this board and can test it?

Yes, I have it and can test

Anything else

Hi Max, Flashed 2 identical devices and workimg well for the past day or so. These are similar to the 2.8" CYD. 240 x 320 px over a 48.96 x 36.72 mm area (2.41" diagonal) = ~166 dpi Keep up the great work!!

Regards, Seth

Here is a working ESPhome yaml; hope it helps!

# Tessera (MaxGramser/homeassistant_espscreen) on a Guition ESP32-2432S024C (2.4", ILI9341 240x320, CST816/CST820 capacitive).
# There is no upstream board file for this panel, so the hardware is defined inline below.
substitutions:
  DEVICE_NAME: "tessera24a"
  DEVICE_FRIENDLY_NAME: "tessera24a"
  BOARD_ID: "cyd"
  FONT_DIR: "https://raw.githubusercontent.com/MaxGramser/homeassistant_espscreen/main/fonts"

  # Glass: 240 x 320 px over a 48.96 x 36.72 mm area (2.41" diagonal) = ~166 dpi.
  PANEL_W: "240"
  PANEL_H: "320"
  DISPLAY_DPI: "166"
  ROTATION_LANDSCAPE: "90"
  # Standing up (portrait): the panel's native orientation, a quarter turn from landscape.
  LVGL_ROTATION: "0"
  # 2x2 lying down and standing up: 6 cells are too small on a 2.4" glass.
  GRID_COLS: "2"
  GRID_ROWS: "2"
  GRID_COLS_PORTRAIT: "2"
  GRID_ROWS_PORTRAIT: "2"
  LVGL_BUFFER_SIZE: "12%"

  DISPLAY_MODEL: "ILI9341"
  DISPLAY_DATA_RATE: "40MHz"
  DISPLAY_INVERT_COLORS: "false"
  BACKLIGHT_FREQUENCY: "1000Hz"

  # Boot to the normal UI (set "true" to start on the touch test page).
  CALIBRATION_ON_BOOT: "false"

  wifiSSID: !secret wifi_ssid
  wifiPass: !secret wifi_password

wifi:
  ssid: $wifiSSID
  password: $wifiPass
  domain: !secret domain

packages:
  tessera:
    url: https://github.com/MaxGramser/homeassistant_espscreen
    ref: main
    refresh: 1d
    files:
      - packages/core.yaml
      - packages/hardware/esp-idf.yaml
      - packages/hardware/flash-4mb.yaml
      - packages/cells/4.yaml
      - packages/looks/compact.yaml
      - packages/features/capacitive-touch.yaml
      - packages/features/backlight.yaml
      - packages/features/self-test.yaml
      - packages/features/rgb-led.yaml

external_components:
  - source:
      type: git
      url: https://github.com/MaxGramser/homeassistant_espscreen.git
      ref: main
      path: components
    refresh: 1d
    components: [flash_layout, smart_display]

esp32:
  board: esp32dev
  framework:
    advanced:
      sram1_as_iram: true
  variant: esp32

spi:
  - id: lcd
    clk_pin: GPIO14
    mosi_pin: GPIO13
    miso_pin: GPIO12

output:
  - platform: ledc
    pin: GPIO27
    id: gpio_backlight_pwm
    frequency: ${BACKLIGHT_FREQUENCY}
  # RGB LED, common anode (lit at a low level)
  - platform: ledc
    id: output_red
    pin: GPIO4
    inverted: true
  - platform: ledc
    id: output_green
    pin: GPIO16
    inverted: true
  - platform: ledc
    id: output_blue
    pin: GPIO17
    inverted: true

# Capacitive touch: same pins and driver as the recovered working config (no interrupt/reset pin was set there).
i2c:
  - id: touch_i2c
    sda: GPIO33
    scl: GPIO32
    scan: true

touchscreen:
  - platform: cst816
    id: ts_touch
    i2c_id: touch_i2c
    transform:
      swap_xy: ${TOUCH_SWAP_XY}
      mirror_x: ${TOUCH_MIRROR_X}
      mirror_y: ${TOUCH_MIRROR_Y}

display:
  - platform: mipi_spi
    id: my_display
    spi_id: lcd
    model: ${DISPLAY_MODEL}
    data_rate: ${DISPLAY_DATA_RATE}
    cs_pin: 15
    dc_pin: 2
    invert_colors: ${DISPLAY_INVERT_COLORS}
    update_interval: never
    auto_clear_enabled: false
    # Native portrait pixels; LVGL does the rotation (ROTATION_LANDSCAPE), never a display transform.
    dimensions:
      width: 240
      height: 320

Originally shared on GitHubOriginal authors and dates are preserved.

View original

Discussion 0

Add a comment

Start the conversation

Share an example, ask a question or explain how you would use this.

Add your thoughts, a screenshot or a useful link.

Markdown & basic HTML
Paste or drop images · URLs on their own line become previews0 / 10,000
Sign in with GitHub to commentYour draft stays in this browser tab.