Home - AlbertGBarber/PixelSpork GitHub Wiki

Welcome to Pixel Spork!

Pixel Spork is an Arduino library for controlling addressable LEDs. It aims to streamline the use of the popular WS2812 (and other) addressable LEDs by providing a wide variety of rich, class-based, effects and utilities. The library's stand-out feature is "Segment Sets", allowing you to intuitively arrange your LEDs into virtual 1 or 2D shapes. Pixel Spork lets users code at their own comfort level by only requiring a few core tools to operate, but providing many more for power users. Start small with a simple 1D Segment Set and effect, and scale up over time to fully 2D Segment Sets, using multiple effects, while managing multiple palettes, color modes, utilities and more!

ko-fi

Features:

  • Over 40 class-based, deeply customizable effects.

  • Virtually re-arrange your LEDs into 1D or 2D shapes using Segment Sets.

  • Use a suite of utility classes to manage and enhance your effects.

  • Add rainbows (or a custom gradients) to most effects using Color Modes.

  • Create color palettes to unify colors across you code.

  • Compartmentalized design. Most features are optional, meaning that you only need to interact with them if you want to, allowing you to explore and code at your own pace.

  • Uses the famous FastLED library as a foundation, ensuring that writing to LEDs is as fast as possible.

  • Fully documented, both in this wiki and in the code itself. I pledge that I will do my very best to keep this wiki complete and up-to-date. If you ever find a topic/feature that isn't explained or is incomplete, please let me know (by opening an issue, etc)!

Installation:

Pixel Spork is programmed using the Arduino IDE. You can install the library by searching for "Pixel Spork" in the IDE's library manager, or manually via the .zip file from the latest release. If you install it manually, be sure to re-name the folder to "Pixel_Spork". For more info, see the Arduino library installation docs. You'll also need to install the FastLED library in a similar fashion.

Using the Wiki:

Use the right-hand navigation bar to move through the wiki. If this is your first time here, I recommend that you start with the "Starter Guide" topics. They will guide you through the basics of Pixel Spork, including multiple code examples.

Why Pixel Spork?

Pixel Spork started its life many years ago as just a collection of effects, grouped together so that I could re-use them more easily. Over time I added more effects and features, like the Segment system, and eventually it got big enough that I thought it was worth sharing properly. It has been a lot of effort to get to this point, and I really hope you find Pixel Spork useful!

I always love seeing LED creations, so if you do happen to use Pixel Spork, you can share via the Pixel Spork Discord Server, or DM me directly on Discord or Reddit. At the end of the day, I just really like twinkly lights :).

What about the name?

Pixel Spork originally started life as my now obsolete Pixel Strip library, but was re-written from the ground up. I wanted to re-name the library to something more memorable, but a bunch of the early code was already using "PS" as a naming convention. I didn't want to go back and edit a bunch of code, so I had to adapt. I kept "Pixel" for obvious reasons, and eventually settled on "Spork" for the "S". Why? Well, sporks are a sort of multi-tool, which I thought fit the library well enough, and I guess I just like the word, I think it's kind-of funny :).