Skip to content
github-actions[bot] edited this page Jan 30, 2026 · 20 revisions

🎛️ Modes

Clocks: Binary clock | Binary epoch | Breakout clock | Game of Life | Large clock | Ping-pong | Small clock | Snake

Games: Breakout clock | Game of life | Ping-pong| Snake

IKEA Frekvens: Arrow | Blinds | Equalizer | Jagged Waveform | Ring | Smooth waveform

IKEA Obegränsad: Circle | Lines | Noise | Rain | Scan | Stars

Interactive: Animation | Countdown | Draw | Flies | Stream | Ticker

Smart-home: Home Assistant Weather | Home Thermometer

Weather: Google Weather | Home Assistant Weather | Open Meteo | Open Weather | World Weather Online | Wttr.in | Yr

Miscellaneous: Blink | Bright | Firework | Glitter | Leaf fall | Metaballs | Pixel sequence | Waveform

🎬 Animation

Create simple animations and show it off on the display.

Use the Web app to get started.

Tip

The Microphone extension can be used to play/pause the animations.

Configure in .env:

MODE_ANIMATION='true'

See also Draw.

⬇️ Arrow

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the arrow, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_ARROW='true'

0️⃣ Binary clock

Binary clock, counts seconds since midnight.

Configure in .env:

MODE_BINARYCLOCK='true'

See also Binary epoch.

1️⃣ Binary epoch

Binary clock, counts seconds since 1970.

Configure in .env:

MODE_BINARYEPOCH='true'

See also Binary clock.

🪟 Blinds

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the blinds.

Configure in .env:

MODE_BLINDS='true'

👁️ Blink

Use it as an alarm.

Configure in .env:

MODE_BLINK='true'

See also Bright.

💥 Breakout clock

Inspired by the classic breakout game.

Configure in .env:

MODE_BREAKOUT='true'

🌟 Bright

Use it as a lamp, if desired.

Configure in .env:

MODE_BRIGHT='true'

See also Blink.

⚪ Circle

Inspired by the original IKEA Obegränsad mode.

Tip

The Microphone extension can be used to play/pause the circle.

Configure in .env:

MODE_CIRCLE='true'

See also Ring.

⏳ Countdown

Start a countdown timer.

The display will blink when the timer reaches zero.

Use the Web app to start a new countdown, it can also be automated via Home Assistant.

API payload examples:

{
    "time": 600
}
{
    "timestamp": "2025-12-02T18:39:00"
}

Note

The expected timestamp format is an ISO 8601 string without timezone suffix.

Configure in .env:

MODE_COUNTDOWN='true'

See also Blink.

🎨 Draw

Create artwork and show it off on the display.

Use the Web app to get started.

Configure in .env:

MODE_DRAW='true'

📊 Equalizer

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the equalizer, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_EQUALIZER='true'

🎆 Firework

Happy new year.

Configure in .env:

MODE_FIREWORK='true'

🪰 Flies

Multiplayer fly-simulator.

Configure in .env:

MODE_FLIES='true'

🌱 Game of life

Inspired by Conway’s Game of Life. Comes with an optional clock.

Configure in .env:

MODE_GAMEOFLIFE='true'

✨ Glitter

Inspired by snow on old analog TVs.

Configure in .env:

MODE_GLITTER='true'

☁️ Google Weather

Weather service.

Updated every 15 minutes.

Requires a API-key, set using the GOOGLEWEATHER_KEY variable.

Configure in secrets.h:

#define GOOGLEWEATHER_KEY "secret"

Configure in .env:

MODE_GOOGLEWEATHER='true'

Note

Location coordinates, LATITUDE and LONGITUDE are required.

🏡 Home Assistant weather

Smart-home integration

Requires an Long-lived access token, set using the HOMEASSISTANT_KEY variable. Other variables are optional.

Configure in secrets.h:

#define HOMEASSISTANT_KEY "secret"
#define HOMEASSISTANT_PROTOCOL "http:"
#define HOMEASSISTANT_HOST "homeassistant.local"
#define HOMEASSISTANT_PORT 8123
#define HOMEASSISTANT_ENTITY "weather.forecast_home"

Configure in .env:

MODE_HOMEASSISTANT='true'

See also Home Assistant extension.

🌡️ Home thermometer

Smart-home integration.

Display the current indoor and outdoor temperatures.

Integrated into Home Assistant.

API payload example:

{
    "indoor": 21,
    "outdoor": 9
}

Configure in .env:

MODE_HOMETHERMOMETER='true'

📈 Jagged waveform

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the waveforms, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_JAGGEDWAVEFORM='true'

See also Smooth waveform and Waveform.

⏱️ Large clock

Clock with optional seconds indicator.

Configure in .env:

MODE_LARGECLOCK='true'

See also Small clock.

🍂 Leaf fall

Autumn-inspired.

Configure in .env:

MODE_LEAFFALL='true'

☰ Lines

Inspired by the original IKEA Obegränsad mode.

Tip

The Microphone extension can be used to play/pause the lines, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_LINES='true'

See also Scan.

🔵 Metaballs

Inspired by organic, blob-like shapes.

Tip

The Microphone extension can be used to play/pause the movement of the shapes.

Configure in .env:

MODE_METABALLS='true'

🔇 Noise

Inspired by the original IKEA Obegränsad mode.

Configure in .env:

MODE_NOISE='true'

⛅ Open-Meteo

Weather service.

Updated every 15+ minutes, depending on location.

Commercial usage requires an API-key, set using the OPENMETEO_KEY variable.

Configure in secrets.h:

#define OPENMETEO_KEY "secret"

Configure in .env:

MODE_OPENMETEO='true'

Note

Location coordinates, LATITUDE and LONGITUDE are required.

☀️ Open Weather

Weather service.

Updated every 10 minutes.

Requires a API-key, set using the OPENWEATHER_KEY variable.

Configure in secrets.h:

#define OPENWEATHER_KEY "secret"

Configure in .env:

MODE_OPENWEATHER='true'

Note

Location coordinates, LATITUDE and LONGITUDE are required.

🏓 Ping-pong

Inspired by the classic ping-pong game. Comes with an optional clock.

Configure in .env:

MODE_PINGPONG='true'

🔢 Pixel sequence

For tech-geeks, iterates through the pixels one by one in the exact same order as the pixels are addressed on the SPI-bus.

Tip

The Microphone extension can be used to play/pause the sequence.

Configure in .env:

MODE_PIXELSEQUENCE='true'

☔ Rain

Inspired by the original IKEA Obegränsad mode.

Configure in .env:

MODE_RAIN='true'

💍 Ring

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the ring, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_RING='true'

See also Circle.

🔍 Scan

Inspired by the original IKEA Obegränsad mode.

Tip

The Microphone extension can be used to play/pause the scan.

Configure in .env:

MODE_SCAN='true'

See also Lines.

⏱️ Small clock

Clock with optional seconds indicator.

Configure in .env:

MODE_SMALLCLOCK='true'

See also Large clock.

〰️ Smooth waveform

Inspired by the original IKEA Frekvens mode.

Tip

The Microphone extension can be used to play/pause the waveforms, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_SMOOTHWAVEFORM='true'

See also Jagged waveform and Waveform.

🐍 Snake

Inspired by the classic snake-game. Comes with an optional clock.

Configure in .env:

MODE_SNAKE='true'

⭐ Stars

Inspired by the original IKEA Obegränsad mode.

Configure in .env:

MODE_STARS='true'

💻 Stream

Provides real-time pixel and lighting data over Wi-Fi, allowing the display to be driven live from external software and controllers.

Multiple widely used streaming protocols are supported:

  • Art-Net – Real-time lighting control data over UDP/IP.
  • Distributed Display Protocol (DDP) – Efficient pixel-oriented data streaming.
  • E1.31 (sACN) – Network-based DMX512 data streaming.

Receivers:

  • example.local:4048
  • example.local:5568
  • example.local:6454

Tip

The Stream csv Python script streams custom content such as animations and drawings.

Configure in .env:

MODE_STREAM='true'

🅰️ Ticker

Rolling text.

Use the Web app to set a message, or automate it via Home Assistant.

API payload example:

{
    "font": "Mini",
    "message": "Hello world!"
}

Configure in .env:

MODE_TICKER='true'

See also Message.

🔊 Waveform

Inspired by the two original IKEA Frekvens modes.

Tip

The Microphone extension can be used to play/pause the waves, just like on a stock IKEA Frekvens device.

Configure in .env:

MODE_WAVEFORM='true'

See also Jagged waveform and Smooth waveform.

🌍 World Weather Online

Weather service.

Updated every 10-15 minutes.

Order of precedence:

  • LATITUDE and LONGITUDE.
  • LOCATION

Requires a API-key, set using the WORLDWEATHERONLINE_KEY variable.

Configure in secrets.h:

#define WORLDWEATHERONLINE_KEY "secret"

Configure in .env:

MODE_WORLDWEATHERONLINE='true'

Note

Location coordinates, LATITUDE and LONGITUDE, or a location name LOCATION is required.

☀️ Wttr.in

Weather service.

Updated hourly.

Order of precedence:

  • LATITUDE and LONGITUDE.
  • LOCATION
  • Auto-detect

Configure in .env:

MODE_WTTRIN='true'

🌧️ Yr

Weather service.

Denmark, Finland, Norway and Sweeden uses Nowcast, which is updated every 5 minutes. The rest of the world uses Location Forecast.

Configure in .env:

MODE_YR='true'

Note

Location coordinates, LATITUDE and LONGITUDE are required.

Clone this wiki locally