Pixelblaze V2 – An advanced LED pattern development engine and controller
bhencke.com
bhencke.com
https://www.youtube.com/watch?v=3zQ8qC1KQgU
Next step: Warp Core
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.
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!
Edit: matho. 25W, not 50W.
Using the ws2812b Lights and the: 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-...
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!
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.
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...
I was interviewed by embedded.fm about Pixelblaze and some other projects 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.
> Pixelblaze itself isn't open source (yet)
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) 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 :)
- 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.
This design decision is especially annoying on larger screen devices.
At least invoking keypad is lower-right corner.
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.
I've bought a ~10 of these https://www.amazon.com/gp/product/B00ZHB9M6A/ref=oh_aui_sear... 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
https://www.ebay.com/itm/WS2812B-Strip-LED-Lights-5050-RGB-3...
To some extend you get what you pay for but they're good enough for most purposes (and if they go too much kaputt you can replace them with another one for the same low price) and fairly bright too (about 0.25A of LED per meter and 30LED/m density)
Audio Reactive lights - https://m.youtube.com/watch?v=LXyipKAUpEs
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.
Are these still the state-of-the-art in their category?
It's awesome to see you getting some recognition for your excellent work on Pixelblaze, keep it up!
I'm working hard on a stage editor at the moment, I'll send you a video sometime soon :)
This submission comes in just as some others are planning to order strips in bulk.
Thanks!
https://www.makerfol.io/project/Z5XFwxh-lighttracer-a-photog...
Latest, gamma-corrected version: https://i.imgur.com/3o1jzh3.jpg
Colors: https://www.instagram.com/p/BmJ5w_nA6ey/?taken-by=eltthought...
All I need now is to take one good photo with it so I can write the post.
I really like the tree sitting outside, it's like a hologram from a sf movie.
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.
Will have look into rendering the patterns & streaming over sACN (a DMX-derived, seemingly standard protocol mentioned in another comment).
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/
[1]: https://github.com/ppelleti/esp-opc-server
[2]: https://github.com/zestyping/openpixelcontrol/tree/master/py...
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
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 :)
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.
I'm normally not big on LEDs but some of those patterns were pretty mind bending