-
Detailed tutorial with video - Q&A Log
02/11/2020 at 08:24 • 0 commentsTeam please follow and add anything you consider important.
@Samuel Archibald @Hendrik PutzekGot people asking me how to compile this and although is not over complicated I will leave this Log entry to summarize. Questions:
- Can I use Arduino to install this Firmware?
A: Yes you can, but you will have to download the dependencies described in platformio.ini that are 5:- https://github.com/Makuna/NeoPixelBus.git
- ArduinoJson
- https://github.com/schinken/SimpleTimer.git
This 3 you can find in Arduino library manager. But the other two are not listed and you should download them and place it in your library folder yourself
The best reply for 1. is that it would be a lot less work and a good time investment to install:
https://platformio.org/platformio-ide and use that to compile any Espressif projects in the future. Arduino library dependency is hard to grab and IMHO not the right way to keep your project libraries. The best is that each project contains his own library folder, than to keep a centralized library in a messy directory structure, and then when you customize a library you affect all projects using them. I strongly suggest to compile this using Platformio IDE.
Maybe it's possible also to make a 5 minutes video tutorial to clear any doubts.
-
First batch of udpx boards arrives
01/22/2020 at 10:49 • 0 comments@Samuel Archibald announces in his Twitter account that first batch of udpx boards arrived
Backward picture in this tweet: https://twitter.com/IoTPanic/status/1219695622162407428
I'm excited to see it assembled!
Lately I've been implementing a couple of new features in my fork of Samuel's Pixels library to introduce more control over the brightness and give the Android app user more options to fine tune the UDP stream to udpx Firmware
-
Implementing PIX565 a protocol that reduces UDP payload
01/15/2020 at 11:30 • 0 commentsJust 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 typeP 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 -
Remora now supports also udpx protocol
01/06/2020 at 18:19 • 0 commentsRemora our partner project to receive very short UDP messages and launch animations directly in the Espressif chip now supports receiving frame per frame animations too. The only limitation is the MTU of the ESP32/8266 that is about 1470 bytes so it allows to send 484 RGB pixels.
Our protocol consists of a 5 byte header and then per Pixel one byte for Red (0-255) , one for Green and next for Blue.
In udpx we overcome this limitation offering zlib and Brotli compression. I find personally zlib decompression very good but Brotli has the benefit of better compression ratio (at the cost of spending more time)
Our Cordova Android app is JavaScript but the compression part uses Webassembly libraries to increase the speed at what is currently the fast programming language on a browser. There will be upcoming logs with more ideas and my own implementation tests. I’m looking forward for more people to test the protocol and to tweak/ fork our open source libraries with their own ideas.
-
Hardware buying guide
01/06/2020 at 09:01 • 0 commentsIf you plan to send video over WiFi using udpx please check the Hardware buying guide
The Firmware can be the same for a simple Led Stripe or for a large Led Matrix, but the Android application supports only one type of Led Matrix, just take a look into our guide to make sure you get the right hardware.