CheerLights is an Internet of Things (IoT) project where lights around the world are synchronized to one color. That color is set by anyone on Twitter who mentions CheerLights and a color. You can think of CheerLights as a “Hello, World” project for learning IoT. CheerLights is a great starting point, then you can quickly adapt what you learn here to other types of IoT applications or electronics projects.
Behind the scenes, the CheerLights system listens to Twitter for @CheerLights or #CheerLights and supported color names. When a Tweet matches, the CheerLights service updates the ThingSpeak and Adafruit IO IoT platforms as well as the CheerLights MQTT server. Devices and apps can subscribe to one of the IoT platforms and display the latest color.
The CheerLights ThingSpeak Channel gets updated with the latest CheerLights color. You can use the ThingSpeak Channel API to read our data using HTTP or MQTT. CheerLights uses channel 1417 and stores the color name in field1 and the HEX color value in field2.
CheerLights Last Color Name
CheerLights Last HEX Color Value
Full CheerLights Feed
CheerLights has a public data feed hosted at Adafruit IO under the username cheerlights and the color feed or hex feed. To get the latest color value from Adafruit IO, you can use their Web, HTTP, or MQTT API found in the Adafruit IO documentation.
MQTT allows for real-time subscription to the CheerLights feed. When someone changes the color, the color name and its HEX value get published immediately over MQTT topics. Your devices and apps will get real-time updates from CheerLights without asking for updates over and over.
- Broker Address and Port: mqtt.cheerlights.com:1883
To control CheerLights, send a tweet to @cheerlights or include “#cheerlights” somewhere in your message with the name of a supported color.
Don’t use Twitter? Hop on our Discord Server and use the CheerLights bot to set the color. Type “/set_color” on any of the CheerLights discord server channels and the name of a supported color to control the CheerLights color.
- red (#FF0000)
- green (#008000)
- blue (#0000FF)
- cyan (#00FFFF)
- white (#FFFFFF)
- oldlace (#FDF5E6)
- purple (#800080)
- magenta (#FF00FF)
- yellow (#FFFF00)
- orange (#FFA500)
- pink (#FFC0CB)