Starting with commercial off-the-shelf LED light bulbs, the researcher packaged an Atheros AR9331 SoC running Linux and an ATmega328p microcontroller running the VLC communication protocols, four photodiodes and an additional power supply to support the added electronics, all within a 3D printed enclosure expanding between the bulb's screw-base and the actual LED dome.
The low bandwidth VLC systems called EnLighting is described in a paper to be presented at the International Conference on Sensing, Communication and Networking (SECON) 2016. The VLC controller runs a software-based PHY and MAC layer and enables low-level networking between multiple light bulbs. To make use of higher level network protocols (and for testing purposes) the VLC controller is extended with a SoC running a Linux distribution for embedded wireless systems: OpenWrt which allows to run a Wi-Fi interface as an additional control channel for the experiment.
The actual VLC channel is created by modulating the bulbs' light intensity using pulse width modulation (PWM) based on simple On-Off keying (through a cheap microcontroller), the receiving photodiodes are either directly connected to one of the MCU’s analog pins or fed to an amplifier first.