Welcome to Suno Kule
If you like this, please consider donating, so I can dedicate more time to it, or contribute to the github project
Suno Kule means "colored lights"
I created Suno Kule to solve two problems I encountered while working with addressable light strips and existing firmware:
I wanted to define effects much like shaders as found in modern 3D software. To be able to build effects out of a set of primitives and easily adjust parameters.
This is done with "Layouts" and "Shaders". Read more about these to the right
To get started, get the firmware for an esp32 board, adjust your network credentials and flash the firmware. After that, note the ip address from the serial monitor and connect to it using "connect" in the top left corner
A layout is a mapping of led index to x, y and z coordinates, but also to an additional set of coordinates called u, v and w.
The u, v and w coordinates behave much like a texture mapping in 3D software. They can be anything you want, but it makes sense to use them in a meaningful way to allow effects to do some more interesting stuff. Some examples are:
Layouts can be created and adjusted in the Layout tab.
Shaders are little programs that create an effect. The input to shaders are time, led index, the normalized x,y,z coordinates and the normalized u,v,w coordinates.
You can use predefined primitives to build up shaders. There are some pretty useful primitives available already.
A shader is compiled to a binary program that can be uploaded to the firmware running on an esp32 board.
Shaders can be created and edited in the Shader tab.