My Tron suit costume is complete and was shown at CONvergence 2013.
Code, Schematic, and DXF files:https://github.com/Swap-File/tron-suit
The Helmet is a inexpensive eBay motorcycle helmet with a 20x4 RGB backlight negative screen with serial backpack from a 16x2 (its not sold separately) and a microphone.http://www.adafruit.com/products/498http://www.adafruit.com/products/784http://www.adafruit.com/products/1063
The Disc is made of black and frosted laser Cut Acrylic. Neodymium magnets hold it to the holster on my back, which is bolted through my leather jacket and through a backpack. I left the bottom two magnets out of the holster to aid in removal. The disc contains an Arduino Nano, Wixel, ADXL345 Accelerometer, TCS230 color sensor, 1450mAh 3S Turnigy LiPo, 16 outward facing LPD8806 RGB LEDs, and a 5v switching regulator.http://www.adafruit.com/products/306
The Jacket has 80 LPD8806 LEDs mounted onto checkout store pricing strip and adhered to the leather with 3M 969 adhesive transfer tape (its good stuff!). White cloth ribbon is used as a diffuser, and the back side of the clear cover is painted white.
Audio from the helmet is ran through two op amps, first a unity buffer, then one set up as a log amp, (both on a TS922, low voltage, rail to rail) and finally though a msgeq7. The analog sections are on their own 3.3v regulator to reduce noise. Automatic channel muting and more level adjusting is implemented in software.
User input is both from the Disc via another Wixel, and from a Wireless Wii Nunchuk (Memorex brand). A level converter is REQUIRED for a Nunchuk, without one a Nunchukwill eventually short out, likely taking your Arduino with it!
The jacket also pairs with my phone via a JY-MCU-HC-06 Bluetooth Radio. A Python script on my phone allows incoming text messages to change the helmet display and my colors. It also replies with a status message with basic statistics.
Stats are saved to EEPROM once a minute. The stats are snapshotted to ram and written to EEPROM over a few passes through loop() so as not to wait for writing.
The Suit itself has 6 motion based effect modes, 2 EQ based effect modes, and a fully on mode. 8 output modes. 7 levels of max brightness are supported. Fade in, fade out, motion based transitions, etc. Check Manual.pdf for more information.
The LPD8806 libraries were altered to use Michael Noland’s faster assembly routines and then altered to allow outputting their data forwards or backwards without reloading the whole pixel array. The pixel array was also made public so that I could overlay other data onto it for transition effects.
The Nunchuk libraries were altered to support polar coordinates, hot-plugging analog stick centering, and to identify 3rd party controllers and talk to them slightly differently.
The Serial Backpack was altered to turn it into a "Dumb" frame buffer like device.
I tried to make the code easy to follow, and comment everything, but it has turned into a large project with quite a bit of scope creep. I kept tacking more on, and towards the end the code got a little messy while working to meet my deadline. If you have any questions, let me know.