New boards Wishlist
Guition-ESP32-S3-JC3248W535 support
Hi,
i tinkered a little with my JC3248W535 display. It has the same resolution as the Waveshare 3.5", but provides QSPI display and PSRAM with 16MB storage. So far I could get it to boot and show the new tessera logo 😃 Display works, dimming is fine, the only blocker is the display prompting me to update the add-on because of config problems. https://www.guition.com/esp32-display-module/3-5-inch-esp32s3-display-module
My testing config:
esphome:
name: esp-screen-test
friendly_name: "35 Display Test"
esp32:
board: esp32-s3-devkitc-1
framework:
type: esp-idf
flash_size: 16MB
logger:
tx_buffer_size: 2048
hardware_uart: UART0
text_sensor:
- platform: template
name: "Guition screen type"
entity_category: diagnostic
update_interval: never
lambda: 'return {"guition"};'
substitutions:
FONT_DIR: "https://raw.githubusercontent.com/MaxGramser/homeassistant_espscreen/main/fonts"
PANEL_W: "480"
PANEL_H: "320"
DISPLAY_DPI: "165"
DEVICE_FRIENDLY_NAME: "Guition 35 Display"
LVGL_BUFFER_SIZE: "25%"
BACKLIGHT_FREQUENCY: "150Hz"
ROTATION_LANDSCAPE: "90"
GRID_COLS: "2"
GRID_ROWS: "2"
GRID_COLS_PORTRAIT: "1"
GRID_ROWS_PORTRAIT: "3"
external_components:
- source:
type: git
url: https://github.com/MaxGramser/homeassistant_espscreen.git
ref: main
path: components
refresh: 0s
components: [smart_display]
packages:
tessera_core:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/core.yaml
refresh: 0s
hardware:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/hardware/esp32s3-rgb.yaml
cells:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/cells/4.yaml
look:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/looks/standard.yaml
touch:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/features/capacitive-touch.yaml
backlight:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/features/backlight.yaml
camera:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/features/camera.yaml
self_test:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/features/self-test.yaml
snapshot:
url: https://github.com/MaxGramser/homeassistant_espscreen
ref: main
file: packages/features/snapshot.yaml
sensor:
- platform: adc
pin: GPIO5
name: "Battery Voltage"
id: battery_voltage
icon: mdi:battery
entity_category: diagnostic
attenuation: 12db
update_interval: 30s
samples: 16
filters:
- multiply: 1.72
spi:
- type: quad
clk_pin: 47
data_pins: [21, 48, 40, 39]
i2c:
sda: 4
scl: 8
frequency: 400kHz
touchscreen:
- platform: axs15231
id: ts_touch
display: my_display
update_interval: 30ms
display:
- platform: mipi_spi
model: JC3248W535
id: my_display
data_rate: 40MHz
update_interval: never
auto_clear_enabled: false
output:
- platform: ledc
id: gpio_backlight_pwm
pin: GPIO1
frequency: ${BACKLIGHT_FREQUENCY}
min_power: 0.01
zero_means_zero: true
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
api:
encryption:
key: !secret esp_screen_test__encryption_key
ota:
- platform: esphome
encryption:
Discussion 3
Add a commentThanks for trying this, and for sharing your config! It helped a lot.
Why no tiles reached your screen. Your YAML is missing two substitutions that a board file normally sets:
DEVICE_NAME: the shared core reports it in the Device name sensor. Without it the sensor reads the literal text${DEVICE_NAME}, so Tessera can't find the screen's message action and never gets an answer from it. That is why the editor kept saying it was waiting for the screen to reconnect, while the settings still worked (they go through normal Home Assistant entities).BOARD_ID: without it Tessera fell back to your "Guition screen type" sensor and treated the screen as the 4-inch 480 x 480 Guition. Please remove that sensor.The JC3248W535 is now an experimental board in release 0.3.25. Update the Tessera Screen Manager app, then choose Guition · 3.5 inch (JC3248W535) in New screen. If you'd rather keep your own YAML, include the package instead of the separate parts:
That sets
BOARD_IDfor you. It uses ESPHome's ownJC3248W535display model and theaxs15231touch, with your pins. It also enables the octal PSRAM, so camera tiles and pictures work on this board. The layout is the same as the Waveshare 3.5-inch: two by two lying down, one by three standing up. Your battery sensor on GPIO5 isn't in the board file, so keep that in your own YAML.It builds and passes our rendered self test, but we don't have this board ourselves. Could you tell us:
TOUCH_MIRROR_X,TOUCH_MIRROR_YorTOUCH_SWAP_XYin your YAML fixes it. Tell us which one, and we'll make it the default.docs/JC3248W535.md has the details.
Got a screen running? Tell others which board you have and what works on the Tessera website. It helps everyone pick a screen that works.
Like my work? Consider buying me a coffee, much appreciated!
Original on GitHub
I updated the app and installed the screen fresh from scratch, it works perfectly fine, no changes needed.
I previously tinkered with the screen and board IDs, but even with waveshare35 it didn't accept the config. Super cool to have this screen working now 🥳
Original on GitHub
That's great to hear, thanks a lot for testing it and for the screenshots! The numbers look healthy: about 142 KB of heap free after 16 minutes with a camera tile on the page is plenty of room.
Because of your report, the JC3248W535 is now marked as new instead of experimental, as of release 0.4.7, so others can pick it with a bit more confidence.
If you run into anything else, for example standing the screen up or the backlight dimming, just let us know here.
Got a screen running? Tell others which board you have and what works on the Tessera website. It helps everyone pick a screen that works.
Like my work? Consider buying me a coffee, much appreciated!
Original on GitHub