What is this app good for
1. Send a picture over WiFi to a LED controller with ESP32 udpx firmware or Remora
2. Send over the air Video frames to a LED matrix
3. Send short UDP text messages to any IP:port
Note that Remora supports only plain Pixels and compression is not supported. udpx supports zlib and brotli as compression algorithms so you can send video to a bigger matrix.
This application acts as a client to stream pixels using a binary protocol to Espressif addressable LED cotrollers using the UDP protocol. For this to work your Android client should be in the same WiFi network as the ESP32 controller. This app has no advertising or tracking of any kind, is open source and you can check exactly what is the required Firmware, Hardware and what is doing internally here:
It will ask you to activate location services if you use Bluetooth scan since BLE Is used also to receive and send beacons. But we just use it to send the WiFi configuration to our Espressif controllers.
If you need to use the Zlib/Brotli compressed protocol, since we are using WebAssemby for compression, it's required at least Android 7 with the latest software updates. Credits go to Google employees Jyrki Alakuijala and Zoltán Szabadk for the awesome Brotli compression library.
Maximum transport unit (MTU) for this Espressif chips is around 1470 bytes. And we are not doing buffering, so any packet surpassing that, will simply not trigger any animation frame. Use Brotli or Zlib if you have more than 484 Pixels. As an example 44*11 or 22*22 matrix will be the limit to send uncompressed. Keep brotli to the minimun possilble quality since the higher compresses more but also takes more precious miliseconds and it will make your video drop frames. As a last note, the data flow should enter in the top left corner, and start to the right with this pattern. It is mostly like this in the available led matrix, but keep it in mind if you build your own, Led lines should follow this:
1. ---> Entry point left, data flow right
2. <--- left
3. ----> right. Now with a second connected panel
1. ----> right again this is supported, use Units
2. <---- left and so on.
Please write us an Email or if you care about helping in doing the app better just add a Github issue. Have fun with your LED Stripes!