Elecrow CrowPanel 7" with ESPHome

I have V3 of the above device and like others are struggling to get a stable display that does not flicker or blank the screen every few minutes.

Just wanted to see if anyone else has had any luck as its a great device??
https://www.elecrow.com/esp32-display-7-inch-hmi-display-rgb-tft-lcd-touch-screen-support-lvgl.html

I am aware that others have tried but given up when using an earlier version and of course I have tried all code that I found on the web including from the manufacturer which is also not stable.

I also have the 5" version and this works perfectly with ESPHome & LVGL.

I believe the issue is due to support for different display drivers, but this is beyond my technical ability.

Thanks for any help… currently its a great bookend!

It seems to be compatible with openhasp, so give that a go.

In fact their advertising even says so. Happy days

Thanks for the hint… I know nothing about openhasp, but perhaps this is something I can look at if all else fails!!
Cheers

Curious if this helps

This config works well. I am underwhelmed by the display though - it has a very poor viewing angle and the pixels are not quite square so the aspect ratio is wrong - images are slightly squashed vertically. The Waveshare 7" display is much nicer.

esphome:
  name: elecrow-crowpanel-70-rgb
  friendly_name: Elecrow CrowPanel 7.0 RGB
  platformio_options:
    board_build.flash_mode: dio

esp32:
  board: esp32-s3-devkitc-1
  framework:
    type: esp-idf
    platform_version: 6.8.1
    version: 5.3.0
    sdkconfig_options:
      CONFIG_ESP32S3_DEFAULT_CPU_FREQ_240: "y"
      CONFIG_ESP32S3_DATA_CACHE_64KB: "y"
      CONFIG_SPIRAM_FETCH_INSTRUCTIONS: y
      CONFIG_SPIRAM_RODATA: y

psram:
  mode: octal
  speed: 80MHz

logger:
  hardware_uart: UART0

wifi: !include wifi.yaml

i2c:
  sda: 19
  scl: 20

display:
  - platform: rpi_dpi_rgb
    data_pins:
      red: [14, 21, 47, 48, 45]
      green: [9, 46, 3, 8, 16, 1]
      blue: [15, 7, 6, 5, 4]
    de_pin: 41
    hsync_pin: 39
    vsync_pin: 40
    pclk_pin: 0
    hsync_front_porch: 40
    hsync_pulse_width: 48
    hsync_back_porch: 13
    vsync_front_porch: 1
    vsync_pulse_width: 31
    vsync_back_porch: 13
    pclk_inverted: true
    pclk_frequency: 15MHz
    color_order: RGB
    auto_clear_enabled: false
    update_interval: never
    dimensions:
      width: 800
      height: 480

touchscreen:
  platform: gt911
  interrupt_pin: 38

output:
  - platform: ledc
    pin: 2
    id: backlight_pin

light:
  - platform: monochromatic
    output: backlight_pin
    name: "Backlight Level"
    restore_mode: RESTORE_DEFAULT_ON
    gamma_correct: 1.8

lvgl:
4 Likes

Hi

i am having som issue with the 5inch.

I can get the screen to work with the board: esp32-s3-devkitc-1, but the touch function is not working. with the esp32s3box board, i am getting the touch to function but not the screen.

som ide on whay?

For anyone struggling to setup the Elecrow CrowPanel 7" with the ESPHome, I actually made it work and seems pretty stable so far. I have added a link to instructions in another similar post..

Or you can check the instructions directly.

3 Likes

Hello,

the touchscreen seems buggy for me…sometimes it doesnt work after power on.

i found some guys put the adress of I2C like address: 0x5D but it doesnt work well.

here is my config, hope its not the sleeping mode that make it buggy :

touchscreen:
  platform: gt911
  id: my_touchscreen
#  address: 0x5D
  display: my_display
  interrupt_pin: 38
  on_touch:
    - if:
        condition: lvgl.is_paused
        then:
          - light.turn_on: back_light
          - lvgl.resume:
          - lvgl.widget.redraw:
    - logger.log:
          format: Touch at (%d, %d)
          args: [touch.x, touch.y]
    - lambda: |-
          ESP_LOGI("cal", "x=%d, y=%d, x_raw=%d, y_raw=%0d",
              touch.x,
              touch.y,
              touch.x_raw,
              touch.y_raw
              );

perhaps i will try without the debug part like this :

touchscreen:
  platform: gt911
  id: my_touchscreen
#  address: 0x5D
  display: my_display
  interrupt_pin: 38
  on_touch:
    - if:
        condition: lvgl.is_paused
        then:
          - light.turn_on: back_light
          - lvgl.resume:
          - lvgl.widget.redraw:

dont know if it will make a diffrence…nobody experience problem with touchscreen?

EDIT : same problem without logger.

strange thing is 2 I2c adress are detected :

[18:03:08][I][i2c.idf:102]: Results from i2c bus scan:
[18:03:08][I][i2c.idf:108]: Found i2c device at address 0x18
[18:03:08][I][i2c.idf:108]: Found i2c device at address 0x5D

i have read a lot of comments and elecrow team said 0x5D is the adress of the touchscreen, but why 0x18 is detected and what hardware is it???

the problem seems really random, i try several usb cable and power source…really random…sure its a starting problem with software, not hardware.

according to the schematic 0x18 is the address of the PCA9557 I/O expander.

1 Like

Perhaps not related but i deleted the encryption part on the API and it seems to work better

There is a lot time the touchscreen still doesnt work and need to restart.

It seems i have to wait 10 or 20 seconds after the esp is power on and have all his sensors from HA updated…i have 28 lights, 5 covers.