Colour-shift keying (CSK) is a visible light communication (VLC) modulation scheme used in the existing IEEE 802.15.7 standard. In CSK, information is transmitted by changing the light intensities of the RGB LEDs. In this work, a low-complexity VLC system is proposed using CSK modulation and a novel receiver based on a light-to-frequency (LTF) converter. At the receiver, CSK symbols are interpreted and decoded in terms of frequencies, which are processed by a counter module of a generic microcontroller, thus avoiding the use of analog-to-digital converters (ADCs), which results in a low-cost VLC system. The main contributions of this work are summarized in the following key points: (1) A low-complexity receiver for CSK modulation is introduced; (2) A particle swarm optimization (PSO) algorithm for CSK constellation design is suggested considering the restrictions of the LTF based receiver; (3) Experimental and theoretical validation is perfomed for the proposed multi-colour VLC system. The results show that this system can provide a transmission speed of 100 kbps using a 4-CSK-LTF constellation for a symbol error rate (SER) of 10 − 4 and a signal to noise ratio (SNR) around 35 dB. These results suggest that the analysed system could find applications on those scenarios where low transmission speeds and ease of deployment are the goals.