About this project
Hi! We're Heroic Robotics, Inc., and we're asking you to help us develop the next generation of lighting.
PixelPusher is a device that connects ultra-bright, high-speed individually controllable LEDs to TCP/IP networks via an open protocol. We combine this with a smart, easy-to-use open source client API that allows the LEDs to be organized into arrays of any size or shape, and controlled from any Java, Python, or C# application. We have also developed an integration with the Processing visual programming environment on Android, Mac, Windows, and Linux. This provides a lighting system of unrivaled flexibility and capability, extreme energy efficiency, and expandability.
You can take PixelPusher and put it anywhere- from a single LED strip to a matrix of thousands- and control it from anywhere, over any network connection. We think it's a revolutionary product, not just because it is so flexible, but also because our software interfaces are open, published, and maker-friendly. Want to build a Jumbotron? You can do that. Want to graph your build status on the wall of your office? You can do that too. We'll even help you figure it out.
Here's our system installed with 32 strips at a club:
We have spent the last six months developing the product you see here in the video. It's a great product, with a few happy customers, but we're looking for funding to take it to the next level: manufacturing the v3 board, in quantity, and shipping it to wherever blinkenlights are needed. We are looking to move to a higher level of integration, and we have a board design nearly ready, but to manufacture it we really need to build a run of 1000 units. We will finance part of this in house, but there is a shortfall of about $50,000 that we're looking to make up on Kickstarter.
We have a few boards ready to ship (about 20) from our first batch, which can ship today if you want, and we're looking to make a batch of 1000 for our second run, with the higher integration PCB and an injection molded case.
You can ask questions and talk to existing customers on our Forum
High-Output LED Strip:
Each LED strip contains 240 high output LEDs evenly spaced along the entire 5m strip. They are terminated with the same connector that PixelPusher uses, and can be plugged right in and ready to go. They can be cut at two LED intervals and rejoined by soldering. There are 48 LEDs per metre- they are about eight tenths of an inch apart. Each pixel is individually controllable. The strips run on 5v.
Packages of four high-intensity LEDs per pixel. 12V. 2" square.
High quality silkscreened American Apparel t-shirts:
Android/Mac/PC/Linux Simple Color Selector Software:
How We Got To Here
Back in the dim and distant days of 2009, we were looking for something to give our Burning Man camp some pop. We found some addressable LED strips (that’s to say, ones where you can turn the LEDs on and off individually) but the controllers for them were either insanely expensive, or just completely derp. Color chase sequences didn’t turn us on; we wanted to be able to do cool stuff, like generative imagery, cellular automata, showing text, that kind of thing. So Jas whipped up a little PCB that carried an eight-bit micro and ran a bunch of strips. The problem was, though, that the micro wasn’t really powerful enough. It didn’t have enough RAM to keep the strips fed- at least, not when it had eight of them to deal with- so we had to generate the images in realtime, and worse still, the only network interface they had was USB, which has a distance limit of five meters and isn’t galvanically isolated. Anyway, we all got busy, and didn’t come back to it for a little while.
In 2010, Jacob was looking for a processor to use for his Ether Dream project, and picked the ARM Cortex-M3 based LPC1758. This is a fast, capable 32-bit processor, with an on-chip Ethernet interface. He built his device, and it worked very nicely, so Jas picked up a development kit based on the processor with no real goal in mind. She realized that the fast 100 MHz processor and rapid, DMA-driven ethernet interface were just what was needed to push pixels! Hooking it up to a few of the strips from the original Burning Man project, she discovered a showstopper: these LED strips were terrible! The manufacturing quality was terrible, the LEDs were not super efficient, and the chips they used to control the LEDs were pretty gross too.
She reached out to her friend, Craig Shih of Illumination Supply, a specialist in LED products, and together they crafted a better LED strip, with higher quality materials, brighter LEDs, and better control chips. They ordered three batches of prototypes, and went through a long testing phase to get to the devices you see in the video. Developing a fully custom firmware stack on the platform, including a realtime operating system, TCP/IP and USB, and then designing a network protocol to make it all work together remained. Flexible LED strips controlled by an advanced controller under software control from any computing device were now possible.
That was just the beginning of the process of making a device we could sell, though. We needed a case for our device, so we called on Chris Agerton, who whipped up a custom case in SolidWorks in about no time at all, and we needed backend software, which Matt and Jas whipped up. Now we had a (rather expensive) low-integration device with which we could start seeding the developer community. Jas called Jacob back in to develop a high-integration board based on the design kernel of his Ether Dream layout, but with a second processor for management and programming, and substantially reduced cost per unit.
That’s where we are right now. We have sold twenty PixelPusher systems, together controlling fifty thousand LEDs, and we have a few in house for testing and development. But we believe we can push this much further, with tried and tested designs backing up seriously advanced software.
Risks and challenges
The risks are quite small. We have stock for the early batch that is ready to ship, the software is developed and the firmware runs and is tested. There is a slightly larger risk for the batch we haven't manufactured yet, as we will need to order and ship them, perform testing and scale up our processes. We have years of experience in designing and building microprocessor based systems, though, and all our team members are well acquainted with manufacturing. The PixelPusher boards we have in stock are hand-made in California, and the boards we are looking to manufacture will be made in California too- so there are no risks from overseas manufacture. If there is a cost overrun then we will eat it and make it up. The June timeframe seems easily possible, though we may run a little late- we will offer refunds to anyone who cannot wait any longer, or alternatively make a second run of the medium-integration boards.Learn about accountability on Kickstarter
PixelPusher is a small device that has an ethernet interface on one side and connectors for eight strings of LEDs on the other. In between, there’s a high speed processor that handles presenting those LEDs as a network device. So that you can use these LEDs in a coherent, controlled way, we provide a flexible library for Processing, a visual programming environment.
Not at all! We provide ready-made Processing applications that can connect your LEDs to many live video applications on the Mac, and some that can show graphics and react to audio- all you need to do is copy your graphics into the right place and run the app. We support Syphon on the Mac, which is fast and efficient, but if you're using Windows then you can use webcam emulation to feed video from any live performance application into PixelPusher.
Okay, well, that sounds like you're designing this for people who can't code. I'm a totally elite hacker and won't bow to your restrictions.
Calm down, hotshot. All our interfaces are open and published, our library is open source, and our users have already ported it to Python and C#/Unity, not to mention that Processing is badass and you should try it out. If you do something really cool, please share it with our other users at the forum! We love our creative, motivated users. They are awesome.
Check out our detailed programming information, available on the forum. The basic system is an embedded TCP/IP stack running on a realtime OS, managed in an asynchronous, scalable array of autoconfiguring autonomous system segments, under marshalling control of one or more hosts.
PixelPusher has a USB host port that you stick a flash drive with a text-based config file into. When it resets, PixelPusher reads the config file. There are many options, and we list them all in a document you can get (you guessed it) from our forum. The reason we do it this way is that it means you can swap PixelPushers in a few minutes without having to have a laptop or a cable or whatever to configure it- the config is on the USB stick, so you can pull it from the old one and stick it in the new one.
White and black are available.
Jas once failed a Voight-Kampf test, but all five members of the team are believed, at present, to be human.
DMX is unsuitable for controlling our strips. A DMX universe consists of 512 channels, and a single one of our strips has 240 * 3 = 720 individually controllable channels.
ArtNet is another matter. Unfortunately, ArtNet does not include any support for traffic shaping or realtime quality of service, and as a consequence it is not suitable for the sort of high resolution, low latency video that is supported by our system. However, there is ArtNet support for Java, and this can be integrated with our Java code- so you could relatively easily integrate ArtNet at the point of control. It really depends what you want to do.
Support this project
- (30 days)