Skip to content
  • Live
  • Blog
  • Shop
  • Contact
  • About
  • Discord
  • GitHub
  • YouTube
  • Twitch
  • Instagram
CheerLights

CheerLights

We are all connected.

CheerLights on GitHub, Twitch, and Discord. We are all connected.
  • Learn
  • Build
  • Connect
  • Toggle search form

Gemini Moodlights: Tell Gemini How You Feel and CheerLights Changes Color

Posted on May 9, 2025November 6, 2026 By Hans Scharler No Comments on Gemini Moodlights: Tell Gemini How You Feel and CheerLights Changes Color

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.

An LED sign spelling MOOD LIGHTS in CheerLights colors on a rainbow background.

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.

  1. 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.
  2. It records a few seconds from your microphone and turns your answer into text with Whisper.
  3. It asks Gemini to pick a CheerLights color that matches what you said, along with a short, friendly reply.
  4. It speaks the reply and posts #cheerlights orange (or whichever color Gemini picked) to Mastodon.
  5. 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.

Share this:

  • Share on X (Opens in new window) X
  • Share on Facebook (Opens in new window) Facebook
  • Share on Tumblr (Opens in new window) Tumblr
  • Share on Reddit (Opens in new window) Reddit
  • More
  • Share on Pinterest (Opens in new window) Pinterest
  • Share on LinkedIn (Opens in new window) LinkedIn
  • Email a link to a friend (Opens in new window) Email
  • Print (Opens in new window) Print

Related

Projects

Post navigation

Previous Post: CheerLights MCP Server: Ask Claude for the Current Color
Next Post: CheerLights MCP Server 2.0: Color History, Statistics, and Search

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • CheerLights Turns 15: Thank You for Making It Yours
  • Build Your First CheerLights Light with WLED
  • CheerLights Updates: llms.txt and a Refreshed API Reference
  • Flash WLED on an ESP32-C3 and Sync It to CheerLights
  • CheerLights Stream Deck Plugin: Animated Bubbles and Aurora

Copyright © 2026 CheerLights.

Powered by PressBook Grid Blogs theme

Loading Comments...