
Pixelblaze V2 – An advanced LED pattern development engine and controller - dfischer
https://www.bhencke.com/pixelblaze/
======
Cynddl
How does this compare to FastLED [1] on the same ESP8266 (and ESP32) platform?
FastLED is free and open source, and support almost all LED drivers out there.
Writing animations with FastLED might not be as easy as with Pixelblaze, but
similarly only requires a few lines of code.

[1] [https://github.com/FastLED/FastLED](https://github.com/FastLED/FastLED)

~~~
simap
Author of Pixelblaze here :) FastLED is an awesome LED driver library with
colorspace and fast math functions. I highly recommend it.

Pixelblaze is that plus a web interface, compiler, IDE, and pattern library
all over WiFi. You can reprogram your work remotely without cables, and all
real-time, or even on a phone. I found that quickly iterating I could get a
better intuitive sense of the changes I was making and get the look I was
going for with less hassle.

For apa102/sk9822 LEDs, the 32-bit math engine in Pixelblaze along with the
HDR driver (5 + 8 bits) lets you get better color control at lower brightness
levels and smoother transitions than what's currently in FastLED. I have a
number of desk and/or nightlight projects that look just as good at 2%
brightness, where with 8-bit per channel color you start to get extreme
posterization and color mixes start failing.

Another slight advantage is that Pixelblaze uses a pipelined driver where
pixel data doesn't usually need to be buffered before being send out to the
LEDs. WS2812 are particularly sensitive, so there is a buffered mode for them,
but for other chipsets Pixelblaze renders the pixel data just in time and
doesn't require a framebuffer.

~~~
rorosaurus
Thanks for this reply! I was curious too, since I just spent the last few
weeks working with an esp8266 on FastLED.

One type of shield/expansion I'd love to see for the Pixelblaze would be some
sort of lipo charger and protection circuitry. My favorite esp8266 board has
an integrated battery holder for an 18650, and I've found this to be my
favorite way of powering all my projects!

~~~
kbob
LEDs draw lots of power. I just put ~~50W~~25W of SK6812s in my 3D printer
enclosure. (It's overkill, but not drastically so.) So you're going to need
big batteries for any LED project.

Edit: matho. 25W, not 50W.

------
anfractuosity
This looks a very interesting project! One thing I couldn't tell though, could
you 'stream' LED pixel values over wifi instead of generating them on the
hardware?

Using the ws2812b Lights and the:
[https://github.com/jgarff/rpi_ws281x](https://github.com/jgarff/rpi_ws281x)
library, I made my LEDs pulse out an ID, which I read with a webcam, then used
it to make a simple webapp, to 'paint' my Christmas tree's lights.

[https://www.anfractuosity.com/projects/painting-a-
christmas-...](https://www.anfractuosity.com/projects/painting-a-christmas-
tree/)

This year I'm planning on buying some APA102 lights though, and taking it
outdoors :) (So i'm looking at the IP68 versions). Ideally I want to create a
3D map of the LEDs this year, but I need to do a lot of reading on that!

~~~
tlrobinson
You can send it patterns in the form of code, but the hardware generates them,
so I don't think you need to use WiFi once you've uploaded them.

~~~
anfractuosity
Gotcha cheers, I guess I was thinking about patterns which may be too big to
fit in the ESP's memory.

~~~
simap
Yep, the trick here is that Pixelblaze doesn't store or stream pixel data, the
patterns are small fast programs that generate pixel data on the fly.

One benefit of this approach is that Wifi can drop or be unreliable without
impacting animations.

This also lets them react to inputs e.g. using some of the IO or ADC, or using
the sensor expansion board for audio, light, or movement (accelerometer). Each
pattern is typically 5-15K (this includes compressed source, compiled, and
preview animation), and there's plenty of flash to store hundreds of different
patterns.

------
ChickeNES
Reading the article reminded me that APA has been threatening vendors of the
WS2812, claiming that it infringes one of their patents:
[https://hackaday.com/2018/07/31/are-patent-claims-coming-
for...](https://hackaday.com/2018/07/31/are-patent-claims-coming-for-your-
ws2812/)

~~~
jacquesm
Another disgusting example of patent abuse.

~~~
kken
Funny how people always jump to conclusions when it comes down to people
enforcing their patents. My understanding of this drama is, that APA is a
small taiwanese startup that was actually the first company with a RGB LED
with integrated driver. There are a bunch of chinese companies that are more
or less copying their products and are pushing them on the market at much
lower price and more agressive marketing.

It surely looks to me as if they are using patents in their originally
intended way. The downside is that they are hitting vendors with a C&D instead
of going to the source. But that could rooted in the difficulties surrounding
the ability of a taiwanese company to sue a china mainland one...

~~~
jacquesm
Explain to me which parts of what you quoted deserve a patent.

------
simap
If you want to get a feel for what you can make, you can browse published
patterns here:
[https://electromage.com/patterns/](https://electromage.com/patterns/)

I was interviewed by embedded.fm about Pixelblaze and some other projects
[https://www.embedded.fm/episodes/220](https://www.embedded.fm/episodes/220)
Might be interesting to other folks wanting to do something similar, we cover
some of the meta around making and selling a DIY thing and learning things
along the way. Highly recommend the podcast as well.

~~~
justwalt
What are your plans with respect to open source? I’d love to contribute to the
effort!

~~~
simap
It's something I've considered. I've released many of the components as well
as the entire expansion board project
[https://github.com/simap/pixelblaze_sensor_board](https://github.com/simap/pixelblaze_sensor_board)
And the network sync and control app
[https://github.com/simap/Firestorm](https://github.com/simap/Firestorm) I'm
still figuring out how to make that work commercially so that I can afford to
continue development on it - ideas welcome!

------
th0br0
There's the ElectroDragon ESP LED Board, which does pretty much all of what
the Pixelblaze does (sans FW) for much less - although the footprint is
larger...

[https://www.electrodragon.com/product/esp-led-strip-
board/](https://www.electrodragon.com/product/esp-led-strip-board/)

~~~
snops
The electrodragon board is for cheaper single colour strips (hence the large
MOSFETs on the PCB) while this is for individually addressable LEDs.

------
tlrobinson
This looks great. Just in time for that thing in the desert...

The pattern editing workflow seems nice. Editing C code and waiting for it to
upload to an Arduino was never very fun. Being able to see a preview and
quickly send to the controller over WiFi is a game changer.

One thing I like about those cheap WS2812B controllers
([https://www.amazon.com/s/field-
keywords=ws2812b+rf](https://www.amazon.com/s/field-keywords=ws2812b+rf)) is
the RF remote. An add-on for the Pixelblaze would be neat. Just on/off,
changing the brightness, switching patterns, and switching to auto cycling
between patterns would be sufficient.

One more suggestion: support for 2D patterns (I guess it's just the previews
that need support since you can do simple math to turn a 2D pattern into a 1D
strip)

Also: open source, please :)

------
bshep
A couple of other controllers:

\- Falcon PiHat - connect to a Pi and is able to manage 2 string of ~800 LEDs
each

\- EsPixelStick uses an ESP to run pixels - Can be bought on Amazon

both use a standard Ethernet protocol for sending pixel data.

I use xlights to control them but there are various controllers out there.

[https://www.pixelcontroller.com/store/index.php](https://www.pixelcontroller.com/store/index.php)

~~~
solarkraft
Thanks!

------
harryf
Off topic but I like that his website puts the menu where your thumb on mobile
can actually reach it

~~~
jve
I wonder why on earth mobile phones usually have controls on top of the
screen, but not on the bottom. Phone call app has search bar on top. Call
activity tab on top. The default sort behavior, when searching, is to put more
relevant results from top to bottom. Why not bottom to top?

This design decision is especially annoying on larger screen devices.

At least invoking keypad is lower-right corner.

~~~
ino
Because on iOS Safari any touch on the lower area reveals the autohidden
bottom toolbar, so now the button has moved up, and now you have to click on
it again for it to work.

------
tibbon
This is pretty great. For my larger LED projects (3000+ lights) I'm slowly
moving over to something like TouchDesigner for animations and mapping, but
for medium and smaller projects this is fantastic. Will be buying some!

~~~
sdwisely
we've had really great results with TD tops into madmapper (via syphon/spout)
on some installs 6000+ too.

~~~
tibbon
Yea, some combination of that for projection mapping, and perhaps sending
directly out to Artnet/sACN for LEDs, servos and lasers? Still trying to piece
it together as things get bigger and bigger.

My contact information is in my profile. Can you reach out? I'd love to see
some of the stuff you're doing and ask a question or two.

~~~
pixelface
on jobs we use pixlite controllers for controlling lots of addressables and
send it artnet out of touchdesigner. no need to involve madmapper as
touchdesigner handles all the mapping you could possibly want without adding
the latency of piping out to madmapper. if you're just doing hobby projects
you can stream serial out of touch via USB to a teensy 3.2 and control (in my
experience) around 4000 LEDs at ~60fps. for lasers you should check out the
etherdream, simple and works well. servo control you'll need a board but
generating the software side in touchdesigner is simple.

~~~
tibbon
I've got a Pixelpusher laying around that in theory drive servos, but I
haven't tried it yet. Thanks for the advice!!!

------
rubatuga
This is exactly what I imagined a great LED pattern management system would
be, except executed 10 times better than anything I could have built.

------
mhroth
I've spent the last four years learning the art and craft of LED art. I
suppose I wouldn't change the way that I do things, but if I were starting out
again I'd definitely use this. I can very much appreciate all of the work that
this system takes off of my hands. The auto-recompile low-iteration-time is
key. Very impressive!

~~~
solarkraft
How _do_ you do things?

------
h4b4n3r0
I’ve been using plain Arduino and FastLED to drive 300 individually
addressable LEDs as a Christmas ornament for the past 3 years. Super simple,
and my kid can write his own patterns in C. Nowhere near this level of effort
though.

------
SethTro
I'm working on several medium sized LED projects and am curious if anyone has
a guide or links to buying WS2812 or similar strands.

I've bought a ~10 of these
[https://www.amazon.com/gp/product/B00ZHB9M6A/ref=oh_aui_sear...](https://www.amazon.com/gp/product/B00ZHB9M6A/ref=oh_aui_search_detailpage?ie=UTF8&psc=1)
but I would love to find a slightly cheaper source. Alibaba seems to sell them
at half the cost but product titles, photos, and descriptions don't ever seem
to match

~~~
StavrosK
They have 5m spools of 60 LED/meter strips for $25 here:

[https://www.ebay.com/itm/WS2812B-Strip-LED-
Lights-5050-RGB-3...](https://www.ebay.com/itm/WS2812B-Strip-LED-
Lights-5050-RGB-30-60-144-LED-M-IC-Individual-Addressable-
DC5V/262452005540?epid=1561134077&hash=item3d1b5bcaa4%3Am%3AmkMwXOyKYoE3TxVrA-
ee05w&var=561255461869)

------
etaioinshrdlu
Random question: has anyone seen a neopixel-compatible interface LED in a
tinier package, like 2mm square? Would be great for some applications.

~~~
kbob
You can get WS2811, which is the driver chip without an LED. You can hook that
up to any RGB LED in any form factor. It's more expensive and requires more
PCB space, but you get flexibility in LED placement.

------
shriram2
Ws28xx LEDs based projects are worth doing . Here is one of my project Alexa +
Ws2812b
[https://m.youtube.com/watch?v=mSTAEfD8b7A](https://m.youtube.com/watch?v=mSTAEfD8b7A)

Audio Reactive lights -
[https://m.youtube.com/watch?v=LXyipKAUpEs](https://m.youtube.com/watch?v=LXyipKAUpEs)

~~~
lozaning
Wow this is awesome! Can you share more about how you've set this up? I'd love
to read a write up if you've got one.

I've got something similar going on right now with my phillips hue strips and
their new realtime api, but every strip is all the same color.

------
andrewkirk
Great work, such a useful hardware and software package. A few months too late
for our project, will use for next year.

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

Are these still the state-of-the-art in their category?

------
chrisparton1991
Nice to see you on Hacker News Ben! This is Chris a.k.a. ChrisLights, I spoke
to you about Sparkled on one of your videos a while back.

It's awesome to see you getting some recognition for your excellent work on
Pixelblaze, keep it up!

~~~
simap
Thanks! I'd love bring these together in some way. With the sequencer in
[https://github.com/sparkled/sparkled](https://github.com/sparkled/sparkled)
and the network sync stuff in
[https://github.com/simap/Firestorm](https://github.com/simap/Firestorm) we
could have a really nice sequencer setup!

~~~
chrisparton1991
I'm definitely keen to collaborate once my core features are a bit more
stable!

I'm working hard on a stage editor at the moment, I'll send you a video
sometime soon :)

------
gonesilent
See also pixelpusher
[http://www.heroicrobotics.com/products/pixelpusher](http://www.heroicrobotics.com/products/pixelpusher)

------
solarkraft
This is great. I have been planning to install some LED strips for a while
now, but software has been holding me back.

This submission comes in just as some others are planning to order strips in
bulk.

Thanks!

~~~
solarkraft
Welp, never mind, I don't see where I can download it.

------
jacquesm
If you want an interesting side project: spin a string of these addressable
LEDs to make a circular display, or sweep a plane of them for a display
volume.

~~~
StavrosK
I did just that, and it's fantastic:

[https://www.makerfol.io/project/Z5XFwxh-lighttracer-a-
photog...](https://www.makerfol.io/project/Z5XFwxh-lighttracer-a-photography-
experiment/build-log/)

Latest, gamma-corrected version:
[https://i.imgur.com/3o1jzh3.jpg](https://i.imgur.com/3o1jzh3.jpg)

Colors: [https://www.instagram.com/p/BmJ5w_nA6ey/?taken-
by=eltthought...](https://www.instagram.com/p/BmJ5w_nA6ey/?taken-
by=eltthoughts)

All I need now is to take one good photo with it so I can write the post.

~~~
jacquesm
Hah cool :) This one was on one of my idea dump lists a couple of years ago,
it's super nice to see it in real life, beautiful work!

I really like the tree sitting outside, it's like a hologram from a sf movie.

~~~
StavrosK
Thank you! Yes, I love the tree too, I need to shoot it again after the color
correction (and experience not over exposing the image).

I'll release the code soon if you want to try it out, it's pretty much just an
ESP8266 connected to a LED strip.

------
ben174
Just in time for Burning Man, working on my bikes today - and I've got a TON
of WS2812's - definitely gonna give this a shot.

------
StavrosK
Great project! The hardware looks pretty simple, but the software side looks
like a lot of work was put in, and it shows. Fantastic job.

~~~
StavrosK
Oh, I just noticed it's closed source. Too bad :/

~~~
solarkraft
Followed the same path as you. Of course the hardware is ridiculously
expensive, as it happens when you spin your own stuff (needlessly).

Will have look into rendering the patterns & streaming over sACN (a DMX-
derived, seemingly standard protocol mentioned in another comment).

~~~
StavrosK
Which do you mean is expensive? The hardware costs around $5.

~~~
solarkraft
The Pixelblaze guy wants 30$ for _his_ ESP8266 board (I get mine for
2,7€/piece). A lot of that money probably doesn't go into the development of
the software, but manufacturing and shipping.

I just installed an Open Pixel Control [0] server [1] (receiver) on a Wemos D1
mini and can now stream pixel values to it using python [2].

This comes with all the downsides, of course, but does add a lot of
flexibility. Pixelblaze is probably very well written and has some great
features (and infrastructure, I'm considering writing a parser for the
patterns). However I don't want to pay a gigantic markup for a weird ESP8266
board and have to wait for it to ship to me, supporting (while sinking a large
part of the money into stupid overhead) the development of software that isn't
even open source.

[0]: [http://openpixelcontrol.org/](http://openpixelcontrol.org/)

[1]: [https://github.com/ppelleti/esp-opc-
server](https://github.com/ppelleti/esp-opc-server)

[2]:
[https://github.com/zestyping/openpixelcontrol/tree/master/py...](https://github.com/zestyping/openpixelcontrol/tree/master/python)

~~~
simap
Hi, Pixelblaze guy here :) I totally get where you are coming from. It would
be nice if you could drop this on any old board and be up and running.
Hopefully I can share some of my perspective.

Pixelblaze is a commercial venture for me, and I have to figure out how to
make some $ from it to pay for my time so that I can keep making it better. I
can't afford to spend the amount of time that I do on a hobby, and I don't
have a sponsor.

If I figure out a way to open source it and have financial incentive to keep
working on it, I'll do that. I've been carving out bits and pieces to open
source that I think are useful utilities.

The hardware itself solves a few problems, such as level shifting, that I
haven't see embedded on other esp8266 boards. It also provides a platform for
more interesting hardware such as the (fully OSS+OSH) sensor expansion board.

On the pricing side of things, the hardware isn't a majority of the cost. OTOH
I'm never going to compete with the $3 boards w/ free shipping. I don't have
the volume where I can drop the per unit 'software overhead' to a level where
I'm competitive with the low end Chinese markets.

The price of the product as a whole is very competitive in this market. There
are cheap no-feature (completely closed) LED controllers for not much less,
and high-end controllers start in the hundreds of dollars.

\---------

If you want to replicate something like the language in Pixelblaze, it's not
so bad. Its syntactically ES6, though without many of the dynamic features of
JavaScript.

Michael Leibman (@michaelleibman) put together this codepen that emulates
Pixelblaze compatibility here:

[https://codepen.io/mleibman/pen/WMVbVq?editors=0010](https://codepen.io/mleibman/pen/WMVbVq?editors=0010)

You could use that as a starting point for some kind of RPi nodejs app that
pushes pixel data to your ESPs, or perhaps port the functions (they aren't
rocket science) to Python.

I toyed with the idea, but realized I have too many hobbies already :)

------
exabrial
Curious if it can accept DMX in any form? (Though iirc DMX only goes to 16bit
color)

~~~
FraKtus
There are DMX led strips, but they are more expensive and more fragile because
they have more components on the strip.

------
karanlyons
Can you network multiple boards together to drive larger LED arrays in sync?

~~~
simap
[https://github.com/simap/Firestorm](https://github.com/simap/Firestorm)

It's new, I haven't had a chance to update website/videos. Syncs animation
timebases and lets you push sticky commands to multiple Pixelblaze on a
network.

------
NikolaeVarius
Nice. After defcon I've been thinking about putting together some LED screens
for shits and giggles.

I'm normally not big on LEDs but some of those patterns were pretty mind
bending

------
ateesdalejr
ugh... blocking fonts makes the content invisible.

