I'm looking for a few folks to test my new LED library on different hardware.
Here's some types of tests I'd look for:
- Arduino boards at different frequencies (I've tested 16MHz quite a bit)
- ARM Arduino boards
- ARM/AVR controllers chips programmed directly without bootloader
- Different LED strips with possibly different timings ws2812/APA104
- Multiple LED strips connected on different ports
- Long LED strips (100's or thousands of LEDs)
- Code scrutiny to crowd-source enhancements to the code
Currently the library supports WS2812B/APA104 LEDs, with only a data pin.
It does not support APA102, SPI based strips, which have both a clock and a data pin.
The library has code examples, and testing can be as simple as running the examples and verifying they work.
I am looking for validation that the basic functionality works on most hardware thrown at it, before listening to ideas and requests for enhancements. Until then, it is too soon for folks to play with it.
I know FastLED and Adafruit's libraries are quite popular and readily used. However with this library I'm tackling what I feel are limitations of those libraries.
- They use a display buffer that eat memory
- They require you to draw in it, THEN call a display routine
FAB_LED does not use a buffer. It displays directly the array you are manipulating.
FA_LED supports arrays with a wide range of pixel formats, from uint16_t to uint32_t, and also supports color palettes. With a palette, pixel formats can shrink to 1 bit to 8 bit per pixel. The current software limit is 64K pixel arrays per strip.
FAB_LED supports calling the display routine multiple times to repeat a pattern on your LED strip. You're only limited by the refresh cycle you desire for super long LED strips. You don't need to draw that pattern in memory multiple times, and can service an infinitely long LED strip.
FAB_LED will also provide some primitives to support 2D displays, with pixel remapping and basic sprite support.
Overall my goal is to allow even a low end Arduino board to drive LED strips of any size.
This demos a relatively long LED strip of 170+ LEDs, using 16 bytes to store the pixel patterns.
This is my first test at 2D support (not yet ready to beta):