-
Notifications
You must be signed in to change notification settings - Fork 5
Modes
Clocks: Binary clock | Binary epoch | Breakout clock | Clock | Game of Life | Ping-pong | 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 | Ticker
Smart-home: Home Thermometer | Stream | Weather
Miscellaneous: Blink | Bright | Firework | Glitter | Leaf fall | Metaballs | Pixel sequence | Waveform
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.
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'Binary clock, counts seconds since midnight.
Configure in .env:
MODE_BINARYCLOCK='true'See also Binary epoch.
Binary clock, counts seconds since 1970.
Configure in .env:
MODE_BINARYEPOCH='true'See also Binary clock.
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'Use it as an alarm.
Configure in .env:
MODE_BLINK='true'See also Bright.
Inspired by the classic breakout game.
Configure in .env:
MODE_BREAKOUT='true'Use it as a lamp, if desired.
Configure in .env:
MODE_BRIGHT='true'See also Blink.
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.
Clock with font selection and optional seconds indicator.
Configure in .env:
MODE_CLOCK='true'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.
Create artwork and show it off on the display.
Use the Web app to get started.
Configure in .env:
MODE_DRAW='true'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'Happy new year.
Configure in .env:
MODE_FIREWORK='true'Multiplayer fly-simulator.
Configure in .env:
MODE_FLIES='true'Inspired by Conway’s Game of Life. Comes with an optional clock.
Configure in .env:
MODE_GAMEOFLIFE='true'Inspired by snow on old analog TVs.
Configure in .env:
MODE_GLITTER='true'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'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.
Autumn-inspired.
Configure in .env:
MODE_LEAFFALL='true'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.
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'Inspired by the original IKEA Obegränsad mode.
Configure in .env:
MODE_NOISE='true'Inspired by the classic ping-pong game. Comes with an optional clock.
Configure in .env:
MODE_PINGPONG='true'For tech enthusiasts, it iterates through the pixels one by one, following the SPI bus addressing order.
Tip
The Microphone extension can be used to play/pause the sequence.
Configure in .env:
MODE_PIXELSEQUENCE='true'Inspired by the original IKEA Obegränsad mode.
Configure in .env:
MODE_RAIN='true'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.
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.
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.
Inspired by the classic snake-game. Comes with an optional clock.
Configure in .env:
MODE_SNAKE='true'Inspired by the original IKEA Obegränsad mode.
Configure in .env:
MODE_STARS='true'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:4048example.local:5568example.local:6454
Tip
The Stream csv Python script streams custom content such as animations and drawings.
Configure in .env:
MODE_STREAM='true'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.
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.
Providers available:
Configure in secrets.h:
#define LATITUDE "0.000" // coordinate
#define LONGITUDE "0.000" // coordinate
#define LOCATION "city"Note
Provide 3-4 decimals for the most accurate weather reports. A small subset of providers also supports a location name, usually in the form of a city or village.
Configure in .env:
MODE_WEATHER='true'TEMPERATURE_UNIT='°C' # °C, °F or °K