New boards Wishlist

Sunton CYD 3.5" ESP32-3248S035R / 035C (ST7796, 480×320)

aalaeiSuggested this wish ·

The configuration above is tested on my board, so it should be close to what Tessera needs. The capacitive (C) pins mentioned there are still unverified.

Hardware testing

We often do not have this board ourselves. Community testing helps establish what actually works. A successful report is evidence for the maintainer to review, not an automatic compatibility claim.

Board details & configuration
Model
Sunton ESP32-3248S035R (resistive touch). The ESP32-3248S035C (capacitive) is the same board with a different touch controller.
Chip, RAM and flash
ESP32-D0WD-V3 (rev3), 240 MHz, 520 KB SRAM, no PSRAM, 4 MB flash
Display and touch
ST7796 SPI, 480×320, 3.5" TN. R version: XPT2046 resistive touch. C version: GT911 capacitive touch over I2C.
Already tried
I’ve had this board running in ESPHome with LVGL (landscape 480×320, esp-idf). Display (mipi_spi, ST7796 at 80 MHz), XPT2046 touch with calibration, backlight PWM on GPIO27, the RGB LED and the light sensor on GPIO34 all worked. The configuration below is that tested setup with secrets removed. The board also runs openHASP 0.7.0.1 (esp32-3248s035r_4MB).
Configuration status
working
View shared configuration
# Tested on Sunton ESP32-3248S035R (resistive) with ESPHome + LVGL
# Display, touch, backlight, RGB LED and light sensor working
esp32:
  board: esp32dev
  framework:
    type: esp-idf

api:
  encryption:
    key: !secret api_key
ota:
  - platform: esphome
    password: !secret ota_password
wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

spi:
  - id: spi_display          # display and XPT2046 share one bus
    clk_pin: GPIO14
    mosi_pin: GPIO13
    miso_pin:
      number: GPIO12
      ignore_strapping_warning: true

output:
  - platform: ledc
    pin: GPIO27
    id: backlight_pwm
  - platform: ledc
    id: led_r
    pin: { number: GPIO4, inverted: true }
  - platform: ledc
    id: led_g
    pin: { number: GPIO17, inverted: true }
  - platform: ledc
    id: led_b
    pin: { number: GPIO16, inverted: true }

light:
  - platform: monochromatic
    id: backlight
    name: Display Backlight
    output: backlight_pwm
    restore_mode: ALWAYS_ON
  - platform: rgb
    name: Board RGB
    red: led_r
    green: led_g
    blue: led_b

display:
  - platform: mipi_spi
    model: ST7796
    id: main_display
    spi_id: spi_display
    data_rate: 80MHz
    cs_pin: { number: GPIO15, ignore_strapping_warning: true }
    dc_pin: { number: GPIO2, ignore_strapping_warning: true }
    dimensions: { width: 480, height: 320 }
    rotation: 0
    transform: { swap_xy: true, mirror_x: false, mirror_y: false }
    invert_colors: false
    auto_clear_enabled: false

touchscreen:
  platform: xpt2046
  id: my_touchscreen
  spi_id: spi_display
  cs_pin: GPIO33
  interrupt_pin: GPIO36
  threshold: 40
  calibration: { x_min: 208, x_max: 3823, y_min: 282, y_max: 3835 }
  transform: { swap_xy: true, mirror_x: true, mirror_y: false }

sensor:
  - platform: adc            # onboard light sensor (LDR)
    pin: GPIO34
    id: board_ldr
    update_interval: 100ms
    internal: true

lvgl:
  displays:
    - main_display

3 owners have volunteered to test.

Sign in to volunteer

Discussion 1

Add a comment
atsakir

· Edited

Mine is the Capacitive touch one and the working touchscreen config is as follows:

i2c:
  sda: 33
  scl: 32
  scan: true
  id: bus_a   
# SPI bus for TFT display and touch controller
spi:
  - id: spi_tft
    clk_pin: GPIO14
    mosi_pin: GPIO13
    miso_pin: GPIO12 
touchscreen:
  - platform: gt911
    id: my_touchscreen
    reset_pin: GPIO25
    transform:
      mirror_x: false
      mirror_y: true
      swap_xy: true
    update_interval: 50ms

Otherwise, everything else is the same as in @aalaei's config

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
Create your account to join in

We need a verified email address to reach you about your contribution. Your address stays private.

Continue with GitHub

Your draft stays in this tab. Return here after verification.