This usermod is a client built to request images from a custom server. It can perform cross fades between images, and understands multi-fframe images.
Due to limitations in the way that WLED handles refreshes, you need to select an effect to get higher frame rates. The usermod includes a custom effect (Pixel Art) that does nothing, but ups the refresh rate and improve cross-fade performance. Select it, and drag the Transition Speed slider to the right to speed up redraw performance.
An ESP32 is recommended, for the extra memory requirements to parse multi-frame images for larger matrixes (tested up to 32x32 pixels).
These instructions assume that you are already comfortable with compiling WLED from source.
-
create a directory within
usermods
to hold the usermod. Suggested:pixelart_client
and addusermod_pixelart_client.cpp
to it. -
To the
wled00/usermods_list.cpp
file, add the following 2 blocks of codeAt the top of the file where other usermods are #included:
#ifdef PIXELART_CLIENT_ENABLED #include <HTTPClient.h> #include "../usermods/pixelart_client/usermod_pixelart_client.cpp" #endif
Inside the
registerUsermods()
function:#ifdef PIXELART_CLIENT_ENABLED usermods.add(new PixelArtClient()); #endif
-
You can then trigger inclusion of the usermod with the following build flag:
-D PIXELART_CLIENT_ENABLED
added to your
platformio.ini
Once compiled and flashed to your device, head into Config -> Usermods. There should be a PixelArtClient section, like so:
With the server running, enter its URL. Give the client an ID. When you hit save a request to the server's /checkin
endpoint will occur. If this is successful the client should start requesting and recieving images. If not, it will continue to periodically request the /checkin
url until the server responds.
Once checked in the client can be configured in the admin interface on the server to assign a playlist to it, otherwise it will be served random images.
Some useful messages around what the client is doing are printed to the serial port, including the URLs it is requesting and how its memory use is faring. The URLs can be tested in a web browser.