EspHoMaTriX: A simple clock/status display

There is a german video explaining how to setup my module:

1 Like

Hi there

Nice project.
I’am having trouble with the text/font or pixelwrapper. Something is meesing up my leds.
My led matrix is a 8x32 WS2812B. I have comment out the pixelwrapper, else all the leds was f… up, now at least the 7 weekdays are correct, but the time is still showing weired stuff. If i enable the pixelwrapper, all the leds are even more spread out. I can se the time and date are changing, but i cant read it.

Well, the pixel mapper does not belong to my part of the software, so I can’t help you much. Take a look here A simple DIY status display with an 8x32 RGB LED - #64 by lubeda. Perhaps you should try rotation: 180 because I think in each block left and right are scrambled.
Here is a tool that may help to find a working pixel_mapper FastLED-XY-Map-Generator

Please, if you find the right pixelmapper post it here.

Thanks

There is a new release with no new features but a fixed error.
There is also a tiny discussion on esphome-discord

@lubeda Have a spare led matrix (exactly this one) so going to make one for my son’s gaming set-up. I have looked on your github and the other discussion but could not find it; Do you have the .stl for the case for me?

Hi, there are a lot of cases available, e.g. this AWTRIX Family by Blueforcer - Thingiverse

You can search for “awtrix”, “pixelit” or “8x32” to find other cases on thingiverse and prusaprints.

1 Like

Hello.

Has anyone tried installing EspHoMaTriX in this LED matrix?

This is based on an ESP32 (WROOM32D) and seems to bring a modified software version of awtrix. PixelIT has an initial port also.

Considering how flexible esphome is, I suppose it is also possible to install EspHoMaTriX in it, hence my question.

Thanks in advance.

Would love to know this too. For that pice easier to buy then to build…

1 Like

Hi, not yet!. I already saw this hardware and thought it might be possible to adapt it to EspHoMaTriX but i was scared because of the time needed to do the reverse enginereing.

So this is al done by the pixelit community. I will order a one and give it a try, i expect every needed change is done in the yaml.

Greetings

See my next post.

I just printed Printables and i like it very much. This is no real case, but more a diffusor. Perfect for my need.

Yes, but it is a work in progress!

With the help of GitHub - aptonline/PixelIt_Ulanzi: PixelIt is an ESP8266 and WS2812B LED Matrix based PixelArt display with added Ulanzi Pixel Clock support. i found out:

You need this pixel mapper under display:

  pixel_mapper: |-
      if (y % 2 == 0) {
        return (y * 32) + x;
      }
      return (y * 32) + (31 - x);

this light component

light:
  - platform: neopixelbus
    id: ehmtx_light
    type: GRB
    variant: WS2812
    pin: GPIO32
    num_leds: 256
   .....

The buzzer is on port GPIO15

You can flash the stock device via USB. You have to turn it on by pressing the left and right button for 3 seconds

Please try this:

Hello everybody! This is my first comment in this big community

I am working in this awesome esphomatrix project but having problems for adding new screens. I can see the clock and date changing every 4 and 2 seconds, but I am not able to add a new screen with something like an icon and a silly test string, for example.

I have tried modifying the yaml on esphome but nothing happens. I have also tried to add a service in the developers tools, but I don´t have any esphome service

Any help please?

Thanks in advance

Greetings from Spain

PXL_20230216_225540414|690x388

@lubeda Shared my non-tested YAML draft with you (via Github), don’t know if it may somehow be helpful in your testing (I already incorporated your suggestions above).

Still waiting for mine to delivered, ordered from Germany, but I bet it will be delivered from China…

Can you share your yaml (without passwords)?

I think the problem is esphome. I will explore on this direction. If I find a solution I will tell you

Thanks a lot anyway

Hello again.

I solved my problem. Stupid problem, by the way: I was using my home assistant IP instead of my Esp board IP ,:sob:

Everything works fine now, but I am trying to insert a new window with the weather. I would like to watch the clock/date each 6 seconds (this works fine) and the weather after this for another 6 seconds. After the weather, the clock/date should be shown again. Only the clock/weather is shown now (the default configuration)

Any help, please?

Thanks!

1 Like

There is no help :wink:

This is by design, my focus was on the display of states. So the clock is shown only if there are no states to display or every x seconds. This is what you see, i will try to find a solution for your request.

Perhaps there is help :slight_smile:

Try:

external_components:
  - source:
      type: git
      url: https://github.com/lubeda/EsphoMaTrix
      ref: 2023.3.0
    refresh: 60s 
    components: [ ehmtx ]   

i added a parameter for the ehmtx section.

clock_interval: 15 => the clock will be shown ~15 seconds

I have finally realized that I was trying to use esphomatrix as it wasn´t intended to. So following the instructions about using automations works fine. Now, time for petitions :sweat_smile:
Would it be possible to show a screen for less than one minute? 15 or 30 seconds would be perfect!

I am having problems with gif animations as pepe59 told you in this post

Was he able to solve it finally? Not moving gifs is weird!

Suggestions? Help? Magic? hahaha

This is mi yaml

ehmtx:
  id: rgb8x32
  show_clock: 4
  show_screen: 6
  display8x32: ehmtx_display
  time: ehmtx_time
  week_start_monday: true
  duration: 7
  font_id: ehmtx_font
  clock_interval: 15 #seconds
  on_next_screen:
    - homeassistant.event:
        event: esphome.next_screen
        data_template:
            iconname: !lambda "return x.c_str();"
            text: !lambda "return y.c_str();"  
    - homeassistant.event:
        event: esphome.next_screen
        data_template:
            iconname: rainbow_icon
            text: "prueba" 

  icons: 
    - file: _icons/computer.gif
      id: computer_icon
      #pingpong: true
      duration: 500
    - file: _icons/varios.gif
      id: varios_icon
      #pingpong: true
      duration: 500
    - file: _icons/house.gif
      id: house_icon
      #pingpong: true
      duration: 500