Wireless Engineering and Technology
Vol.08 No.04(2017), Article ID:80019,16 pages

Design of a Li-Fi Transceiver

Pavas Goswami, Manoj Kumar Shukla#

Department of Electronics, School of Engineering, HBTU, Kanpur, India

#Manoj Kumar Shukla is a Professor in HBTU Kanpur.

Copyright © 2017 by authors and Scientific Research Publishing Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).


Received: September 16, 2017; Accepted: October 28, 2017; Published: October 31, 2017


The latest uproar in this era is about a technology termed as Light Fidelity or more commonly known as Li-Fi. There are currently two trends being seen: First, the extension or enrichment of wireless services and other being increased in user demand for these services, but the available RF spectrum for usage is very limited. So the new technology of Li-Fi came into picture, which uses visible light as a source of communication. Li-Fi is the most recent development which is resourceful. In this technology, LEDs are used to transmit data in the visible light spectrum. This technology can be compared with that of Wi-Fi and offers advantages like increased accessible spectrum, efficiency, security, low latency and much higher speed. This research paper aims at designing a Li-Fi transceiver using Arduino that is able to transmit digital data. The hardware has been designed using Eagle CAD (version 7.1.0) tool and Proteus design tool (version 8). The software coding is done by using Java (version 8). Successful transmission and reception of text, image and video signals is carried out on the transceiver. Hence this research work gives an innovative way of designing a transceiver which works by using off the shelf low cost components and using visible light spectrum.


Light Fidelity (Li-Fi), Visible Light Communication (VLC), Arduino, Light Emitting Diode (LED), Optical Wireless Communication (OWC)

1. Introduction

Visible light communication (VLC) is the term given to an optical wireless communication system that conveys information by modulating light that is visible to the human eye. Communication is achieved by switching LED lights on and off at a speed higher than what is perceptible to the human eye. Eyes can detect changes in light brightness and power, but they cannot perceive light that is switched on and off rapidly. A photodiode, on the other hand, can easily recognize the rapid on-off modulation. A photodiode is a photodetector that produces an electrical current that is proportional to the optical power that is incident on the photodetector surface. This simple principle makes possible visible-light communication technology that supports both illumination and wireless communication using an LED. Unlike RF wireless communication, where specialized tools are needed to find a service area, the presence of a VLC service area will be easily detected. The visible spectrum is the portion of the electromagnetic spectrum having wavelengths from about 380 nm to 780 nm and in terms of frequency; this corresponds to a band of 385 - 789 THz [1] .

1.1. VLC Principle

In Figure 1, the VLC radio transmitter and receiver modules based on intensity modulation/direct detection is shown, which consists of digital to analog convertor, transconductance amplifier, low pass filters and high speed LEDs in the transmitter section and photodiode, transimpedance amplifier, analog to digital convertor in the receiver section.

The LED converts an electrical signal to optical energy that provides illumination as well as communication. Information is line-encoded and modulated by the DAC, and then conveyed on the optical signal by modulating the amplitude or some other feature of the LED light. At the receiver, the Photodiode converts the received optical power to an electrical signal, which is then amplified, demodulated and decoded by the TIA Amp, LPF and ADC to recover the user message bits [2] .

1.2. VLC vs Li-Fi System

VLC has been conceived as a point-to-point data communication technique― essentially as a cable replacement. This has led to early VLC standardisation activities as part of IEEE 802.15.7 [3] . This standard, however, is currently being revised to include Li-Fi. Li-Fi in contrast describes a complete wireless networking system. This includes bi-directional multiuser communication, i.e. point-to- multipoint and multipoint-to-point communication. Li-Fi also involves multiple access points forming a wireless network of very small optical attocells with seamless handover. This means that Li-Fi enables full user mobility, and therefore forms a new layer within the existing heterogeneous wireless networks. The

Figure 1. Block diagram of a VLC system [2] .

fact that LEDs are natural beamformers enables local containment of Li-Fi signals, and because of the blockage of the signals by opaque walls, Co-channel Interference can effectively be managed and physical layer security can be enhanced. Figure 2 illustrates the principal techniques that are needed to create optical attocell Li-Fi networks [4] .

1.3. Difference between Li-Fi and Wi-Fi

Li-Fi uses light for data transmission while Wi-Fi uses electro-magnetic waves at radio frequencies for data transmission. Due to less interference incurred by light compare to radio frequency waves, it is used in more dense environments. In Figure 3 the basic differences between Li-Fi and Wi-Fi technologies are explained.

1.4. Paper Organization

This research paper is organized into the following sections―Section 1 gives the introduction of visible light communication and Li-Fi technology and compares commonly used RF technology Wi-Fi with indoor VLC technology Li-Fi. Section 2 describes about the working and components used in the Li-Fi system. In Section 3 the design and schematics of Li-Fi transceiver developed has been explained. Section 4 discusses the result of the hardware and its performance is shown on interface coded using JAVA. Finally Section 5 gives the conclusion of the paper, followed by Acknowledgment and References.

2. Working Principle of a Li-Fi System

In this section, the block diagram of Li-Fi system is described. In Figure 4 there

Figure 2. The key elements of Li-Fi and its application areas [4] .

Figure 3. Comparison between Li-Fi and Wi-Fi [5] .

Figure 3. Comparison between Li-Fi and Wi-Fi [5] .

Figure 4. Basic block diagram of Li-Fi system [6] .

are two sections: transmitter and receiver. In the transmitter side, the data is first converted to binary through an ADC and then fed into a LED driver circuit which is controlled by a signal processor. The LED driver works on the On-Off Keying modulation [6] . After this the high illumination LED blinks at high speed and transmits the data as optical pulses through the wireless channel. On the receiver side, these optical pulses are interpreted by a photodetector into an electrical signal which is amplified by a transimpedance amplifier and then converted back to binary data using a comparator. The LED lights will be networked, so multiple users can access data using a single LED light or move from one LED light to another without affecting their access.

2.1. Components Used in the Prototype Li-Fi System

The key components are an Arduino Uno board, wavelength specific LED and photodiode. Besides the component responsible of generating and capturing the light signals, additional hardware is needed to filter and interpret these signals. For example, a suitable band pass filter can be used to filter out incoming signals with frequencies other than those desired; an optical filter can be a good way to filter out light of other wavelengths; a lens to focus incoming light can be suitable if the light intensity is low. In the case of digital data transmissions, a digital signal processor at both ends of the system is required to process incoming and outgoing data [6] .

2.2. Light Emitting Diode

LED is a semiconductor that produces light. When electrons enter the semiconductor they bond with holes in the substrate and energy is released in the form of photons. There are several variables that need to be considered when choosing an LED and these variables have to be weighed against each other. The maximum intensity of the LED affects the rise time. A low intensity makes it possible to have a short rise time and increasing the intensity increases the rise time. The more intensity a LED generates, the more power it needs, and the more heat it produces. The Arduino [7] has a maximum voltage output of 5 V, maximum current output of 1 A and can send a square wave with the maximum frequency of 50 kHz. To meet these criteria the OSRAM [8] LED was chosen.

2.3. Photodiode

The photodiode is a semiconductor converting light into an electrical current. Most of the photodiodes in the market are produced for the purpose of fibre optics. In applications concerning fibre optics, the radiant sensitive area of the photodiode is small and the rise/fall time is short. With increased radiant sensitive area, the response time will be slower. Without fibre optics a larger radiant sensitive area allows for more light to be captured by the receiver. Therefore, the choice of photodiode is limited. The requirements of the photodiode are quick response time, spectral sensitivity in the visible spectrum and large radiant sensitive area. The size of the radiant sensitive area is crucial and therefore the photodiode used is VISHAY BPW21R [9] . It has suitable wavelength peak sensitivity at 565 nm. The spectral bandwidth is from 420 nm to 675 nm and gives a perfect range for the intended application. It has a linear light intensity to current ratio and the radiant sensitive area is 7.5 mm2, which was larger than most photodiodes found. It has a rise and fall time of 3 μs each, which provides a switching frequency of 166 kHz.

3. Design of a Li-Fi System

Main objective is to build a prototype using off the shelf electronic devices, establish a successful link for the transmission of digital data and provide a working Li-Fi system. To achieve this goal, open source Arduino development board is used, as shown in Figure 5. Arduino is a small microcontroller board with a USB plug to connect to your computer and a number of connection sockets that can be wired up to external electronics, such as motors, relays, light sensors, laser diodes, loudspeakers, microphones, etc. They can either be powered through the USB connection from the computer or from a 9 V battery. Arduino can be controlled by the computer or programmed to work independently.

3.1. Encoding Style (On-Off Keying)

This section describes the most commonly used encoding method that was used during this project. On-off keying (OOK) is the simplest method to represent data. The logic value zero corresponds to LOW and the logic value one to HIGH. In the VLC case, this means the LED is turned off to transmit a zero and turned on to transmit a one.

Let PeS and PeM are the error probability of a high bit being received as a low bit and a low bit being received as a high bit, respectively, then for a coherent receiver we have [10] [11] .

Figure 5. Arduino Uno development board [7] .

P e S = P e M = 1 2 e r f c ( E b / 4 N o ) (1)

where E b / N o is the energy-to-noise spectral density ratio and erfc (.) is the complementary error function.

3.2. Transmitter Hardware Design

The task of transmitter is to convert digital data into visible light. An LED was a suitable component because of its relatively linear relation between current and light intensity [10] . The general idea is to modulate the light intensity of the LED i.e., the intensity of the light corresponds to the symbol transmitted. The Arduino ports are not capable of delivering the right amount of current to make the light intensity strong and fast enough. To get around this problem a transistor is used as a switch, which made it possible to switch a larger current faster. In Figure 6, schematic is shown to give an overview of the transmitter. The PCB for transmitter is designed using the following steps:

1) The transmitter PCB design was done by converting the circuit’s schematic diagram into a PCB layout. The software used for PCB layout is Cadsoft Eagle.

2) After designing the PCB layout, the printout of circuit board is taken out on glossy paper.

3) Then the copper plate is cut for the circuit board. Also the top oxide layer is rubbed away.

4) After this, the PCB print is transferred onto the copper plate.

5) Next the circuit from the paper is ironed onto the PCB plate.

6) Next step is to etch the plate.

Figure 6. Schematics of Li-Fi transmitter.

7) Then the etching solution is carefully disposed off and the board is cleaned properly.

8) Lastly, the final touches are given to the circuit board in Figure 7(a), Figure 7(b).

3.3. Receiver Hardware Design

The receiver converts the incoming light into current using a photodiode. For a digital signal, the Arduino cannot receive a voltage above 5 V. Therefore, the electrical circuit between the photodiode and the Arduino needs to process the electrical signal so it can be interpreted correctly. The receiver’s electronics need to convert the current to voltage in order to amplify and compare it. Distance between the transmitter and the receiver can be varied, but in order to avoid too small or too high signal, an automatic gain controller (AGC) can be designed, instead a variable resistor is used here. This component amplifies or reduces the input voltage to a selected output voltage. To make sure the signal is digital and stable before the Arduino, an Op-Amp comparator is used here. The schematics are shown in Figure 8 and receiver PCB layout is shown in Figure 9 with soldered components shown in Figure 10.

(a) (b)

Figure 7. (a) PCB layout; (b) Components soldered.

Figure 8. Schematics of Li-Fi receiver.

Figure 9. Receiver PCB layout.

Figure 10. Components soldered on receiver PCB.

3.4. Software

The software implementation of the project consists of the following separate parts:

1) Data packaging;

2) Hardware control;

3) Transmission synchronization;

4) Transmission encoding and decoding;

5) Error handling.

Whenever a user wants to send data to another user, the following steps will take place by using JAVA codes:

1) The application used by the user will notify the Operating System (OS) that it wants to send data, what the data is, and where it should be sent.

2) The kernel will take the data and hand it to the network module.

3) The network module will buffer it and start transmitting it over the channel.

4) The network module on the receiving computer will collect the packet from the channel, and hand it to the kernel of the receiving computer.

5) If the data is intended for an application, such as a web browser, the data will be handed to that application.

3.5. Design Verification

Tests were conducted to verify the design and see if the right properties were achieved. These tests were mainly done using Java and MATLAB. The prototype is calibrated by sending text as a test signal so as to adjust the proper resistance values for amplification. The final design verification was done using the complete system; transmitter, receiver and software, and the results are shown in Section 4.

4. Results

In this section, a summary of the design choices made during the research work and the achieved results are described.

4.1. Hardware

The transmitter and receiver results of Arduino based Li-Fi system is described in the sections below. Figure 11 displays the signal from the Arduino when it is propagated through the transmitter and receiver. The resulting propagated signal is nearly identical to the transmitted signal. There is small phase difference and difference in duty cycle between the received and the transmitted signal. This is due to noise in wireless channel and capacitive effects. The transmission efficiency of the prototype designed in the research work can be measured in terms of power. The transmitted power is 0.5 W and received power is 0.01 W at the photodiode. Hence efficiency is the ratio of received power to the input power. Hence the transmission efficiency is 0.02% or 2%.

Figure 11. Example of a signal propagated from the transmitter to the receiver.

4.2. Transmitter

The transmitter receives a signal from the PC using USB Cable then from GPIO pins on the Arduino, this signal controls the transistor which open and close the power supply to the LED. The LED voltage levels are shown in Figure 12, here it can be noted that both 12 v and 5 v supply can be used in the transmitter for powering the LED but for simplicity 5 v supply is preferred for low power operation.

4.3. Receiver

The receiver converts the incoming light into an electrical signal and feeds it into the microcontroller. The receiver filters and amplifies the signal. After amplification, the signal is in analog form; hence ADC operation is performed, before providing it to the Arduino. Figure 13 shows the measured signal at the output of the amplifier. The current which is generated by the photodiode is of very low value; hence a high value resistor is used to convert it to voltage. Now this voltage is further amplified for the comparator to give proper transmitted bits. Amplitude of amplified voltage which is the output of the 741 op-amp is shown in Figure 13. The signal value can be further increased by using higher DC voltage.

4.4. Proposed Prototype of Li-Fi Transceiver

In Figure 14 the proposed schematic of Li-Fi transceiver has been illustrated. This schematic was designed using Proteus Design tool (version 8), Figure 15

Figure 12. Signal measured over the LED.

Figure 13. Signal measured at the output of the amplifier.

Figure 14. Schematics of transceiver using Proteus design tool.

Figure 15. BER vs SNR plot for OOK encoding.

shows the BER plot of OOK encoding which is simulated using MATLAB. Figure 16 shows the digital data which is transmitted using one of the USB ports and Figure 17 shows the received data displayed using serial port monitor software.

Figure 16. Data string which is transmitted from the pc on serial ports.

Figure 17. Received data string shown on to other pc.

In Figure 15 the bit error rate compared with signal to noise ratio (dB). The x axis range from 0 to 12 dB and the BER starts from close to 100 and begins to decrease as the SNR values start increasing. At 2 dB the value of BER falls to 10−1 and keeps falling as the SNR values increase further. At about 12 dB the BER falls down below 10−4. So there is stringent improvement in bit error rate as the value of signal to noise ratio increases for the on-off keying encoding. The parameters used for MATLAB simulation are as follows:

1) Charge of electron (q) = 1.6 × 10−6 C;

2) Background current noise and interference-2.02 × 10−4 A;

3) Noise Spectral Density (NO)-6.46 × 10−23 W/Hz;

4) Photodetector Responsivity (R) = 1;

5) Bit Rate (Rb) = 106;

6) Number of bits-105;

7) Samples per symbols-10;

8) Eb/NO = 1/12.

In Figure 16 and Figure 17, it is shown that the data string of “hi” is transmitted from “COM port 6” at 115,200 bps and received onto “COM port 100” at 115,200 bps. The program used is serial port monitor; it is an open source software for visualizing serial data communication.

Figure 18 depicts the transmitted video and received frames are shown in Figure 19. This interface has been designed in JAVA applet. This video transmission will work smoothly only when the light from LED is interpreted properly by photodiode. In case of any inconsistency in video transmission, the frames can be synchronized by using a buffer.

Figure 18. Transmitted video from pc to the Li-Fi transmitter [12] .

Figure 19. Received frames from the transmitted video files as displayed using JAVA applet.

5. Conclusion

In this paper the working model of Li-Fi is successfully completed. The Li-Fi transceiver using Arduino is designed that is able to transmit digital data. The PCB layout and schematics are sketched using Eagle CAD (version 7.1.0) tool and Proteus design tool (version 8). The software used is MATLAB, Java (version 8), and serial port monitor. The results show the transmission of data string on the serial port monitor. After ensuring the successful transmission of data string, video frames were transmitted and received successfully. This video transmission was seen on JAVA interface. Therefore a Li-Fi prototype has been designed which demonstrates the basic principle and also supports the claim of the advantages of Li-Fi over Wi-Fi. The research work presented in this work has some limitations also. The Li-Fi prototype designed does not support multi user access. The speed achieved with this prototype is 115,200 bps only. It is not of high order of Gbps. Also this prototype is not bidirectional. Hence it is only used for broadcast purposes. The limitations of this work can be removed by using higher end devices.


Special thanks to Dr. Manoj K. Shukla and faculty members of HBTU Kanpur for their guidance and support.

Cite this paper

Goswami, P. and Shukla, M.K. (2017) Design of a Li-Fi Transceiver. Wireless Engineering and Technology, 8, 71-86. https://doi.org/10.4236/wet.2017.84006


  1. 1. Arnon, S. (2012) Advanced Optical Wireless Communication Systems. Cambridge University Press, New York. https://doi.org/10.1017/CBO9780511979187

  2. 2. Jovicic, A., Li, J. and Richardson, T. (2013) Visible Light Communication: Opportunities, Challenges and the Path to Market. IEEE Communications Magazine, 51, 26-32. https://doi.org/10.1109/MCOM.2013.6685754

  3. 3. Tsonev, D., Chun, H., Rajbhandari, S., McKendry, J., Videv, S., Gu, E., Haji, M., Watson, S., Kelly, A., Faulkner, G., Dawson, M., Haas, H. and O’Brien, D. (2014) A 3-Gb/s Single-LED OFDM-Based Wireless VLC Link Using a Gallium Nitride μLED. IEEE Photonics Technology Letters, 26, 637-640.https://doi.org/10.1109/LPT.2013.2297621

  4. 4. Haas, H., Yin, L., Wang, Y. and Chen, C. (2016) What Is Li-Fi? Journal of Lightwave Technology, 34, 1533-1544. https://doi.org/10.1109/JLT.2015.2510021

  5. 5. RF Wireless World Website (2017) LiFi vs WiFi-Basic Difference between LiFi and WiFi. https://goo.gl/aCZsFL

  6. 6. Kahn, J.M. and Barry, J.R. (1997) Wireless Infrared Communications. Proceedings of the IEEE, 85, 265-298. https://doi.org/10.1109/5.554222

  7. 7. Badamasi, Y.A. (2014) The Working Principle of an Arduino. 2014 11th International Conference on Electronics, Computer and Computation (ICECCO), Abuja, 29 September-1 October 2014. https://doi.org/10.1109/ICECCO.2014.6997578

  8. 8. OSRAM (2010) Golden DRAGON LCW W5SM. 1-23.

  9. 9. VISHAY (2011) Vishay BPW21R Photodiode Technical Datasheet. http://www.vishay.com/docs/81519/bpw21r.pdf

  10. 10. Tang, Q., Gupta, S.K.S. and Schwiebert, L. (2005) BER Performance Analysis of an On-Off Keying Based Minimum Energy Coding for Energy Constrained Wireless Sensor Applications. IEEE International Conference on Communications, 4, 2734-2738.

  11. 11. Proakis, J.G. (2001) Digital Communications. 4th Edition, McGraw-Hill, New York.

  12. 12. Haas, H. (2011) Wireless Data from Every Light Bulb. https://goo.gl/kmTJw7