GUITION 4" 480x480 ESP32-S3-4848S040 Smart Display with LVGL

This board is square so that won’t exist.

If you want a different size, tell us what size.

There a number of boards mentioned at Getting Started - openHASP

Yes Ive seen the Openhasp list already - hence why Ive posted here.

Something like the elecrow 5" but with built in relays. ESP32 display-5.0 Inch HMI Display 800x480 RGB TFT LCD Touch Screen Compatible with Arduino/LVGL

I dont want to kludge a relay module into the back of the distro board.

TBH its a 1:1 drop in replacement for a thermostat that is “consumer facing” which is why I want an escutcheon (looks good) and “drop in” replaces the existing thermostat and esphome can run on its own (No openhasp).

The in-situ application needs a “slightly larger” screen size.

Thanks for sharing this.

I am having huge problems with this device.
I have tried to follow the initial instructions and all I get is the ‘single icon’ view and nothing else. I tried to copy the fonts file + images to esphome/config/fonts images but still nothing.

i copied your code and all i get is


Blockquote

image: [source /config/esphome/guition.yaml:924]

  • file:
    url: https://esphome.io/_images/logo.png
    source: web
    id: boot_logo
    resize:
    • 200
    • 200
      type: RGB565
      dither: NONE
      use_transparency: False
  • Could not find file ‘/config/esphome/fonts/wall-sconce-180.svg’. Please make sure it exists (full path: /config/esphome/fonts/wall-sconce-180.svg).
    file: fonts/wall-sconce-180.svg
    id: wallsconce_180
    resize: 20x20

Blockquote

how do i fix this?
do i need to reset it all and start from scratch so that homeassistant picks uip all the stuff?

is not the same as

esphome/config/fonts

Would it be possible to add a speaker, microphone and temperature sensor to this device?

Since I have never used a speaker or microphone on the ESP, I don’t know if there is a board to expand the available ports or if I can share some pins between the microphone and the speaker.

From what I have researched, I could use the i2c pins 45 and 19 to add the temperature sensor.

To add the speaker, I would have to move resistors R25, R26, and R27 to R21, R22, and R23.
I would still need to connect the microphone.

And even if it is possible, would the device support everything without crashes?

If i understood correctly it’s either relays or I2S audio. So if you move resistors to enable audio you loose relays. I can’t say about microphone…

Yes, I lose relays.
But that wouldn’t be a problem

Hey does anyone have a resource for the CCT diagram for the relay board?

I wanna see how the power side of this is set up (investigateing whether I can run on 12VDC)

The Guition ESP32-S3-4848S040 does have a DAC and and (mono) speaker output built in. But no microphone. Go to the Aliexpress page they have a link to the schematics and all the documentation.

There is a 120/220VAC to 5v converter built in. You could replace it with a 12v to 5v converter.

I have the documentation. The problem is that only two GPIOs (tx and Rx) are unused.
And as far as I understand I would need 3 GPIOs.

https://a.aliexpress.com/_mME6PMy

Unless there is some board capable of expanding the GPIOs to i2s. Something like the i2c expanders

I REALLY want this but 24V

I hate this device.
I have two of them.
I flashed one using esphome web to get ha to find it and then tried to use some of the configs on here and all i got was the 1 button light thing.
i tried with the second one and got a little further installing openhasp - at least i could see something - but it really is a pain in the ass.

just so i am clear.

the steps are as follows:
-connect to pc via usb-c
-install drivers for the correct thing
-let esphome find it and connect - it will install something to allow a basic usage
→ when i get to this point it says it cant configure wifi as the module is not installed.
-it does still somehow find its way into home assistant esphome and wifi is enabled.

i get this far but cant get any of the configs to work - i appreciate i need to se my own ‘ota’ password (the one that esphome generates) and api-key as well.
but it really just doesnt work.

The very first example in the docs here

Hmmm…
i used to hate esphome - back then when i first started with it, i thought it’s too complicated, so i went to tasmota instead. Not for long, since i quickly came to a point where i couldn’t do specific thing with tasmota, so i went back to esphome and learned it. And there’s a bunch of stuff to learn to be successful.

This is exactly the same: it’s LVGL library. It offers a lot, but you must learn a lot. i just got one, too, and from examples here i quickly managed to program two buttons (for relays) and a couple of temperature readings. I agree, it’s hard, but if you’re willing to explore and learn you’ll get it. I’m in a process of trying to learn it now, since i like to understand what I’m doing. But examples are a great way to learn basic stuff.

As an alternative: NSPanel: it’s pretty similar, if not even more complicated, since you must learn nextion programming and upload program into nspanel and then send variables etc…
Ok, there’s “a shortcut” for that one: Blackymas wrote a blueprint for it (thanks!), so it’s way easier for a beginner to use nspanel. Sadly there’s no such thing (yet) for this lcd.

Regarding your steps: i don’t exactly understand what happened to you… i just connected my guition to to my PC via USB, loaded esphome example from this thread into HA esphome addon (as new device), uploaded via correct COM port (i used esphome web upload) and lcd worked. Can’t be more simple.

Otoh I have only used mine with openhasp. But I have 2 of them so I may try the other on esphome/lvgl.

We all miss stuff. Glad if it helped.

@Qbhatti At the moment the ESPHome LVGL stuff is in transition. The LVGL stuff has only been released for a a few weeks! Because of this a lot of the examples available online don’t work as posted because they are written for older version of ESPHome.

I personally like ESPHome much better then openhasp or NSPanel because of it’s much more flexibility and you can do a lot more with it. But you do have to have a little bit of programming knowledge (or use Google for examples).

This file should work well. Get it loaded an registered in Home Assistant.

I assume the next thing you want is some button to control lights in Home Assistant I can post some working examples of that later this week.

3 Likes

Could someone explain what Im doing wrong here??? For sure it will be stupid obvious, but I just cant see the problem.

  pages:
    - id: main_page
...
      widgets:
        - led:
            id: wfi_led
            color: 0xFF0000
            brightness: 70%
            x: 10
            y: 10
...

light:
....

  - platform: lvgl
    widget: wfi_led
    id: lvgl_led_wifi_led
    name: "Wifi Connected LED" 


It wont compile and I get an error and the lines in light are underlined in red

I am so leveraging off people that are so much smarter than I am and I truly DONT KNOW what I dont know (lambdas)

So the whole day (my day off) Ive been playing with my unit and am totally stumped in how to display a number as well as a set temp of a ESPHome climate control on a label

I have tried a million iterations of things already and I just cant get either of them to display or update and am hoping some kind soul will help.

        - label:
            id: tank_acttemp_label
            text_font: barlow120
            text_color: 0xFFFFFF
            x: 140
            y: 110
....
number:
  - platform: template
    name: "Sensor Offset"
    id: sensor_offset
    optimistic: true
    min_value: -2.0
    max_value: 2.0
    restore_value: True
    step: 0.1
    unit_of_measurement: "°C" 
    on_value:
      - lvgl.label.update:
          id: tank_acttemp_label
          text:
            format: "%.0f"
            args: [ 'x' ]

or

number:
....
    on_value:
      then:
        - lvgl.label.update:
            id: tank_acttemp_label
            text: !lambda return id(sensor_offset).state.c_str();

which I know theres a difference between a string c_str() instead of a float… but if I do this

number:
...
    on_value:
      then:
        - lvgl.label.update:
            id: tank_acttemp_label
            text: !lambda return id(sensor_offset).state;

still problematic.

Hopefully with a little bit of guidance I will be able to work out how to get the set temp of a climate control from there.

Can anyone offer some guidance. Im happy to learn, but its not so obvious to me.