We demonstrate a visible light communication (VLC) system using light emitting diode (LED) backlight display panel and mobile-phone complementary-metal–oxide–semiconductor (CMOS) camera. The panel is primarily used for displaying advertisements. By modulating its backlight, dynamic contents (i.e. secondary information) can be transmitted wirelessly to users based on rolling shutter effect (RSE) of the CMOS camera. As different display content will be displayed on the panel, the VLC performance is significantly limited if the noise-ratio (NR) is too high. Here, we propose and demonstrate a CMOS RSE pattern demodulation scheme using grayscale value distribution (GVD) and machine learning algorithm (MLA) to significantly enhance the demodulation.