That fixed it! Thanks for looking into this!
Hey. I have this problem. My display direction is different. What i need to change to match my display rotation? Here is picture:
It is not clear from the picture what you mean, but if I understand correctly, the display shows it in portrait. The only thing I can think of is to change the position.
In the esp configuration look for:
display:
rotation: 0°
You can change 0, 90, 180, 270
EsphomeMaTrix uses the addressable_light
display from esphome. There are multiple configuration options. The easiest one to fix is the rotation, but if the order or the layout of your LEDs is different, you can configure it via a pixel_mapper
: Addressable Light — ESPHome
Yeah. poorly explained. I am using four of these: Ws2812 8x8 (aliexpress). And oriented like in that picture above. Here is result if i rotate 90/270 agree.
There are probably LEDs mapped differently on the modules. I don’t use individual modules but a whole block of 8x32 LEDs and that works fine.
Well, this is part of the addressable light component and the pixel_mapper option. You have to try it by your self. As a startingpoint take a look at this code sample:
display:
- platform: addressable_light
id: ehmtx_display
addressable_light_id: ehmtx_light
width: 32
height: 8
pixel_mapper: |-
if (x % 2 == 0) {
return (x * 8) + y;
}
return (x * 8) + (7 - y);
rotation: 0°
update_interval: 16ms
auto_clear_enabled: true
lambda: |-
it.line(0, 0, 3, 0);
it.line(8,0,11,0);
it.line(16,0,19,0);
// id(rgb8x32)->tick();
// id(rgb8x32)->draw();
with the right pixel_mapper it should look like this:
Exciting news.
Using an ESP32 with an I2S audiomodule makes the display to a media player.
In my case i use this:
media_player:
- platform: i2s_audio
name: "$devicename media"
id: ehmtxaudio
dac_type: external
i2s_lrclk_pin: GPIO33
i2s_dout_pin: GPIO22
i2s_bclk_pin: GPIO19
mode: mono
Sadfully combining ehmtx with bluetooth proxy doesn’t work, at least with wifi. I will test it with a wired ESP32 and report later.
Can you make an English version please?
Sorry, this was made by a german youtuber not by me. But the documentation on github is in english.
Do you use a 3-d printed case or similar to house your LEDs? I really like how it looks with the diffusers in front of the lights.
i can’t find my model anymore. But this is the next one i will try Model
Mine is similar with a printed diffusor.
But if you like to buy a ready made hardware search for ulanzi TC0001. My software works with that hardware (mostly see my repo).
Try this:
pixel_mapper: |-
return ((int) (x/8 * 64)) + x % 8 + y * 8;
After updating esphome version 2023.11, yaml ehmtx version 1 cannot be compiled.
It stops on error
Failed config
api: [source /config/esphome/led-8x32.yaml:61]
services:
- service: alarm
variables:
icon_name: string
[text] is an invalid option for [variables].
text: string
I can fix it somehow?
Corrected. I changed the text to texts because it conflicts with the new text component that was added in the ESPHome version 2023.11
You need to change both the variables and the lambda
I’ve already found out, thanks
This project looks really interesting. One question - is it possible to toggle between using the panel as a light (all pixels in a block of the same colour) vs as a clock / information display?
Thanks
Yes, of course ;-), but it is not yet in the documentation. There is a service call:
service: esphome.m5stamp_color_screen
data:
lifetime: 2
screen_time: 10
r: 100
g: 45
b: 140
Similar to the other service calls, you can set the whole screen to one color.