Can you help guide me on this LED Array Project?

**** FWD NOTE. This is convo between my friend Paul and I.

My question is how would you approach this project?
I am arduino newbe so if you can break down into simple steps that would be great.

Thank you, Steve

Project Description… Please read…

I have an Arduino project that will require some medium/advanced knowledge in Arduino programming.

Ive been collecting laptop harddrive. 100s of them! (hehe :slight_smile: I run a computer repair shop.)

I want to put these drives upside down on my desk 4feet by 6ftt. These laptop drives look especially cool upside down.

Then I am covering desk with a bar top see-through plastic gu. The gu hardens creating nice top to the desk and sealing in the hard drives.

Then Im going to drill a small hole every 1". 4’X8’ desk top = 3072 Holes. FUN!!!

Then take a LED and put in every hole with LED and Light sensor.

My end goal. Detect light across an array.

So when my hand goes over desk, I can programme light to appear anywhere shadow is detected on desk.

This will make LEDS glow anywhere light is on desk.

My question to you.

What LED do you recommend?
What light sensor do you recommend?

What programming or technique do you recommend to get this project done, using Arduino platform?

Idealy the light sensor per LED would both fit in same hole, Or do they make LED with tiny light sensor ontop of LED?

Thanks for all your help, let me know how many gigs are required for your help.


Hi Steve,
Awesome project.
I don’t recommend any particular led. 5mm is the standard, but you may want oversized or smaller or super bright. I like blue but you might like green red, yellow etc I think you need to make a small prototype of about 16 (4x4) and see how it looks in the gu.

Another issue that you will need to deal with is scaling. Controlling 16 leds may appear different when scaled to 1600.

One suggestion I can make is the led driver. I have used a tlc5940 to control 125 leds. Here’s a link with a little information. Shield

Another issue you will have is that each row of your table will be controlled by a transistor that needs to control about 80 leds. I recommend a tip120 they are about 60 cents in packs of 25. Here is a mouser link: You can use an LED driver to turn the Transistors on/off.

I think you will have about 39 rows which will require 38 transistors, and 3 tlc5490 led drivers. Each driver can control 16 leds. The drivers are “daisy chained” together so that 5 pins can as many drivers as you like.

I think you have about 79 leds in each row. This will require about 8 tlc5490 drivers total if you use the entire set to control rows and columns.

I’m not sure about the sensors. I have seen a project where someone used a video camera and dumbed down the output to show big pixels. A friend of mine wants to use an infra red sensors and infra red transmitters to see where a person touches a table top. I may ask him for recommendations.

So I guess my only real recommendation is to make a small prototype to help you choose size/color/intensity of leds and make some design decisions on led drivers.

Let me know if I can assist further.


I first thought of infer red but friend brought up good point, the table top plastic is too thick, will alter heat sensitivity. So he suggested using light sensors. Thx for the info. Im doing some research and will return with questions. Please ask your friend how he is controlling many LEDS too.


Controlling the LEDs is no problem, using the TCL5490. Just to describe the wiring: You can make 39 rows and 78 columns. Each row will have all gnd pins (the short pin) wired together and attached to the pnp tip120 transistor (which is connected to actual ground). Each column will have the positive (long pin) wires soldered together. They will be attached to outputs of the tcl5490 block, the transistors will be controlled by the remaining tcl5490 outputs (each one has 16 outputs).

I can draw you a picture if that would help.
The question I have is how to select all the light sensors. A friend of mine has done projects like this. I think it would be possible to send outputs of the tlc5490 into a mux to select a single light sensor. This project will not fit on a single 5cm x 5cm pcb.

Although you have given me an idea to connect multiple 5cm x 5cm pcbs (like legos).

Just checked with my friend, he is also not sure about the sheer number of light sensors. I suggest that you go with just 10 spread out over the table. That should be doable with single arduino. You can have as many leds as you like provided that you use the tlc5490

I think the way you should read so many analog inputs is by using a multiplexer. Here is an example project The multiplexer they used was a MC14067BCP which can read 16. Since an arduino has 6 analog inputs you could read 96 by using 6 MC14067BCPs connecting each one to a single arduino analog input. 4 digital pins are used to select which of the 16 analog inputs are being read.

I found a cool circuit in Forest M Mims III book: Getting Started in Electronics available at radio shack. On page 114 is a “Light Deactuated Relay Circuit”. “Relay is actuated when Q1 is Dark. Light on Q1 deactuates relay.” This type of circuit could be used to turn on an LED when shade is detected above. Tell me what you think.


Will you have problems putting a light sensor right next to a LED if your trying to detect shadows? LED off and light sensor detects darkness (shadow) of hand passing over desk so LED turns on and shines into light sensor = no shadow so LED turns off. LED off and light sensor detects darkness (shadow) of... You get the idea

Have you considered using LED light strips instead of thousands of individual LED's and maybe incorporating them into the table before you poor the top. You would need to do some tests first to make sure the resin top does not melt/destroy the LED strips when it's cast and after it's set also test the LED heat build-up does not damage the LED or table top (you would also have this heat problem with drilled LED's)