This project is available on GitHub (https://github.com/flyandi/BitsyLED) and is 100% open source.
Since this is original targeted towards RC; I created an official thread on RCGroups at https://www.rcgroups.com/forums/showthread.php?3289805-BitsyLED
In a nutshell: BitsyLED is a software/hardware package that allows to drive RGB led's of various types with just simple configurations.
- Individual ranges, selectable through either an RC PWM signal, Analog signal, Time based or Always on mode
- Multiple LED data strands per range
- Each data strand can have multiple LED's attached to it
- Supports multiple patterns such as Off, Solid, Blink, Strobe and Pulse.
- Supports different speeds per pattern
- Simulate your patterns directly through the BitsyLED configurator
BitsyLED comes with two software pieces: The Firmware and the Configurator.
The Configurator allows to visually configure and setup LED's. The configurator is a standalone application available for Windows, Linux and Mac. The app itself is written in React + Material UI and packaged in Electron.
The configurator manages unlimited amount of configurations however only one configuration can be uploaded to the actual Hardware.
The firmware and the configurator both encompass the same philosophy where each configuration can have multiple Ranges. A range defines the layout and configuration of a specific set of LED's. The range itself can be configured to be selectable through either RC PWM, Analog, Time based or Always On signal. As a bonus the configurator will highlight the selected range if a board is connected.
Each range can have a certain amount of LED data strands (usually 3: Left, Right, Other). A Strand is the physical data channel on the Hardware side where the LED's are connected to.
Each strand has a defined amount of maximum LED's.
I am in the process of making some how-to videos that I will post here soon.
The BitsyLED firmware is compatible with most Arduino compatible boards however to simplify things I have aligned the Arduino base configuration for the Arduino Pro Mini. Some boards may support more ranges, strands and LED's but that's up to configure.
As an alternative I have created the BitsyLED Board specifically for RC and it's available to purchase from Oshpark (https://oshpark.com/shared_projects/B3IAiNyH).
I choose to power the BitsyLED board with an 8Bit ATTINY84 because it's still easy to solder it and only uses a few extra components. The firmware settings are optimized for the ATTINY84 and can support up to 5 ranges, 3 strands and up to 10 led's / strand - running flawlessly without memory issues.