Skip to content

Esp8266 PxlNode communication

LUCAS M MORGAN edited this page Apr 12, 2023 · 2 revisions

Understanding Output Length and Chunk Size

By default in GP, you'll see output settings like this for the PxlNode protocol, in GeoPix:

image

Output Length

This is the total number of color channels you are streaming to the PxlNode every frame. So, for example if you have 512 pixels connected that you intend to stream to, and the pixels are RGB 3 channel, then output length should be 512 * 3 = 1536

Chunk Size

A little less intuitive, chunk size represents how many channels of color data are transmitted in one "chunk" and several chunks make up the entire frame of color data.

The default chunk size of 128 is a good place to start, this means for the default output length of 1536, GeoPix will send a frame of data over in 12 chunks (12 = 1536 / 128)

If you can make chunk size bigger while keeping it evenly divisible, you'll tend to have slightly better performance. 256 for example is a good next chunk size up to test.

PxlNode vs GeoPix

Overall, be sure to have GeoPix settings match that of the PxlNode esp8266 device's configured settings.

One thing to note though, is the PxlNode expects values for output length and chunk size in terms of PIXELS, not channels. PxlNode assumes 3 channel leds, and thus expects configuration as leds to make it more intuitive.

On the GeoPix side, this differs since GeoPix is pixel type agnostic, and does not know if you are trying to communicate with 3 channel leds, or 4 channel etc - for this reason settings you enter into GeoPix will be in terms of channels.

You can take your pixelnode settings, and convert them to GeoPix friendly values by simply multiplying by 3.


For further reading and low level protocol specs for PxlNode, please read more here:

https://github.com/EnviralDesign/NodeMCU-Arduino-Pixel-Driver/wiki/UDP-Pixel-Streaming-protocol

Clone this wiki locally