Liz Myers found a new way to talk to CheerLights. You tell Gemini how you’re feeling, it picks a color to match your mood, and CheerLights around the world change to that color.

Her project is called Gemini Moodlights, and she shared it on Hackster.io with a full guide. Adafruit featured it as Match Your Room to Your Mood with NeoPixels and Gemini.
Liz keeps a strip of NeoPixels lighting her workspace. In her words: “I’ve always loved using ambient lighting to reflect the time of day, my energy level, or even my focus mode.” With Gemini Moodlights, she describes a mood instead of naming a color.
How It Works
The whole thing is one Python script, written for a Mac.
- It greets you out loud with a Google Cloud text-to-speech voice. It can speak English, Spanish, French, German, Italian, Portuguese, or Ukrainian, and there’s a German demo too.
- It records a few seconds from your microphone and turns your answer into text with Whisper.
- It asks Gemini to pick a CheerLights color that matches what you said, along with a short, friendly reply.
- It speaks the reply and posts
#cheerlights orange(or whichever color Gemini picked) to Mastodon. - The CheerLights bot on Mastodon sees the post, and every CheerLights display changes color.
The prompt is the part worth borrowing. Its core lines hand Gemini the list of valid color names and ask for the answer in a fixed format:
Suggest a Cheerlights color that matches this mood.
Valid colors are: red, green, blue, cyan, white, warmwhite, oldlace, purple, magenta, yellow, orange, pink.
If you can't match a color, pick a random one.
Return your answer like this:
Color: <color>
Message: <friendly message>
Then the script checks the answer before it posts. If Gemini returns something that isn’t on the list, the script picks a random color instead, so every post carries a color CheerLights can use.
The Lights
You don’t need any hardware to try it. The script runs with your Mac’s built-in microphone and speakers, and you can watch the color change with the CheerLights extension for Chrome.
If you want a light on your desk, Liz’s guide includes one. It’s a 24-pixel NeoPixel ring on an Adafruit Feather HUZZAH32, with three wires: ground, power, and data on GPIO 15. Her sketch reads the current color from the CheerLights channel on ThingSpeak every 10 seconds and runs a quick chase around the ring when the color changes.
Try It
The code is on GitHub at LizMyers/gemini-moodlights, and the Hackster guide walks through each key you need: a Gemini API key, a Google Cloud key for the voices, and a Mastodon token. Her guide also covers following @cheerlights on Mastodon.
This isn’t Liz’s first CheerLights project. Back in 2019, she built a JavaScript CheerLights Lamp. It’s fun to see her come back with lights you can talk to.
Thank you, Liz, for building this and writing it up so others can try it.

