Quick Links

I sell on Tindie

What is Pixelblaze?

Jul-19-2019 20-31-28.gif

Pixelblaze V2+ is an advanced WiFi LED controller and pattern development engine. It makes it fast and fun to write new patterns with its web-based live editor and highly optimized expression engine. Pixelblaze can store hundreds of patterns and lets you write new ones by entering mathematical expressions or code that update live as you type. No more time consuming compile, upload, test cycles! Pixelblaze is optimized for speed and can produce hundreds of frames per second for extremely smooth animations.

Driving LEDs

Pixelblaze was designed for APA102 LEDs (aka DotStar). These LEDs, and their cousin, the SK9822, are state-of-the-art and provide rock solid updates, faster refresh cycles, and the possibility of a dynamic range well beyond 0-255.

WS2812 (aka NeoPixel) RGB or RGBW, and WS2801 LEDs are also supported. 

Pixelblaze has a single output capable of supporting the various LED types up to 5,000 APA102 LED or 2500 WS2812 LEDs. An expansion board can be connected to the output for 8 channels of WS2812 per board, up to 64 channels total with 240 pixels per channel. 

Any wiring configuration is supported, including strips, matrix panels, or other configurations. The pixel mapper can be used to take any physical layout and used to create powerful 2D and 3D animations even for complex wiring scenarios.

Interfacing and Sensors

Interface with the real world using 3-4 input/ouput pins. These can be used as buttons or switches, or to turn something on/off. The analog digital converter (ADC) can be used in patterns to read an analog signal such as a potentiometer.

A Sensor Expansion Board is availalbe that adds sound, light, an accelerometer, and 5 additional analog inputs!

Network Native

At it's heart, Pixelblaze runs on a powerful WiFi enabled microcontroller and has a websocket based API in addition to the built-in interface. Patterns can be controlled over the network, and variables can be inspected or changed on the fly.

Pixelblaze Firestorm (runs separately) adds network synchronization and centralized control. Animations are kept in sync, and patterns can be activated across multiple Pixelblaze controllers simultaneously.

Turn on the automatic discovery feature to quickly find your Pixelblaze on your network. If enabled and it has an internet connection, Pixelblaze reports it's IP address so that you can find it without having to scan your network. This feature is completely optional, Pixelblaze won't "call home" unless this feature is enabled.

How Does it Work?

Pixelblaze has WiFi built-in and serves up a web page with a pattern list and pattern editor. Changes in the editor are compiled on the fly and updated in Pixelblaze so you can see your changes live.

On the chip, the LED pattern engine uses high speed fixed point math and pipelines data to the LED strip while the next pixel is being calculated. Frame rates of several hundred frames per second are possible, yet the engine can generate patterns for arbitrarily long strips of LEDs (at a reduced frame rate).

IMG_9066 snap.jpg

Pixelblaze has an HDR color mode for APA102 LEDs that can produce incredibly high dynamic range of intensities. This means patterns can still look beautiful at very low light settings, adds subtle tones between transitions, and can be driven with a range that is not possible on other LEDs and is not available in most LED driver libraries.

 

See Your Code Live as You Type

v2 screen.png

Pixelblaze has a built-in editor with inline syntax and runtime error highlighting, a real-time compiler, and a wide range of language features. It supports a subset of JavaScript for control-flow, loops, functions, etc., and simple yet powerful expression capabilities for generating patterns. Arrays are supported and can be used for creating sprite or particle effects.

As long as your pattern is valid, it's live and running on Pixelblaze. Your pattern is recompiled and sent to Pixelblaze on every change so you can see your changes live. This is one of the most powerful pattern writing features, and you really get a feel for how your changes impact the pattern - all while it's still installed!

 

Sensor Expansion Details

Screen Shot 2019-07-25 at 10.45.42 PM.png

Pixelblaze Sensor Expansion board is tiny, but packs a lot of sensors and powerful audio analysis co-processor. 

  • A line-in jack and microphone (switches automatically), dedicated signal processing with frequency data ranging from 37Hz-10KHz designed to work in loud environments

  • A 3-axis 16G accelerometer

  • An ambient light sensor

  • 5 analog inputs

The sensor data is processed and synchronized into your pattern as variables. There's no fussing with drivers or worrying about interrupts. 

 
 

Why Pixelblaze?

I created Pixelblaze because I wanted a better, faster way to write patterns for LED strips. I've used dedicated LED controllers and microcontrollers like Arduino, and I always felt that the compile, upload, and test iteration was cumbersome. Getting fast frame rates meant using cumbersome fixed-point math libraries as most of microcontrollers are much slower when working on floating-point numbers. 

It was designed to be embeddable and integrated into LED art pieces, or used in costumes and props. Because it's 100% programmed over WiFi, the pattern can be written or updated AFTER it has been installed without needing to attach any cables.

If you've used Arduino to generate patterns for LED strips you'll appreciate the live compiler and lightning fast math engine.

Who Can Use Pixelblaze?

Pixelblaze is easy to use, and can be used as a pattern selector without any math. Out of the box, or embedded in a art piece, Pixelblaze is usable by anyone (some soldering required).

Pixelblaze really shines in the hands of someone that is familiar with programming and is comfortable writing mathematical expressions in a C-like syntax or that can write code. If you are already doing this with a microcontroller, Pixelblaze was made for you.

If you aren't a coding wizard, don't worry, many people with limited programming experience have found Pixelblaze's editor approachable and fun to use. Real-time editor, instant feedback, and expression-centric pattern generation means you won't be pulling your hair out trying to find that missing semicolon or curly brace. Even run-time errors that would usually just crash your program are harmless and show up right in the editor.

 
 

Specs

DSC00346 (1).jpg
  • ESP8266 @ 160MHz.

  • 39.5mm x 34.25mm including antenna.

  • 5mm screw terminal OR .1" pin header for attaching LED strip with 5V, data, clock, and ground.

  • Powered by micro-USB (1.8A pass-through) or 5v back-feed from the strip with a 3.3v Regulator for the ESP8266. Includes reverse polarity protection to protect Pixelblaze from common wiring mistakes.

  • Level shifters to drive APA102, APA102C, DotStar, WS2811, WS2812, WS2813, NeoPixel, and WS2801 at 5v. Active drivers are used, along with 100 ohm resistors for long distance signal wiring.

  • Supports any RGB color-order, and RGBW/GRBW.

  • Can drive APA102/WS2801 LEDs at anything from 250khz to 20MHz (selectable). Up to 5000 LEDs are supported.

  • Can drive WS2812 at a wide range of timing specifications. Up to 2500 LEDs are supported.

  • Optional buffer for WS2812/NeoPixel and tunable timing parameters.

  • 3MB of pattern storage can hold hundreds of patterns with previews and comes preloaded with dozens of patterns and annotated examples.

  • Using included patterns as a benchmark, Pixelblaze can generate between 12,000-45,000 pixels per second, and can drive up to 5000 pixels.

    • 100 LEDs: 120-400+ FPS (very fast animations, special effects, POV)

    • 1000 LEDs: 12-40+FPS (animations, backgrounds)

    • 5000 LEDS: 2-4+ FPS (slow-fading backgrounds, ambiance)

  • Memory available for writing patterns (32 bit each): 128 global variables, 512 stack variables (recursive functions supported), 64 arrays, and 2048 array elements gives quite a lot of room for complex patterns.

  • A button for changing patterns or entering WiFi setup mode. An external button can be connected as well.

  • 3-4 general purpose IO ports available for buttons, etc. One pin is shared with WS2812/NeoPixel support.

  • ADC input pin for reading analog values up to 1 volt, sampled once per frame.

  • Expansion port