loading
Picture of Programmable LED Umbrella
IMG_9552.JPG
The desire: to build a programmable LED matrix that is ultra-portable.  

The solution: using conductive thread, sew an 8x8 matrix of LEDs into collapsable umbrella, then add  a MAX7219 LED Controller, a voltage converter and an arduino mini pro.

The result:  a twinkling blue light show that can fold up to go with you virtually anywhere.



 
Remove these adsRemove these ads by Signing Up

Step 1: Materials

Picture of Materials
IMG_9395.jpg
Materials:

Here's what you'll need (In the photo, clockwise from the umbrella):


- The umbrella: I found a clear "bubble" umbrella at Target for $17.  This turned out to be absolutely perfect for this project.

- Arduino pro mini 328 5V/16MHz: Shown here with headers already attached. The Lilypad arduino would have also worked just fine. The pro mini and the Lilypad are so small partially because they exclude the USB circuitry necessary to talk to your computer, so something like the FTDI board below is also necessary with these boards to hook up the arduino to your co

- FTDI Basic Breakout: This small board hooks up to the arduino mini pro on one end & to a mini usb on the other end. You attach the FTDI board to the arduino to program it, but once programmed, you can leave it behind.

- MAX7219 LED display driver: This is a great little chip that takes care of multiplexing the LEDs. It 's drives a 64 led matrix. One major drawback is that the intensity is set for all LEDs; it doesn't allow setting different LEDs to different intensities. More info available here.

- Protoboard:  I decided it would be easier to hook up the MAX7219, resistor & capacitors via a protoboard than directly on the umbrella. I ended up using a smaller one (1.75" x 1.75") than what is pictured here. 

- LEDs: I used 64 clear blue "super bright" LEDs from SparkFun. I recommend using diffused rather than directional clear variety since your umbrella will be viewed from every direction.

- Solder

- Heat shrink tube

- Headers: 90 degree headers used on the Arduino - it comes without headers attached. Also used to make battery removable.

- Wire: I used standard 22 AWG solid core wire. Using two colors is definitely helpful in keeping track of what's what.

- Conductive thread: I used the heavier 234/34 4ply thread & went through almost an entire 75 yard spool. This was my first time using conductive thread & I found it easy to use. 

- Heavy sewing thread: I used some heavy sewing thread to attach the circuit boards to the umbrella. I tried using clear plastic thread (like thin fishing line) but it did not work well for me.

- Lithium Polymer Balance charger: this special charger is required for the battery I selected...

- 11.1V 900mAh Lithium Polymer battery: This is almost definitely overkill but I wanted something light & compact that would power the umbrella all night long. 

- An old nylon strap & some velcro: I sewed these together to make a holster for the battery.

- Small metal rings: I soldered these to the ends of the wires coming off the MAX7219 board to make it easier to attach to the conductive thread. I happened across these amongst jewelry making supplies in the craft section of a big box store.

- zip ties: to help hold the battery in place

Not Shown:

- Lilypad slide switch: to turn the umbrella on & off

- 1 resistor: 1kO  (rset on MAX7219 circuit diagram)

- 2 capacitors: 10uF & 100nF

- An old car cigarette-lighter phone charger: this is a great trick I picked up in the comments right here on Instructables!. Crack the case off a car phone charger and you have a low cost 12V to 5V converter/regulator, suitable for powering the arduino. 

Optional:

- Sparkfun electret mic & op amp breakout board: to synchronize LEDs with music

Step 2: Tools

Picture of Tools
In the photo, clockwise from the top:

- Helping hands: indispensable. (Pro tip: Put heat shrink tube over the alligator clips so its more gentle on your components.)

- LED tester (optional): this is just a 9V batter, a resistor & some alligator clips to test the rows and columns of LEDs as they're sewed together. Optional, but satisfying to see each row light up as you finish sewing them.

- Soldering iron & stand

- Locking forceps: helpful in threading near the top of the umbrella where its difficult to reach.

- Seam ripper: for mistakes. 

- Scissors

- Tape measure: For spacing the LEDs on the umbrella

- Large-eye needles

- Wire Cutter

- Needle-nose pliers

- Breadboard: I find its always a good idea to test my circuits before making them permanent. I tested the ardunio in conjunction with the MAX7219 board on a tiny 8x8 LED matrix I had around.

- lighter: for the heat shrink tube

- Multimeter

- Solder sucker: mistakes were made

- Wire stripper

That's it. Lets get building...

Step 3: The LEDs

Picture of The LEDs
LedMatrix.jpg
IMG_9587.JPG
The first step is to insert the LEDs into the umbrella.

We're building an 8x8 matrix and this umbrella has 8 ribs, so each rib gets 8 LEDs. I placed my LEDs about 3.25" apart vertically, straddling the rib. Poking the legs of the LEDs through the plastic shouldn't require any tools: the legs are sharp enough to puncture the plastic.  Its important to always place the anode (longer leg) on the same side to simplify the connections later.

After each LED is pushed through the plastic, use a needle nose pliers or forceps to twist each leg into a circle (see image), making sure that the legs are not touching each other

Next, using the conductive thread, sew all the anodes (longer leg) together in each row.

Then sew all the cathodes in each column together. Where a column crosses over a row, be sure that the thread for the column is on the opposite side of the plastic from the row to avoid a short circuit.


Step 4: MAX7219 breakout board

Picture of MAX7219 breakout board
MAX7219.jpg
On a 1.25" x 1.25" prototyping board, I soldered the MAX7219, the two capacitors and a single resistor as described in the excellent Arduino Plaground article on the MAX7219 here.  You can ignore any wires going to "next MAX72xx" in the diagram because we only use one.

I cut 4 wires to about 5 inches each to go from the Vcc, Ground, Load, Clock and DIn pins on the MAX breakout board to female headers which will eventually connect to the arduino.

Next I cut 16 wires to 2.5", soldering a metal ring to one end of each and soldering the other end to each of the 8 seg and 8 dig pins (the 8 rows and columns of our LED array).

Next, using regular thread, I sewed the breakout board to the inside of the umbrella.

Finally, using conductive thread, I sewed the ring of each of the 16 wires first to the panel to hold it in place, and then to connect one wire to one row or column.  The seg pins connect to the rows, the dig pins to the columns.

The electret mic breakout board in the photo is optional. It grabs power & ground from the MAX breakout board & sends the signal to an analog input on the arduino.

Step 5: Power Supply & Arduino

Picture of Power Supply & Arduino
IMG_9573.jpg
The arduino requires a 5V regulated power supply.  Using a trick I learned right here on Instructables, I cracked open an old car-cigarette lighter type phone charger & pulled out the circuit board. I hooked it up to my 11.1V battery on the cigarette lighter side and the arduino on the phone side. Be sure to test the voltage output from the charger with a multimeter to make sure you're really getting about 5V, significantly more could fry your arduino.  I added a tiny Lilypad slide switch between the power supply and the battery to allow me to turn the umbrella on & off. 

I sewed a holster for the battery using old nylon strap.  Velcro allows me to open and close the holster to replace the battery.    I then zip-tied the holster to inside top of the umbrella around a rib and the main tube.

Finally, sewed the arduino and the power supply to the umbrella and hooked up all the wires. 

Step 6: Programming

Picture of Programming
I used the well-documented LedControl library to facilitate controlling the MAX7219. I've included an arduino sketch with some basic testing code here to get you started; these are the patterns you see in the video.

That's it! Enjoy!

Write some algorithms of your own, turn out the lights and take joy in your creation.

Things to try:
- Algorithms, algorithms, algorithms! Make amazing, beautiful patterns
- RGB LEDs- Matching LED Galoshes
- Wirelessly synchronized umbrellas
la-jetee3 months ago

I should have said '... am having difficulty ....'

la-jetee3 months ago

Nice project!

Can you advise me?

I'm planning to build something using MAX7219s but am difficulty understanding the theory behind the calculation of Rset. I assume Rset sets the forward voltage and current through the LED array. Assume that Vf = 2.0 V and If = 20 mA, then then RSet must drop 3 V (if Vcc = 5 V) @ 20 mA = 150 ohms. But the table on Page 11 of the MAX7219 datasheet says that RSet in this case is 28k ohms.A huge difference I don't understand!

Any help most welcome.

E1Mike2 years ago
im not really sure if it is posible to do a matriz of stripes, https://www.sparkfun.com/products/11750, and it also can help to make it waterproof with the right enclosure for the components
dzizka3 years ago
also, athough I know it would help, I do not know anything about electronics. Is this project something someone who has zero knowledge of electronics should be able to attempt? or should I save my money and not bother ordering the parts?
dzizka3 years ago
This is great! I walk stilts for a living and need a lite up umbrella for my costume.! I would buy yours if it were for sale haha. Thanks for posting.
PICme3 years ago
Great Instructable. I know you posted this sometime ago but did you write any sketches for the mic input.
thepelton4 years ago
This reminds me of the luminescent umbrellas in the movie "Blade Runner."
I saw an item on thinkgeek.com that was a replica of the ones from Blade Runner.
mcarrell4 years ago
That's just a visual joy! And yes, shades of BladeRunner... I'd like to see one of those umbrellas reproduced actually...
franspaco4 years ago
Like it! very good idea
MegaMetal84 years ago
Congrats
Nice one, maybe you should really think about making it somehow waterproof then. Would help seeing ppl during rainy days/night better. BTW: regarding the LED driver two comments: You mentioned that you would like to add local, or at least string dimming. I know two parts, one is similar to the MAXIM which can do this: AS1115-18 (Here you can do the dimming per string) http://www.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1116
AS1119 (This one can do 8bit PWM per LED and drives up to 144LEDs, but it is completely different from programming.) http://www.austriamicrosystems.com/eng/Products/Lighting-Management/LED-Driver-ICs/AS1119
BTW: For MAX7219 there is cheaper 1:1 drop in called AS1106 or AS1107 from austriamicrosystems too. And for free samples two sources always come handy :)
huebner5000 (author)  Forcebringer4 years ago
Great suggestions, Forcebringer, I'm definitely going to check those out.
PyroMonger4 years ago
you should of mounted the LEDs on the underside of the umbrella so it wud be waterproofed. Great instructable though!! :)
anglerfish4 years ago
Can you actually use this in the rain?
huebner5000 (author)  anglerfish4 years ago
No, it would probably not react well to water. Its really non-functional as far as traditional umbrella uses, i.e., keeping out rain or sun.
NHquilter4 years ago
love this! but it's way beyond my skill set! lol Nice job.