# What solutions, if any, are there for visible light transmission (VLC)?

I want to know what ways are there to transmit data using LED's that are available to us today.

I currently can find only one reasonable resource for this topic, which is this: http://www.siemens.com/innovation/en/news_events/ct_pressreleases/e_research_news/2010/e_22_resnews_1002_1.htm

Is there any other information about this or resources I can use? What is the highest frequency can you blink a under $5 led at? What about a photo diode or photo transistor that can respond at such frequencies for under$5?

My aims are to have anything above 10KB/s but under $5 or so, with range that includes line of sight and it would be no more than one or two feet away. Am I just going at this entirely wrong and should instead use a RF solution? I am gearing towards visible light because it seems cheaper, does not give me the headaches of RF, and most certainly looks far more interesting than a RF or IR design, since you can actually see the process. :P ## 4 Answers A project from the Czech Repuplic called RONJA gets 10 Mbps through more than a kilometer of open air with ordinary red LEDs. It uses a specialized amplifier design to drive the LED, but if all you want is to modulate an LED at a few 10s of kHz, then just wiring it to an output pin of a microcontroller will work. I don't know what you think seeing the light will do for you. The LED will be flashing on and off so rapidly that it will just look like it's lit half way. I don't know about visible LEDs, but it is possible to module IR LEDs quite fast. The right kind of photodiodes can also be fast. I've done bare IR LED to photodiode transmission at about 1 Mbit/second. The hardest part is the photodiode amplifier circuit. Photodiode output, especially when you need a few MHz bandwidth, is quite low. This needs to be amplified by 100 or more, but with a bandwidth of around 10 MHz if you want 1 Mbit/s data rate. At these high data rates the decoding generally requires hardware. Normally I'd like to use manchester encoding for something like this, but unless you've got a piece of a FPGA you can implement it in, that's difficult to decode. I ended up driving the IR LED from a UART and feeding the output of the receiver data slicer into a UART. The problem with that is that the average level is not 1/2 like with manchester, and is quite data dependent. That makes the data slicer trickier. I defined the protocol so that the transmitter was guaranteed to send bytes within some maximum time limit. If the transmitter had nothing to send, it would send a single NULL byte, and this was taken care of in the higher protocol. The receiver had to keep both the recent high and low received level, then slice at the average of those. The NULL byte kept the high level refreshed enough for the data slicer to be ready. • I know I won't be able to see the actual flashing, but instead all you can see is it getting dimmer/brighter depending on how much 1's you send. I mainly want to specifically use visible light to be able to show the possible applications behind using say, led's in a lamp to send data, or that there is more to that light than meets the eye. Mostly just to have something interesting. Thank you for your information though. – hak8or Jul 10 '11 at 19:21 • If you want it to look cool, you can always put a blue LED (because blue is the coolest color) next to your IR LED. But IR is probably better for the actual transmission because you'll have an easier time finding a filter to block out all the visible background light and just let the IR through, than you would finding a filter to pick off one visible color. – The Photon Feb 27 '12 at 3:11 You can certainly blink visible LEDs very quickly-- there's not much difference between visible LEDs and IR LEDs and phototransistors. Data rates well over 1 MB/s are straightforward with low cost LEDs and phototransistors. So, there aren't any barriers to what you want to do. You can also buy a laser pointer under$5 these days. Laser diodes are (loosely speaking) LEDs with a different internal architecture. And those can be modulated at extremely high rates, such that transmitting data at GB/s data rates is straightforward. However, receiving data at high rates is not nearly so simple.

The main problem with visible light is the simple fact that there is so much of it around. An LED at 100 yards can become quite unnoticeable in the background of optical noise. That is why infra red is used almost exclusively for communication. IR LEDs are much much brighter than the background IR radiation from heat (unless you live in a volcano), so a detector can be so much simpler.

The main exception is lasers. Because they can be targeted the detector is pretty much ignoring the background light and only seeing the laser light.

The only way to really use visible light without an eye burning laser is to use some form of optical guide for the light to travel down - something like fiber optics.