ESPHome and Elecrow CrowPanel 7.0"

ESPHome and Elecrow CrowPanel 7.0"

I’ve finally managed to display something using ESPHome on my Elecrow CrowPanel 7.0" hardware version 2.1:

#-------------------------------------------
# Touchscreen gt911 i2c
#-------------------------------------------
touchscreen:
  platform: gt911
  id: my_touchscreen
  display: my_display
  interrupt_pin: 38

i2c:
  sda: 19
  scl: 20
  scan: true

display:
  - platform: rpi_dpi_rgb
    id: my_display
    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: 8500000

    color_order: RGB

    auto_clear_enabled: false
    update_interval: 5s
    dimensions:
      width: 800
      height: 480

    lambda: |-
      auto black = Color(0, 0, 0);
      auto red = Color(255, 0, 0);
      auto green = Color(0, 255, 0);
      auto blue = Color(0, 0, 255);
      auto white = Color(255, 255, 255);
      it.filled_circle(20, 32, 15, black);
      it.filled_circle(40, 32, 15, red);
      it.filled_circle(60, 32, 15, green);
      it.filled_circle(80, 32, 15, blue);
      it.filled_circle(100, 32, 15, white);

Doc preview: RPI_DPI_RGB Display Driver, section Elecrow CrowPanel 7.0” 800x480

Is there any chance you could please share the rest of the YAML for your testing?

I’ve successfully compiled and uploaded, but blank screen on the display still. I suspect my board type is set wrong or the backlight isn’t being turned on.

1 Like

I have a similar problem. the screen is black and nothing is displayed.
I think it might be important - I have version v3.0, and you?

I tried to install open hasp and I succeeded, some kind of night release, https://nightly.openhasp.com

1 Like

I have hardware version 2.1.

Apparently, there are some features in v3.0. Anyway, I’m glad that I came across OpenHASP, a cool thing.

1 Like

I also have 2.1. Can you please share the full yaml with the esp32/platform version you are using?

The display is not stable. You have to wait a long time. It doesn’t work every time.

esphome:
  name: elecrow-crowpanel-70-rgb
  friendly_name: Elecrow CrowPanel 7.0 RGB

  platformio_options:
    # see https://community.home-assistant.io/t/esp32-with-esp-idf-framework-running-into-a-boot-loop/567305/11
    board_build.flash_mode: dio

    # see https://community.home-assistant.io/t/esp32-s3-devkitc-1-n16r8-using-psram-howto/652601
    build_flags: "-DBOARD_HAS_PSRAM"

esp32:
  board: esp32-s3-devkitc-1
  framework:
    #type: arduino
    type: esp-idf

psram:
  mode: octal
  speed: 80MHz

# Enable logging
logger:
  level: DEBUG

# Enable Home Assistant API
api:
  encryption:
    key: "*************"

ota:
  - platform: esphome
    password: "***********"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # see https://www.reddit.com/r/Esphome/comments/13ee5n8/comment/jjptvux/
  power_save_mode: none

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Elecrow-Crowpanel-70-Rgb"
    password: "vPeb0A44Lpq1"

captive_portal:


i2c:
  sda: 19
  scl: 20
  scan: true

display:
  - platform: rpi_dpi_rgb
    id: disp0
    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: 8500000

    color_order: RGB

    auto_clear_enabled: false
    update_interval: 5s
    dimensions:
      width: 800
      height: 480

    show_test_card: true

    lambda: |-
      auto black = Color(0, 0, 0);
      auto red = Color(255, 0, 0);
      auto green = Color(0, 255, 0);
      auto blue = Color(0, 0, 255);
      auto white = Color(255, 255, 255);
      it.filled_circle(20, 32, 15, black);
      it.filled_circle(40, 32, 15, red);
      it.filled_circle(60, 32, 15, green);
      it.filled_circle(80, 32, 15, blue);
      it.filled_circle(100, 32, 15, white);

touchscreen:
  platform: gt911
  id: touch0
  display: disp0
  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

sensor:
  - platform: wifi_signal # Reports the WiFi signal strength/RSSI in dB
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"
2 Likes

@lboue Is it still unstable?

Yes, it’s always unstable. I’ve given up.

I have a different device using the same display driver and it is also unstable… except I found someone using specific / older versions which helped a lot with my device. Maybe try this on yours:

esp32:
  ...
  framework:
    type: esp-idf
    # these versions prevent artifacting
    version: 5.1.2
    platform_version: 6.5.0
    ...

See Elecrow CrowPanel 7" with ESPHome - #5 by clydebarrow

Hi
i also tried to use openHASP wtih my Crowpanel 7.0 Version 3
everything works, but not the touch
then I built my own build here, but unfortunately without success.
Touch didn’t work with my own build either.

Touchsettings in crowpanel-hmi.ini
see openHASP/user_setups/esp32s3/crowpanel-hmi.ini at 355e1dbddaf65b555de4c2ee94b627760b9e9e45 · HASwitchPlate/openHASP · GitHub

But I have the exact values as in ESPHome where the same touchpanel works
; Touch Settings
-D HASP_USE_LGFX_TOUCH=1
-D TOUCH_WIDTH=800
-D TOUCH_HEIGHT=480
-D TOUCH_DRIVER=0x911
-D TOUCH_SCL=20
-D TOUCH_SDA=19
-D TOUCH_IRQ=-1
-D TOUCH_RST=-1
-D I2C_TOUCH_ADDRESS=0x5D
-D I2C_TOUCH_FREQUENCY=400000

are similar to ESPHome Settings

for Touch

i2c:
sda: 19
scl: 20
touchscreen:
platform: gt911
id: LCD_touchscreen
display: main_display
update_interval: 50ms
address: 0x5D

if i run mqtt publish to the device
hasp/crowpanel_7/state/statusupdate
the rsponse is

“tftDriver”: “Other”,

Do you have success with the touch ?
Regards Oliver
#openhasp

Hello, for anyone still trying to setup the Elecrow CrowPanel 7" with the ESPHome, after some debugging and research, we have written an article on how to make it work

The culprit is mostly that i needs additional configuration for vsync and hsync, which is not provided in the official documentation.

The touch screen is also functioning properly and I am able to adjust the screen backlight’s brightness. In case anyone’s interested, you can read here.

So it’s not necessary to fall back to openHASP.

1 Like