Guition esp32-p4-jc1060p470

thanks a lot for your advises.
while playing around with settins I found out that at least wifi: power_save_mode: NONE changes the behavior when setting brightness in HA is gone. Now this is setted just in time without the 10sec delay like before. So this is one point, got resolved for now.

first connection to the device logs takes still a long time. I have this problem as well with ESP8266 devices.

  1. it is not too close to the routers antenna, but there are other devices near as well. but this should not be the point, because the other devices are all fine.
  2. without checking ping and packet drops, I think it must be good because when I’m uploading OTA, transmission is very very fast for a ESP32.
  3. no shielding at all, device is original in plastic case only.
  4. HA server is fine, connected by LAN.

I think it is the power save mode making the device switching connection in different standards like 20 MHz, HE-MCS 6, HE-NSS 1 actually it should connect in Short GI but it does not.
Could be that OpenWRT is the problem, since newest 25.12.0 releases. Many people where talking about WiFi problems.

The one on github is a bit out of date - I’ve uploaded my current one where I’m playing with the voice settings more than LVGL bits (using the home assistant voice preview edition repo for ideas, rather than researching it myself - my year sabbatical has ended, so way less time).

That said - it’s a hobby project and still very much WIP.

I’d suggest looking at other folks work, for example GitHub - agillis/esphome-modular-lvgl-buttons: A modular LVGL button platform for ESPHome · GitHub where the repo is designed to get you up and running on different types of touch displays.

There are others around (sorry for not including them all!) but best of luck, and looks like you’ve sorted some problems - plus you’re in great hands with @clydebarrow.

Will still check the forums to see what other ideas folks have for these devices.

Thanks,
Charlie

1 Like

cam_dev->name=OV02C10 device at address 0x36

I have made a separate thread of the black version (JC1060P470C-I-W-Y) Esp32 - JC1060P470C-I-W-Y since I have (I think) an other issue

Hi together,

first of all: Thank you for sharing you knowledge here. It helped me a lot to get the display running. I would like to share a link, that was mentioned in the display ‘handbook’ attached to my device: ZFile
Download the ZIP file for your board: JC1060P470C_I_W_Y.zip in my case. The ZIP file contains a lot of useful material: Schematic, demos, tools… espacially the schematic was really usefull for me. The same material also seems to be available for several other boards and board versions.

Best regards
MitchIsFree

I have the JC1060P470 bare PCB. Boot log shows esp32p4-eco2-20240710. Getting Guru Meditation Error: Illegal instruction on every flash attempt with ESPHome 2026.5.2. Has anyone got this working with an ECO2 chip revision?

That is a common esp32p4 chip and should not be an issue.

upgrade to esphome 2026.5.3 and try installing this code via USB

This could also be a USB issue so try it from a different computer as well.

1 Like

After many hours of debugging I finally got the Guition JC1060P470 7" display working with ESPHome 2026.5.2. Posting this for anyone with the same board who hits the same issues.

The problems I encountered:

  1. Guru Meditation Error: Illegal instruction — caused by missing engineering_sample: true for ECO2/rev1.0 chips
  2. No logs at all — the logger must use hardware_uart: USB_SERIAL_JTAG and the cable must be in the USB HIGH SPEED port, NOT the USB UART port
  3. Display stays dark — psram and CONFIG_SPIRAM_XIP_FROM_PSRAM are required for the app to start
  4. Touch not working — interrupt_pin: GPIO21 must be specified without mode: override

Minimal working config:

esphome:
  name: guition-display
  friendly_name: Guition Display
  on_boot:
    - priority: 800
      then:
        - lambda: |-
            gpio_set_direction(GPIO_NUM_27, GPIO_MODE_OUTPUT);
            gpio_set_level(GPIO_NUM_27, 0);
            vTaskDelay(pdMS_TO_TICKS(5));
            gpio_set_level(GPIO_NUM_27, 1);
            vTaskDelay(pdMS_TO_TICKS(10));
            gpio_set_level(GPIO_NUM_27, 0);
            vTaskDelay(pdMS_TO_TICKS(120));
            gpio_set_direction(GPIO_NUM_22, GPIO_MODE_OUTPUT);
            gpio_set_level(GPIO_NUM_22, 0);
            vTaskDelay(pdMS_TO_TICKS(10));
            gpio_set_level(GPIO_NUM_22, 1);
            vTaskDelay(pdMS_TO_TICKS(100));
    - priority: -100
      then:
        - delay: 2s
        - light.turn_on: backlight
        - lvgl.resume:
        - lvgl.widget.redraw:

esp32:
  variant: ESP32P4
  engineering_sample: true
  cpu_frequency: 360MHz
  flash_size: 16MB
  framework:
    type: esp-idf
    advanced:
      enable_idf_experimental_features: yes
    sdkconfig_options:
      CONFIG_SPIRAM_XIP_FROM_PSRAM: "y"

psram:
  speed: 200MHz

esp32_hosted:
  variant: ESP32C6
  reset_pin: 54
  cmd_pin: 19
  clk_pin: 18
  d0_pin: 14
  d1_pin: 15
  d2_pin: 16
  d3_pin: 17
  active_high: true

esp_ldo:
  - channel: 3
    voltage: 2.5V

logger:
  baud_rate: 115200
  hardware_uart: USB_SERIAL_JTAG

api:

ota:
  - platform: esphome
    password: "your_password"

wifi:
  ssid: "your_ssid"
  password: "your_password"
  ap:
    ssid: "Fallback"
    password: "12345678"

i2c:
  - id: bus_a
    sda: GPIO7
    scl: GPIO8
    frequency: 400kHz

output:
  - platform: ledc
    pin: GPIO23
    id: backlight_pwm
    frequency: 100Hz
    min_power: 0.03
    zero_means_zero: true

light:
  - platform: monochromatic
    output: backlight_pwm
    name: Backlight
    id: backlight
    restore_mode: RESTORE_DEFAULT_ON

display:
  - platform: mipi_dsi
    model: JC1060P470
    id: my_display
    update_interval: never
    auto_clear_enabled: false
    reset_pin: GPIO05
    rotation: 90

touchscreen:
  - platform: gt911
    id: my_touch
    display: my_display
    address: 0x5D
    update_interval: 50ms
    reset_pin: GPIO22
    interrupt_pin: GPIO21

Key findings:

  • Chip: ESP32-P4 rev1.0 (shown as esp32p4-eco2-20240710 in boot ROM)
  • engineering_sample: true is required for rev1.0
  • Logger only works via USB HIGH SPEED port (USB_SERIAL_JTAG), not USB UART
  • PSRAM + CONFIG_SPIRAM_XIP_FROM_PSRAM required for app startup
  • GT911 touch works with interrupt_pin: GPIO21 (no mode override)
  • Display reset sequence in on_boot is required

Hope this helps others!

Note: Another solution has been posted suggesting ESPHome 2026.5.3 with the modular YAML from agillis. Both approaches should work — my config is tested on 2026.5.2 with ECO2 rev1.0.