I have been in stealth mode since the end of Anthrolume’s gallery showing last year, but behind the scenes I’ve been working my ass off on Anthrolume 3.0. Now that I’ve made some serious progress it’s time for an update.
- Better music reactivity
- Longer battery life (expected: 8 hours)
- Many more animations
- Animation "sets" for different moods/situations (e.g. Mellow, Rave, etc.)
- Faster, more capable CPU
- Completely re-engineered CPU board, power boards, and battery belt
The suit itself – the jumpsuit with 250 LEDs mounted in it, will remain the same. It’s the stuff under the suit that’s changing, along with the software the runs it.
The big change this year (for me at least) is switching to an ARM-based CPU board called a Maple Mini. I was introduced to this product by someone who attended my talk about Anthrolume at a Dorkbot meeting in Seattle. It uses a 72MHz ARM processor and has 20K of RAM and 128K of flash. It is, for my purposes, superior to the Arduino Mega I used last year, and even superior to the new Arduino Due (which is also ARM-based) because the Maple Mini has dual SPI interfaces, allowing me to communicate with my SD-card reader on one SPI interface and the LED strand on the other, all with hardware acceleration. Those two SPI busses in conjunction with the faster CPU give me more timing accuracy and thereby enable better music reactivity.
Porting the 5,000 lines of software from the Arduino was a little daunting, but turned out to be largely straightforward, thanks to Maple’s nearly identical API and the existence of a few key libraries from the Maple community.
I was getting about six hours of battery life from the eight LiPo batteries I had powering the LEDs in Anthrolume 2.0, which might seem like a lot, but every night at Burning Man I was running the batteries into the ground. I want to run out of energy before my suit does! So this year I’m adding four more batteries to the stack that powers the LEDs for a total of 12. They are wired in series-parallel for 7.4V with 16,200mAh of current on tap. For comparison, that’s about 1/3 the capacity of a small car battery.
The new CPU is much smaller and runs at 3.3V. So this year I’m running all four of my small batteries in parallel, for 3.7V at 5,200mAh of capacity for the computer and radios. That is probably enough power to run for a week, but I haven’t done a current test yet.
The suit will continue to support Bluetooth control from a phone app (now running in a slick little HTC Incredible), and XBee radio sync with the other members of my whack Prismaticamp crew.
The New Belt
Here’s a schematic drawing of the new belt. This year I’m putting the belt clasp in the front. The CPU box moves to one side, with the CPU battery box (and power switch) to the other for easier access. The four LED battery boxes will live on the sides like before.
The New CPU Board
The new CPU board is compelted and works great. It can play back animations off the SD card and do about 85% of the things the pre-port code could do. Here’s the board layout of the new board along with images of the completed part.
The board has three connectors on it:
- Power – 5V and 3.7V from the power consolidation box
- Keypad – for the hand-held keypad
- LED – where the computer attaches to the suit itself.
This year I changed fabrication methods, reverting to a construction technique that peaked in the 60s called "wire wrap." It turns out to be insanely fast compared to the fabrication methods I’ve used in the past, and was a huge win. It pays to plan ahead (as I did), but it’s rapid and easy, and can be tested in phases. When I had the entire board wrapped (which took one night) and tested, I finally soldered all the wrap points and cut the pins.Another nice side effect of switching CPUs was that now I can use a lower-profile box for the CPU – less bulging around the belt. And I’m using the same size LDPE box for everything now, batteries and CPU alike.
The suit’s animations are still precomputed by my (updated) Animaker software and stored on an SD card. This year the animations are partitioned into sets for different moods or locales. Currently I have a “Mellow” and a “Rave” set but I may make some that are related to moods, predominant colors, etc. Any one animation may be present in multiple sets. This change, while seemingly simple, turned out to be quite a challenging change to the software both on the PC (Animaker) and on the embedded software that runs on Anthrolume. But hopefully the result will be a better experience for everyone watching.
I did a lot of work on Animaker for this version of the suit, mostly to add support for sets as described above. I also added a one-button Export All that creates an SD-card-ready image of everything that the suit needs. Additionally I did a general cleanup of the interface. Here is the Animation tab of the updated software.
Here’s the Sets tab, which handles set management and various batch processing.
AnthrolumeControl is the name of the Android control application I wrote to handle more complex interactions with the suit, such as typing text to be scrolled across the front and back of the suit. That software is largely unchanged, but some new functionality as been added for switching between animation sets.
What’s really going to make Anthrolume seem different from what it was last year will be gobs of new animations. I have learned from experience what looks good, and that even simple animations I make myself can really make the suit shine (no pun intended). I am changing the way I do music interaction with the hand controller this time, and that in conjunction with the faster response time of the new CPU should make the suit’s animation cuts be dot-on with the beat of music. That’s my goal anyway. As I improve the music interaction I’ll post video showing what it looks like.
All in all, it’s a pretty exciting time over here in the land of Anthrolume. Stay tuned for updates.