Experiments in wearable electronic art.

1 Comment

Anthrolume 2.0 – it begins

That’s right…I’ve started working on Anthrolume 2.0. I’ve taken the wisdom garnered from the five-month experience building the first anthrolume suit and come up with a design for a completely new suit.

The new suit will not have the external straps and wiring harnesses of the original suit. They proved fragile and inconvenient. The new suit will be built into a large painter’s coverall, with all the wiring on the inside. The business end of the LEDs will emerge through holes in the suit, and all the wiring between LEDs will be inside the suit.

This arrangement has all maner of advantages. For one, the suit will be “huggable,” which was a major drawback of the previous attempt. It will be easier to put on and take off. It will be more adaptable to variations in nighttime temperature – I can wear whatever under the suit that makes sense based on weather conditions. And since the computer and batteries will also be inside the suit, I won’t have to worry about losing anything if one of my boxes opens up while I’m dancing (which actually happened a few times last year).

Also, I’m using different LEDs this year. Last year I used ThingM MinM LEDs. Each LED had a tiny computer on the back, to which I could send high-level commands like, “be some color,” or “fade to black.” Those LEDs were fantastically great. But they were also insanely expensive – $425 just for the 50 LEDs I had on my suit. This year I’m building the suit with dumber, but cheaper LEDs. The new LEDs, CoolNeon Total Control Lighting strands, also have a chip at each LED that makes them “stateful.” That is, I can tell each LED what color to be, and it will stay that color. But that’s it – the LEDs are basically dumb. However, they’re also about $2/LED, which is much less expensive.

Another major departure from the previous suit will be a general move towards prerendered animations. In anthrolume 1.0, I had the Arduino microcontroller calculating the colors and states of each LED for every frame of animation algorithmically. This worked, but was pretty hard work. For 250 LEDs, it’s basically untenable. So instead I’ll be writing some offline software that lets me create the animations a priori, store the animations on an SD card, then play them back off the card while I’m walking around in the suit. It takes a lot of the computational load off the Arduino – all it has to do is clock a ton of colors into the string of LEDs, which is hardly any work at all.

The much larger number of LEDs provides me with the possibility of doing some exciting new things with the suit. The LEDs wil be all over my body this time – not just on the front, and the higher density of LEDs on my chest and back will allow me to put text and low-resolution images on my body. So while most animations will be prerendered as described above, I will also do some on-the-fly rendering with the Arduino to allow me to communicate using the suit.

I’ve taken the first two steps in the fabrication of the new suit – I bought a painter’s coverall, and I got five strands of 50 TCL LEDs. Today for the first time I put all the LEDs in a string and controlled them with an Arduino. The original idea was to do a current-draw test – how much current do 250 TCL LEDs draw when you turn them all up to #ffffff (that is, full-brightness white)?

That I still don’t know. It turns out that I need to inject power in between strands. I can’t just power one end and have the current propagate all the way to the end. So for now, I have to run the LEDs a low power, or the LEDs further downstream don’t work (they just light up red).

The video below shows all five strands running at 1/8th power. The simple program running on the Arduino just clocks a random color into each LED, sending new colors every quarter-second. If you look closely, you’ll see that the LEDs near the end of the strand are “redder” than the ones closer to the front. This is a side-effect of me not injecting power between strands. I ordered some cables that will allow me to inject between each strand, so I ought to be able to test that soon.

And so it begins. I’m really looking forward to this new adventure!