A prototype is a preliminary model of something. Projects that offer physical products need to show backers documentation of a working prototype. This gallery features photos, videos, and other visual documentation that will give backers a sense of what’s been accomplished so far and what’s left to do. Though the development process can vary for each project, these are the stages we typically see:
Proof of Concept
Explorations that test ideas and functionality.
Demonstrates the functionality of the final product, but looks different.
Looks like the final product, but is not functional.
Appearance and function match the final product, but is made with different manufacturing methods.
Appearance, function, and manufacturing methods match the final product.
Chromatron is an open source Wifi pixel controller designed to make LED pixel projects easy and fun.
Hi, I'm Jeremy! I've designed a toolkit for making art with LED pixel strips, and I'd like to share it with you! Chromatron takes custom designed hardware and feature-packed firmware, sprinkles it with some Python, and serves up a delicious new platform to help you transform your world into a psychedelic dreamscape.
What can you do with it?
Make art with LEDs! At least, that's what I'm using it for. Here's some stuff I've made with Chromatron:
This is one of my favorites:
Most of my apartment's lighting is powered by Chromatron as well:
Even my coffee table, because why not?
Why use Chromatron?
Chromatron is packed with features that make LED projects awesome:
- Control up to 300 pixels per Chromatron
- Stream pixel data over Wifi with the Python API
- Run graphics code directly on hardware with the built in FX scripting engine
- Take control with the command line interface: built in device discovery, dimmer controls, pixel setup, and more
- Easy LED wiring via screw terminals
- Open source: I'm releasing everything after we hit our funding goal!
How do you use it?
There's two main ways: remote control with Python, or local control with FX Script.
Remote Streaming over Wifi
You can stream raw RGB data over Wifi with the Python module. It handles all of the network details, so you don't need to worry about IP addresses or network ports.
You can also use HSV as well, if that's your preference. I also plan on implementing Art-Net while the hardware build is ongoing. (I haven't yet because I don't personally use it.)
The Python library also gives you an easy interface into device commands, such as loading FX scripts, changing dimmer settings, discovering devices, loading firmware updates, etc. The Python code is what powers the command line interface.
Local Control with FX Script
FX Script is a language based on a simplified Python syntax designed specifically for making LED pixel graphics. It runs directly on Chromatron hardware, so you don't need to use C or C++. You can set up the compiler to run automatically when you save your script and have it reload your Chromatrons instantly. The ability to get instant feedback is easily 90% of the reason I created FX Script.
Once you've loaded your FX program, you don't need a Wifi connection to run it. It will just start up automatically every time you power on your project. You only need Wifi if you want to change something.
Here's a quick tour of what it's like to use Chromatron:
Why am I making this?
I'm a lifelong maker and engineer, and on top of that, I really love making things with LEDs in them. I've spent enough time doing LED projects that I feel like I have a good idea of specific challenges to getting things done. Things like accidentally wiring the LED strip wrong and having to unsolder it. Having to recompile your code and then take your project apart to change the LED effects. Needing extra hardware to make LED strips work with anything that's not a 5V system (which is almost everything these days). Etc. None of these things are that terrible if you're only doing one project, but if you do a dozen, it's nice to have better tools. Actually, it's always nice to have better tools, provided they exist ;-)
I wanted something that has all of the LED specific stuff built in, was open source, could support live coding over a network (without invoking the C compiler and reloading the whole operating system), and work with a ton of different LED strips without changing firmware. I couldn't find anything that does all of this, so I made something that did.
Here are few of my favorite things about working with Chromatron:
I can do live coding, which means my graphics script reloads automatically every time I hit save. It happens in less than one second. Oh, and I can do this simultaneously for every device that uses that script, if I want.
There are separate dimmer controls. This is nice for turning things on and off (or anything in between) without having to change the actual graphics code.
Settings update on-the-fly. For instance, if I counted the pixel strip wrong, I just update it from the command line without rebooting or recompiling anything.
I can tag devices with multiple groups and names (up to 8), and then query for them. It's very rare that I actually need to care about the IP address of something.
There's more to love, but if I had to pick four, those are my four.
Why back this project?
To build something fun with Chromatron of course! This project is very straightforward: I'm making Chromatrons and mailing them to people who want them. But if you're a fan of the idea but don't actually want to build something, I've got T-shirts and stickers as well.
Where's the money and time going?
Most of the money is going in to the hardware itself, along with tooling fees, test system hardware, and other miscellaneous costs. Some of it will be spent on the pizza and coffee that fuels your engineer on this venture ;-)
The majority of the timeline will be used for coordinating hardware production, building hardware test systems, creating documentation and tutorial content, and of course bug fixes for any issues that crop up. I'll probably throw in some additional software enhancements in the time between now and shipping (these will be listed on the Github page when it goes live), because I Just Can't Stop.
The project itself has been under heavy development since August 2016, and most major technical aspects are done. The hardware design itself is finished and over a dozen hand-built examples are running 24/7. Most of the lighting in my apartment is powered by Chromatron.
4x PWM outputs, 3 amps each
1x Pixel clock + data output with built in level shifters, multiplexed with 2 of the PWM channels
2x power and ground connections
Micro USB port
2x expansion IO headers for future use
Chromatron supports 5V and 12V LED systems.
2.0 x 1.25 inches
Main IO processor:
Atmel AVR XMega128A4U
This processor runs the real time OS, handles raw pixel data output, USB, auxiliary IO, and the user file system.
Handles Wifi communications, scripting engine VM, pixel faders, and HSV to RGB colorspace conversion. Connected to the real time processor via 4 MHz UART bridge.
Still have questions? Hit that FAQ button and ask away!
My name is Jeremy Billheimer. I've been doing LED lighting projects since around 2011. I've also designed electronics and software for aircraft, commercial LED lighting systems, data acquisition systems, and wireless communication systems. I went rogue in 2016 to focus on Chromatron and spend more time making LED artwork.
Risks and challenges
We've all heard Kickstarter horror stories, so it is fair to ask how I plan to avoid becoming one of them. Let's break the Chromatron project down into smaller parts:
I'm an experienced electrical engineer specializing in embedded systems, both hardware and software/firmware. I have two engineering degrees and 10 years of industry experience. Chromatron leverages that experience - I definitely would not have thought to attempt a project like this 10 years ago, though I'd certainly dreamed of it. This isn't just a hobby side project to me, this is *what I do with my life*.
This one is easy. It's done. Seriously. Since January. I might have to adjust some silkscreen to help the manufacturer with part alignment, but that's pretty much it. I might also change the current "v0.5" to a "v1.0" to better reflect the doneness. I've hand built over 25 units, they all work great. I'm building a few more, because I keep running out. I consider this a good problem to have.
Also mostly done, at least as far as what we need for a solid v1.0. I'm keeping things somewhat simple for the Kickstarter: it's a Wifi pixel controller with a built in scripting engine. All of that works - I use Chromatron every day; it powers most of the lights in my home.
There's a few enhancements I'm hoping to finish in time for shipping, those will be on the Github issues page. Most of the software work I plan on doing is in improving test coverage and creating the manufacturing test systems.
This is where the rubber meets the road, so to speak. I've done electronics manufacturing before, and in that regard, Chromatron is actually one of the simplest designs to build that I've dealt with. I've experienced the full gamut of manufacturing gone wrong: incorrect parts mounted, boards overheated, multi-layer boards built in the wrong order (that was a fun one, believe me), parts mounted backwards, shipping delays, etc. Tons of things can go wrong. Tons of things I know how to fix.
Chromatron will be built locally here in Austin, TX, at a vendor I've used for past projects with excellent results. While it's true that there's often an upfront cost savings by going straight to China, I've learned the hard way that paying a little more to get something built a 20 minute drive away is a huge advantage if anything goes wrong.
Additionally, depending on how many orders I get, I'll do a 100-200 unit pilot run before committing to building the rest. Again, this is based on hard won experience. Never build 1000 of something if it's the first time it's being built. You'll be sad if you do.
This is the first time Chromatron is being released into the wild. There will be bugs. There will be confusion. I'm not planning on disappearing after I ship everything out - I use Chromatron almost every day. I'll be around to help get things straightened out. I'll also be working on a lot of documentation and tutorial content, so by the time you get your Chromatrons, you'll have plenty of reference material to help you get off the ground. We'll also have a place where the community can post questions and get answers. I'm excited to see what everyone comes up with and to help out however I can!