A visible light communication, VLC, network comprising: at least two transmission receiver systems (TRS1, TRS2), TRS, wherein each TRS is formed by: a transmission unit configured to transmit data in a form of visible light, wherein the transmission unit comprises a plurality of spatial light modulator units, SLMUs, wherein the plurality of SLMUs are configured to form groups in order to create a virtual spatial light modulator, VSLM, and a transmission controller, T controller; a receiver unit configured to receive data in the form of visible light, wherein the receiver unit comprises a pixelated sensor, a receiver controller, R controller, and an optical system formed in front of the pixelated sensor; a transmission receiver controller, TR controller, configured to communicate with both the T controller and the R controller, select a transmission optimization algorithm from a transmission optimization look-up table, LUT, wherein the LUT is configured to associate various environmental conditions with VSLM and pixilated sensor configurations, determine a configuration of the TRS by use of at least one configuration optimization algorithm, store a set of these algorithms in a configuration optimization algorithm database, and store the configurations in a configuration memory, wherein these configurations can be the configuration set to deliver the maximum signal-to-noise ratio possible with current resources, called primary configuration, the current configuration being used by the TRS, and the last configuration to be successfully used to transmit data. a transmission unit configured to transmit data in a form of visible light, wherein the transmission unit comprises a plurality of spatial light modulator units, SLMUs, wherein the plurality of SLMUs are configured to form groups in order to create a virtual spatial light modulator, VSLM, and a transmission controller, T controller; a receiver unit configured to receive data in the form of visible light, wherein the receiver unit comprises a pixelated sensor, a receiver controller, R controller, and an optical system formed in front of the pixelated sensor; a transmission receiver controller, TR controller, configured to communicate with both the T controller and the R controller, select a transmission optimization algorithm from a transmission optimization look-up table, LUT, wherein the LUT is configured to associate various environmental conditions with VSLM and pixilated sensor configurations, determine a configuration of the TRS by use of at least one configuration optimization algorithm, store a set of these algorithms in a configuration optimization algorithm database, and store the configurations in a configuration memory, wherein these configurations can be the configuration set to deliver the maximum signal-to-noise ratio possible with current resources, called primary configuration, the current configuration being used by the TRS, and the last configuration to be successfully used to transmit data. communicate with both the T controller and the R controller, select a transmission optimization algorithm from a transmission optimization look-up table, LUT, wherein the LUT is configured to associate various environmental conditions with VSLM and pixilated sensor configurations, determine a configuration of the TRS by use of at least one configuration optimization algorithm, store a set of these algorithms in a configuration optimization algorithm database, and store the configurations in a configuration memory, wherein these configurations can be the configuration set to deliver the maximum signal-to-noise ratio possible with current resources, called primary configuration, the current configuration being used by the TRS, and the last configuration to be successfully used to transmit data.