My friends had been trying to convince me to attend Dragon Con for the last 5 years or so. I myself am not a huge sci-fi fan or anything, but I am a nerd and I do like building cool stuff. That the same idea some of my friends have too. I attended my first Dragon*Con last year with nothing in hand and no idea what to expect, but I left with some crazy ideas. After a while though, those ideas got put on the back burner and other projects took priority. But with DC 2010 looming on the horizon, I got inspired to make an interesting outfit. I thought it would be neat to have a full-body suit of LEDs that I could control to any color or pattern I wanted.
One of my friends and fellow DC attendee, Chris Williamson, decided to build a mobile dance floor this year. He showed me some LED modules he bought from Bliptronics. They are individually controllable, over 31,000 color combinations, and they looked pretty rugged. Check out some pics of Chris's dance floor and his installation of the LED modules below. The whole thing is motorized and fitted with a sound system. And notice the stripper pole in the middle - hanging out with our crowd will be interesting this year...
The LEDs looked great though. I bought 40 of them to try out. I soon realized that in order to make an entire suit light up evenly, I was going to need both some good diffusion and A LOT of LEDs. I also finally caved in and bought an Arduino. Until this point I have used PICs for most of my projects. But Sparkfun sells the Arduino Mini which is small enough to use on the suit. Since Ben from Bliptronics had published source code for the LED modules, the easiest way to test them out was to hook them up to an Arduino. Just a side-note about my gratitude toward Sparkfun: Not only are they a wildly successful company and a great resource to the maker community, but they are the reason why a young renegade web developer could ever be respected as a real electrical engineer building medical devices. Thanks guys!
I couldn't come up with a good idea for an outer suit, so I decided to keep the nerd-factor down and just wear some white dress clothes. Below is a picture of my preliminary test to see how 40 LEDs looked under a white shirt.
The outcome was pretty cool, but 40 LEDs were quickly used up. I went back to Bliptronics, this time ordering another 160 LED modules. At $4 apiece, you can do the math. When I come up with a project, I tend to go a little overboard. Ben was nice enough to give me a discount on the modules. Thanks Ben. I started sewing LEDs onto an old shirt I had. With the white button-up shirt over it, this is how it looked. The video makes it look brighter than reality. It didn't have the effect I was going for -- it needed more diffusion.
I also didn't know how I was going to control so many LEDs. But being a true iPhone user my first thought was "Oh man, it would be sweet to have an app for that...". If you've been following my links so far, you might have noticed that I have a good reason to be tight with the iPhone. However, there was one small problem. I didn't know how to write apps, and I didn't even own a Mac! The last time I bought a Mac was around the time when the App Store was first launched. I bought a Mac Mini and I thought I was going to start writing iPhone apps overnight. I sold it on eBay a few weeks later after a lot of frustration. Well I found myself back at the Apple Store again, this time making an even bigger purchase.
Being familiar with the iPhone and its limitations, and having done it before, I knew bluetooth would be a bad option to attempt. A few weeks ago I had finally received a sample part I had requested from Lantronix almost a year prior. The MatchPort b/g Pro is a wifi-to-serial embedded module. Out of the box it is pre-configured to create an ad-hoc network. No access point required -- perfect for the iPhone. The module has two rows of 2mm spaced male pins, which made breadboarding difficult. My solution was to try to CNC mill a breakout board from copper-clad FR4 from Digikey.
Success! My first PCB produced by a CNC mill. Now I could get started evaluating the Lantronix module. Right off the bat, it powers up and creates the ad-hoc network like it said it would. I hooked the RX and TX lines straight to a Sparkfun FTDI Breakout. I own about 5 of these little boards. They are so handy I typically don't have less than 3 of them hooked to my PC at any given time. Within a few minutes I had a Windows test app written in VB.NET to open a TCP connection to the Lantronix module and I was able to send data from my laptop to a terminal window on my PC wirelessly.
At some point around this time, the rest of my LEDs arrived from Bliptronics. I went to town sewing LED modules onto a shirt and pants. The pants are actually white scrubs, slightly modified to not be so baggy. The material has to be strong to hold up the extra weight of the LED modules. This thing is starting to look pretty silly...
There is more progress! Click here to see Part 2.