Visible light communication (VLC) has been increasingly implemented in data transmission to overcome the limitations faced by radiowave communication. However, obtaining specialized equipment, particularly serializers and deserializers, remains a significant challenge for the realization of the VLC systems. In this study, we developed an 8B13B coding scheme for VLC that enables reliable synchronization and effectively addresses pulse-width variations. The proposed serializer and deserializer (SerDes) logic was implemented in Verilog hardware description language (Verilog HDL) and deployed on a field-programmable gate array (FPGA), which interfaces with Raspberry Pi via the serial peripheral interface (SPI), forming a simple yet effective communication system. Although the overall communication speed relies on the data transfer frequency between the FPGA and Raspberry Pi, the bit rate was 3.48 Mbit/sec. We evaluated the communication quality of the system in environments with ambient light interference and achieved stable communication over a distance of approximately 3 m between the light emitting diode (LED) light source and receiver. The ability to use the VLC with the widely popular and commonly used Raspberry Pi is expected to promote the advancement of research and development of applications utilizing this communication system.
8B13B; FPGA; deserializer; Raspberry Pi; SerDes; serializer; serial peripheral interface; visible light communication; wireless communication; VLC; DDPWS