Getting Started With CheerLights

by bekathwia in Circuits > LEDs

859 Views, 8 Favorites, 0 Comments

Getting Started With CheerLights

FBJ4K2RLPQX8WSM.jpg
01a overview.jpg
01d christmas lights.jpg
01b overview.gif

Today I’m going to show you how to set up your first CheerLights circuit.

CheerLights is a global LED color-sharing platform created by Hans Scharler in 2011. You send it a color, and all the folks with CheerLights will see the new color on their own setups. It used to use Twitter, but now you can control CheerLights using Discord. It’s a super easy beginner IoT project. 

Supplies

07 connect pixel strip.jpg

For this project, you’ll need some RGB LEDs and a wifi microcontroller. I’m using a strip of WS2812 addressable pixels, also called NeoPixels, and an Arduino Nano ESP32 wifi microcontroller board.

Here's a full list of everything you'll need:

Watch the Video

Getting started with CheerLights

I made a video explaining the process, check it out!

Getting Set Up

04 setting up ide.jpg
08 pixel strip with arrows.jpg
gif test.gif

The first step is to make sure your Arduino IDE is set up for your wifi board, which in most cases requires installing another boards package and any drivers necessary for your specific hardware. Since this is an Arduino brand board, the IDE comes with board support already installed. Then you’ll need to install the NeoPixel library, and open up the strandtest example that comes with it. It’s important to run a test sketch on your circuit to verify that you can communicate with the board successfully. Connect your pixel strip to power, ground, and a data output, then make sure your Arduino code references that same output pin. If all goes well, you’ll see the pixels light up. Now you’re ready to move on to the internet code.

Internet Code

06 neopixel library.jpg
11 update wifi name and pw.jpg
12 update pin.jpg

I got this code example from the CheerLights github. Even though it says its for the ESP8266, it works fine on the ESP32.

Then I updated my wifi network name and password, as well as the pixel pin, to match my own. 

The code periodically checks for updates on the ThingSpeak channel used to communicate the CheerLights color, then sets the LEDs to that color.

Use It

13 how to use this bot.jpg
14 crinoline.jpg
15 tree top.jpg

That's all there is to setting up the hardware and software for your CheerLights project. The physical form is up to you. I put my LED strip in a piece of crinoline tubing, then twisted it up into a decorative knot to put on top of my Christmas tree.

I made a second CheerLights circuit using the TinyPico board and a smaller strip of pixels inside a pingpong ball.

Ping Pong Balls?!

18 ping pong ball fire.jpg
19 ping pong on fire.jpg
17 ping pong lamp.jpg

But aren't ping pong balls flammable!? Yes, technically pingpong balls can catch on fire. But not from these regular LEDs. It’s a common misconception that LEDs can get hot enough to set their diffusion on fire– surely some of the super high-power ones could, especially if you didn’t heatsink them properly, but those are not your run-of-the-mill LEDs. 

It takes a lot to set a ping pong ball on fire. A casual grazing of it with direct flame from a lighter doesn’t do it, you really have to hold that heat source right on it for quite some time. Admittedly, once it catches, it does keep itself burning for quite some time. They’re made of nitrocellulose and camphor. But could my CheerLights start that fire? No way.

Enjoy!

01_final.jpg

Having the CheerLights LED circuit around and noticing it change color is really fun, knowing that another person sent that color and is probably looking at their CheerLights right now. And that makes more folks notice theirs, and send a color of their own. Cheer is exactly the word I’d use to describe that feeling of “hey, it changed color!” then immediately pull out my device to send along a color of my own in response, contributing to an ongoing color conversation. It's super fun and easy, and I hope you’ll give it a try.