Over-engineering an RGB LED strip: let’s make a custom programming language
11–20 of 22 posts
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#12There already is a custom programming language for LED lights. It's called E1.31, and there are open source programs that exist to program in it (one of the most popular is called Xlights). It's what most people use to make their programable Christmas lights shows, and it also is the same protocol used in stage lighting.
WLED (firmware for ESP8266) appears to support E1.31 [1] as well as Art-Net and the WLED custom protocol referenced in the article.
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#13This is nice. I once tried to get programmatic animations running on MicroPython, but it seemed to fail to load even the simplest color conversion class (I didn't have an ESP32 back then). I also tried streaming patterns (could've been really cool to hook it up to something like ColorCord), but my Wifi connection was definitely also too unreliable for that (hmmm, what about PoE LED strips?). There's some project base…
That would be the PixelBlaze from https://electromage.com/
... and it's super-duper-amazing for actually finishing LED projects. While the code on the ESP32 is proprietary, everything else is very open and the community is awesome.
If your name is Sisyphus or you just want to hack on LED electronics and maybe make some lights blink, anything else is fine.
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#14The readme links to a protocol.md that lives in a private repository, any posibility it gets copied to the github repo?
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#15Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#16* reproducable (when buyin two 10m strips of the same product, LED colors should match)
* lean (I read some reviews (Amazon), where the buyer experienced one or two LEDs in the strip having a different color temperature)
* etc.
I mainly want to equip the bottom edge of the kitchen cupboards with these, so I have better lighting, when cooking on the cutting board below them. I don't need animation, just good light, ideally in different color temperatures and hues (dimmable). Thanks.
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#17How did you implement "sleep"? For timing the effects? I see a 'get_precise_time' command. I guess you could poll that, if you aren't worried about power use. (LEDs using far more power than your CPU.)
The interpreter will throttle the program to a certain frame rate - it will suspend the program on each ‘yield’ instruction and resume the program when a new frame is needed. It can also ignore the yields to get as high a frame rate as possible. Programs should not poll but use get_precise_time to draw what is necessary for that time stamp. (And yes, the LEDs use way more power than the CPU here)
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#18A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102!
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#19I'm surprised this one[0] hasn't been mentioned, it is my favorite so far. [0] https://kno.wled.ge/ A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102!
Re: Over-engineering an RGB LED strip: let’s make a custom programming language
#20On a sidenote: Can anyone recommend decent quality LED strips on Aliexpress or Ebay (I'm not in the US)? Points of interest would be: * reproducable (when buyin two 10m strips of the same product, LED colors should match) * lean (I read some reviews (Amazon), where the buyer experienced one or two LEDs in the strip having a different color temperature) * etc. I mainly want to equip the bottom edge of the kitchen cupb…