Just for a quick resume check this tweet:
https://twitter.com/martinfasani/status/1217360074567491584
Modified slightly udpx pixels library to add a new header byte:
byte[0] | protocol | [80,82] | P (888) | R is 565 |
byte[1] | non used | 0 | ||
byte[2] | chunk LSB | 16 bit LSB | ||
byte[3] | chunk MSB | |||
byte[4] | Length of payload LSB | 16 bit LSB | ||
byte[5] | Length of payload MSB |
https://github.com/martinberlin/pixels
First byte[0] is very important since identifies protocol type
P 0x50 is Pixels, a byte per color. So it takes 3000 bytes to feed a 1000 pixels RGB Led matrix
R 0x52 is 565, using 5 bits for Red, 6 for Green and 5 for Blue. So it reduces the color brightness gradients in 31 for R/B and 63 for Green. But it also resuces in 1/3 the udpx payload, using only 2000 bytes to feed every pixel of a 1000 RGB Matrix.
That makes everything faster since it's also ZLIB compressed in the App and decompressed in the ESP32 using miniz library.

Proof-of-concept videos
udpx Android application last releases
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.