EP-Light Visible Light Communication BoosterPack


Do you have the experience that you cannot connect to a wireless AP in a crowded place? Since the number of wireless devices keep increasing each year, the wireless congestion problem has become significant. In order to mitigate wireless traffic, visible light communication (VLC) is a promising RF-alternative. VLC transmit information using light, which is safe, efficient and secured. VLC also has advantages on the places where RF is not available, for example, hospital or aircraft.

We design EP-Light BoosterPad- a simple visible light communication (VLC) transceiver working on MSP430 Launchpad. We demonstrate that we can achieve 32 Kbps using EP-Light. EP-Light shows the concept of future indoor lighting infrastructure, which not only lights up the room but also transmits information. 

How EP-Light Works:

EP-Light uses On-Off-Keying (OOK) to transmit the information. OOK uses "on" to represent symbol "1" and "off" for symbol "0". The following figure shows the concept of how OOK works.

However, the long stream of "1" and "0" produces flicker, which is not acceptable for lighting purposes. Instead of sending raw data by OOK, EP-Light encodes OOK with Manchester Encoding to achieve DC-balanced (50%). 

OOK with Manchester encoding uses the position of pulse to encode information. This modulation is called variable pulse position modulation (VPPM). Using VPPM, EP-Light support communication under different brightness level by changing the duty cycle (DC).

EP-Light System Architecture:

EP-Light composed of two major subsystems - transmitter and receiver.

  • TX subsystem

In the transmitter subsystem, MSP430 controls LED driver which provides high current and toggles the LED to transmit information. The commercial LED drivers are design for lighting purposes. The latency of turning on and off of a LED is around tens of us. Thus, commercial LED driver is not favorable to our application which needs high speed toggling a LED. To support high data rate, we design a simple LED driver which features voltage control current driver (VCCD). Instead of using fixed current driver, VCCD regulates LED current by different input voltages. Therefore, using VCCD, EP-Light could potentially support more complex VLC modulation, for example, OFDM.

  • RX subsystem

As for receiver subsystem, receiver contains a photodiode (PD) which converts light into current and a transimpedance amplifier (TIA) converts current into voltage. Additional analog signal conditioning circuit filters out DC, and provides additional gain. The digital interface is composed of an ADC and a high speed comparator, For OOK+Manchester encoding, a configurable reference voltage is required for the comparator to restore the logic, which eases the decoding on MSP430.


  • Idle pattern

Since the EP-Light can replace the indoor lighting system, EP-Light has to continues lights up even no data is been transmitted. Or, EP-Light cannot allow users to notice the data is currently transmitting. An idle pattern which has same duty cycle is required between data transmitting. In our implementation, a streaming "0" (symbol) is used for idle pattern which is being transmitted between data.

  • Frame format

Since the LED is constantly toggling, receiver has to know when is the data start. We defined a simple frame format so that the receiver uses the information to train its timing information and identifying start and end of a packet.

  • Synchronization

Since transmitter and receiver sources clock from different crystals, stability of crystals and environment temperature results to mismatch of clocks. Thus, simply counting at receiver doesn't work. The receiver has to re-adjust its timing information at all edge.

EP-Light BoosterPack Photo:


In the demo setup, two computers are separated. Each computer connects to a MSP430 Launchpad with an EP-Light. One for transmitter and the other is receiver. Both computers listen to UART of MSP430. Keyboard input on transmitter will show up in the receiver's computer.