After being invited to exhibit the desk at Maker Faire, I decided to ramp it up a bit. So I took all the  ideas that had been floating around in my head since version one and put it together. This version has an embedded server in it and can receive event notifications from the network. It no longer requires a computer attached and is completely stand alone. By the way, here's a link to the first version: https://www.instructables.com/id/LED-Glass-Desk/

Here's a video:

Step 1: Parts List

To start, you'll have to choose your desk, picture frame, box, or whatever you want to use. Take some measurements and decide how many lights you'd like to include.

I used an Ikea Galant desk, which just happened to have the perfect frosted surface to diffuse the lights. That is really the most important part of the project.

Assemble the desk according to the normal instructions. We can easily work with the completed desk from underneath.

Additional Parts:
Arduino Uno Ethernet
Arduino Power Source (http://www.adafruit.com/products/63)
Addressable ws2801 or lpd8806 (I used http://www.adafruit.com/products/683)
Power supply for LED strip (http://www.adafruit.com/products/352)
peg board or foam core
100 zip ties
padded double sided tape

By the way, all my electronics for this version came from Adafruit.com. They were extremely helpful on their forums and I was able to get everything I needed in one order from one place. You can get one or more of the light strips and just connect them in serial.

<p>Got all the way up to this part. Not super familiar with the Arduino Ethernet but I have it hooked up and it has an ip. I loaded both Libraries and am now down to only a few errors when verifying (cannot upload yet and hoping it just will upload when I complete squashing this problem.</p><p>call of overloaded 'Adafruit_WS2801(int, int&amp;, int&amp;, int)' is ambiguous</p><p>Adafruit_WS2801 strip = Adafruit_WS2801(STRIPLEN, dataPin, clockPin, WS2801_GRB);</p>
<p>I got it figured out pretty quick... must have had some out of date code:</p><p>Change int to uint8_t:</p><p>static uint8_t mac[] = { 0x90, 0xA2, 0xDA, 0x0D, 0x27, 0x05 }; // update this to match your arduino/shield</p><p>static uint8_t ip[] = { 10, 10, 16, 211 }; // update this to match your network</p>
<p>What's still wrong in mine?</p>
<p>This gave me some trouble too. It looks to be a mismatch between the demo I used when making my code and some changes contributed to the module's GitHub repo. I believe this comment thread at Adafruit has the solution you are looking for:</p><p><a href="http://forums.adafruit.com/viewtopic.php?f=47&t=36867" rel="nofollow">http://forums.adafruit.com/viewtopic.php?f=47&amp;t=36...</a></p><p>The suggest changing the int to uint_8t like so:</p><p>uint8_t dataPin = 2; // Yellow wire on Adafruit Pixels<br>uint8_t clockPin = 3; // Green wire on Adafruit Pixels</p><p>If you can post back and confirm that works for you, I'll try and update the code.</p><p>Thanks!</p>
<p>Yep that solved the issue, thanks</p>
<p>Glad you got that. Sorry I couldn't comment sooner, I was traveling for a conference. I had run into that also and I thought the published version was corrected. I'll have to update the code.</p>
<p>When I try to 'Verify' the code on the Arduino software I get &quot;'WebServer' was not declared in this scope&quot; how can I fix this?</p>
<p>I think you might be missing the web server library. You can get it from here: <a href="https://github.com/sirleech/Webduino" rel="nofollow">https://github.com/sirleech/Webduino</a></p><p>Then just install it according to the instructions here: <a href="http://arduino.cc/en/Guide/Libraries" rel="nofollow">http://arduino.cc/en/Guide/Libraries</a></p><p>I'll update the dependancies section to make that more clear.</p>
So what if I wanted to connect all this through a witless connection. Wifi...
<p>That requires different hardware. The Arduino that I used only supports wred networking. You would have to use a different Arduino and get a &quot;wifi shield&quot;, possibly like this one: <a href="http://www.adafruit.com/products/1491?gclid=CN6qtJmKlb4CFc5ffgod9gEAlA" rel="nofollow">http://www.adafruit.com/products/1491?gclid=CN6qtJ...</a></p><p>I'm currently working (a little slowly) on the next version. So many people have asked about using a Raspberry Pi that I'll probably move to that which has easier wifi capabilities.</p>
<p>Mike, on step 3 of Instructables, the power supply mentioned to power the 40 lights... the sentence reads - &quot;This matches the power supply in the parts list.&quot; There really is no specific power supply listed for this project on instructables. I can handle the Arduino power supply but what is the exact one for the LED power?</p>
<p>http://www.adafruit.com/products/352 correct answer</p>
<p>Mike, maybe this one? (Has the right sized connector at least) and was mentioned as useable by the Adafruit site. </p><p>https://www.adafruit.com/products/352</p>
<p>Yeah. I looked at my order history and it doesn't include part numbers, but the description and appearance matches exactly. &quot;12V 5A switching power supply&quot;. I'll try and update the parts list.</p>
<p>Michael, could you send an exact link for the Molex connectors for power you used? I see that they are two wires, but the type looks unusual from what i can find so far.</p>
<p>Are these them? http://www.ebay.com/itm/MOLEX-093-2-CIRCUIT-POWER-PLUG-RECEPTACLE-SOCKET-SET-OF-3-W-PINS-76650-0060-/400554823959?pt=LH_DefaultDomain_0&amp;hash=item5d42ed9117</p>
<p>Those do look like what I used. At the time I did the build, the JST connectors were hard to find so I decided to switch them out for a more easy to find molex connector. Plus it made it easy to run the power and controls signal separately. I believe Adafruit is now selling the right JST connectors in male/female pairs here <a href="http://www.adafruit.com/products/578" rel="nofollow">http://www.adafruit.com/products/578</a></p>
<p>Those JST connectors on Adafruit are 4-wire. The JST Connectors on WS2801s have 3-wire connectors with two additional wires hanging loose on each side... Perhaps you meant use some like these? </p><p>http://www.ebay.com/itm/5-Pairs-3-PIN-JST-Connector-Cable-Wire-Male-Female-For-WS2801-RGB-LED-Pixels-/331079956396?_trksid=p2054897.l4276</p>
<p>These look like them but don't say that they can be programmed individually like the others I listed, but they are in fact WS2801s AND they LOOK like what you used. Please confirm: http://www.adafruit.com/products/683</p>
<p>http://www.adafruit.com/products/683 was the correct answer</p>
<p>Yes. Those are the exact light strips that I purchased and used. Each module of four lights is individually controllable, but all four lights on a single module will do the same thing.</p>
<p>ws2801 or lpd8806 - neither one of these look like what you have in the pictures. Your picture shows led's with bigger squares than what is shown on Adafruit. I'd like to get what you got 100% (less chance of problems before branching out to fancier horizons. Here's the adafruit links I've looked at: <a href="http://www.adafruit.com/products/738" rel="nofollow">http://www.adafruit.com/products/738</a></p><p><a href="http://www.adafruit.com/products/322" rel="nofollow">http://www.adafruit.com/products/322</a> <br></p><p><a href="https://www.adafruit.com/products/306" rel="nofollow">https://www.adafruit.com/products/306</a></p>
<p>http://www.adafruit.com/products/683 was the correct answer.</p>
Thanks for being at the Maker Faire. I was most impressed by your project and am in the process of building it out myself. Thank you for all your wonderful work.
I'm glad to support the first San Diego Mini Maker Faire. And I'm excited to hear about your build. I'd love to see some pictures when it's done.
hi lagrasta, i was the last saturday watching you and asking in your presentation, it was very interesting, how can i get the PDF instructions?? (its says: This feature is only available with a Pro membership.), I really want to do this project :) <br>thnx 4 everything
That is based on your instructables membership. If you pay for a pro level membership, then you will be able to get extra features, like single page and pdf downloads. It's not up to me and the exact same information is viewable here, just on separate pages. It's really just a formatting and convenience thing. For more information, you would have to talk to someone who works for Instructables. <br> <br>By the way, thanks for coming out to our maker faire!
Just wanted to drop a note here to announce a big software update. You can find it at https://github.com/mnlagrasta/DeskLights2
I followed the ladyada.net tutorial ( http://www.ladyada.net/wiki/tutorials/products/digitalrgbledstrip/index.html ) for <a href="http://www.ledlightinghut.com/lpd8806-digital-led-strip.html" rel="nofollow">my LPD8806 strip</a> and it works, with a minor adjustment.
So how do i get grown notifications to work? I got email. <br>Also if it matters im running Mountain Lion. <br>Thanks!
I got email to work***. i.e. to run the provided applescript
wat should be the difficulty level of this project...?? <br>I have never tried my hands on these things, but after watching this, I so wanna build it.
Physically, it's not a hard build. Making use of the peg board really made the attachment easier. Wire connections can be made by solder or crimp connectors, so that shouldn't be too bad. <br> <br>If you aren't a programmer, the Arduino part could be a little confusing. It really just comes down to installing the Arduino software, modifying a file, and using the software to upload it to the Arduino. However, you will have to understand your network settings. <br> <br>If you want something a little easier, version 1 is much more straight-forward and still very useful. I'm actually using a hybrid of the two versions daily.
I found this much easier than your version 1 ;)..atleast I understood this one, may be because am a windows user. Anyways thanks for fast reply. I'll take some help from local people and will try to arrange the arduino Uno ethernet board from outside the country(its nt available in India).
Version 1 is great, and so is this one. Good luck in the contest. ;-)

About This Instructable




Bio: Software Engineer from San Diego, Ca. When I'm not coding, I like to take pictures and race cars.
More by lagrasta:LED Glass Desk v2.0 LED Glass Desk 
Add instructable to: