Waveshare ESP32-S3-LCD-1.85

Great job @matze19999 .

You should add your work to the ESPHome device database

1 Like

Thanks, this means much to me!
I will add it when I’m done with the code :slight_smile:

I have updated to ESPHome 2025.2.0 and now can’t compile. Erroring on this line:

  • source: github://pr#5230

external_components: [source /config/esphome/screen.yaml:30]

  • source: github://pr#5230
    components: esp_adf
    refresh: 0s

  • source:
    type: git
    url: GitHub - esphome/home-assistant-voice-pe: Home Assistant Voice PE
    ref: dev
    components:

    Could not find init.py file for component media_player. Please check the component is defined by this source (search path: /data/external_components/989fb39b/esphome/components/media_player/init.py).

    • media_player
    • nabu
    • voice_assistant

I was able to change the code around a little bit.

Moved media_player under github://pr#5230
external_components:

  • source: github://pr#5230
    components:
    • esp_adf
    • media_player
      refresh: 0s

Got rid of Nabu here and added microphone and micro_wake_word (didn’t do anything with them)

Also removed the whole media_player as it was referencing nabu.

I got it to compile under 2025.2.0 with the following changes. The display and media player work but I don’t see evidence that the wake word does.

external_components:
  - source:
      type: git
      url: https://github.com/esphome/home-assistant-voice-pe
      ref: dev
    components:
      - micro_wake_word
      - microphone
      - voice_assistant
    refresh: 1s

media_player:
  - platform: speaker
    name: Media Speaker
    id: speaker_media_player
    volume_increment: 0.05
    volume_min: 0.1
    volume_max: 1
    announcement_pipeline:
      speaker: i2s_speaker
      format: FLAC
      sample_rate: 48000
      num_channels: 2 

There are a couple of tweaks I needed to get mine working as the display wasn’t right. I had to add: " invert_colors: true".

display:
  - platform: qspi_dbi
    model: CUSTOM
    #lambda: |-
    #  auto touch = id(my_touchscreen)->get_touch();
    #  if (touch) // or touch.has_value()
    #    it.filled_circle(touch.value().x, touch.value().y, 10, RED);    
    # data_rate: 40MHz
    id: main_display
    spi_id: display_qspi
    color_order: rgb
    invert_colors: true
    dimensions:
      height: 360
      width: 360
    cs_pin: GPIO21
    reset_pin: 
      pca9554: pca9554a_device
      number: 1
    auto_clear_enabled: false #set to false for LVGL    
    init_sequence:
  ......

Also to get the media player work I had to tweak a few things because of the changes to the Voice Assistant code. Mostly removing components. I haven’t got wakeword working yet… but I was going to have a look at

Micro Wake Word no longer working with 2024.12.4 · Issue #6741 · esphome/issues (github.com):

external_components:
  - source: github://pr#5230
    components: 
      - esp_adf
    refresh: 0s
  

media_player:
  - platform: speaker
    name: Media Speaker
    id: speaker_media_player
    volume_increment: 0.05
    volume_min: 0.1
    volume_max: 1
    announcement_pipeline:
      speaker: i2s_speaker
      format: FLAC
      sample_rate: 48000
      num_channels: 2 

I’m using a slightly different version than that specified in this thread, but it looks like most of the pinouts are the same. Im using the Waveshare ESP32-S3-Touch-LCD-1.85C. I’ve just disabled the components [nabu, voice_assistant, media_palyer] section in my config. It seems to push just fine, but the screen doesn’t show anything and the web interface never seems to come up. I can still push to the device via wirelessly so it is on the network, but nothing is really working. Any ideas?

Hi, is there any update on this project? Just received mine and want to use it as a voice speaker like the “home assistant voice” :slight_smile:

I had mine working to the “proof of concept” phase, but that was before the updates, and I’ve been sidetracked since. But yes that’s my main goal as well, except I want to manually trigger it via a button rather than have the wake word.