The thinking cap

Introducing: My prototype thinking cap! It’s a hat that scrolls a message in changing colors. You can change the message with your smartphone since the hat contains a  bluetooth radio. You can even change the colors and stuff. It runs on 8 AA batteries. I actually wore this at around for a day on campus!

I used the LPD8806 based RGB led strips I purchased earlier, cut into 5 equal length strips stacked one on top of the other to give me a vertical resolution of 5 pixels. I incorporated a basic character set that is 5 pixels high and up to 7 pixels wide to scroll the text across the hat. The text is very hard to make out unless you are at least 5 feet away, unfortunately. The farther you are, the easier it is to read the hat.

Materials and technical stuff:

  • Teensy 2.0 microcontroller
  • 2 x 744052 dual 4 channel multiplexors
  • 1 x 7400 series inverter
  • Sparkfun bluetooth mate gold
  • 8 x AA batteries
  • Diode (6A capable, to drop the voltage on the batteries)
  • Plenty of wires

The Teensy only contains a single SPI interface, which was used to control the led strips. I needed a way to multiplex the SPI between the strips since I didn’t feel like connecting the end of each strip to the beginning of the next strip, so I decided to use the multiplexors. I chose the 744052 since they were dual 4 channels, meaning they behaved like a double pole, single throw switch. This was necessary to switch the SPI data and clock lines between each strip. A problem arose however, because I had 5 strips but the multiplexors were for 4 channels, so I added an inverter and another multiplexor and came up with a cheap scheme to let me multiplex between the 5 using only 3 bits.

MUX 1 MUX 2
Enable Sel X Sel Y Enable Sel X Sel Y
0 0 0 1 0 0
0 0 1 0 0 0
0 1 0
0 1 1
1 Don’t Care Don’t care
B4 B3 B2 Mux 1 output # Mux 2 output # Strip #
0 0 0 1 -  1
0 0 1 2 - 2
0 1 0 3 - 3
0 1 1 4 - 4
1 0 0 - 1 5

The third bit of my output was used to control the enable (which is active low) of the first mux, and I tied the complement of it to the enable of the second mux. This ensured that for values 0 to 3 (000b to 011b) that the first mux was enabled and the second disabled, and when I output 100b, this disabled the first mux and enabled the first input of the second mux. The input select lines on the second mux were both tied to ground, as I only used it to select the 5th strip.

This allowed me to easily index my strips and switch between them when controlling the scrolling text. The text itself was achieved using a framebuffer and a bunch of shifts. The bluetooth radio used was the sparkfun bluetooth mate gold, which allowed me to easily change the text message using the serial port profile and a serial console app on my phone.

Video of hat in action:

Halloween costume ideas

Only a month before halloween is upon us.

For the past few years I have wanted to make a halloween costume, something unique and filled with electronics of course. Time, knowledge and monetary constraints have stopped me, however that all changes this year. I have foolishly decided to forgo worrying about financial constraint for the time being, using good ol’ American plastic to pay for the supplies. What to build?

Earlier in the summer I ordered a heartfelt t-shirt kit from Produce Consume Robot which worked wonderfully. I sat around thinking about how I could possibly extend that functionality, and that is where the idea for the costume was realized. Why not model more of the circulatory system? I already have a component for the heart and my pulse, perhaps I could extend this to the major arteries in the body using chains of LEDS.

Looking around at my favorite sites, I discovered these LED strips.

RGB LED Strip, individually addressable

The strips contain RGB LED’s which can be altered individually because of the the way they are chained together. They contain 32 RGB LED’s per meter. I figured more is better so I found similar products on e-bay which contained 52 LED’s per meter, so I went ahead and ordered a 5 meter reel.

My intention is to cut up the 5m strip into smaller strips which will be overlain on a shirt and pant to mimic the major arteries that go to each foot and up each arm. Pulses of light will travel down the LED strip, and will allow for color changing and special effects. The lights can be triggered by combining with my heart rate shirt, or to external stimuli such as reacting to sound/music around me. Additionally, I thought about adding modes with static color effects and animations, and maybe even persistence of vision effects. All of this should be battery powered, and there should be a very simple interface or remote control to change between the various modes on the fly.

For reacting to sound, I plan to use an MSGEQ7 graphic equalizer IC. This IC accepts audio input and performs some type of frequency analysis. The output is divided into 7 frequency bands, so it is entirely possible to create effects which react to low, middle and high pitched notes.

For the remote interface, a simple button panel will do, but if I have the time then maybe I could create simple android application and use bluetooth to control the lights wirelessly from my phone.

Here is a horrible picture of what I plan to do:

More to come!