Features & customization
Everything on the panel is something you define — the data, the art, the motion, the layout. The bundled presets, effects and sprites are starting points you take over and edit, not the product's ceiling.
The customizable core
Bring any data — custom JSON API sources
Point DataPix at any HTTP or HTTPS endpoint that returns JSON. Each source has:
- a URL and up to 8 request headers
(auth tokens, API keys,
Accept— whatever the API needs); - a poll interval (minimum 10 seconds) and a 10 second timeout.
Press Test API to fetch a live sample. DataPix shows the
response as a collapsible tree — click the exact value(s) you want
($.data.prices[0].amount, nested objects, array indices). Each
selected value becomes an on-panel element with its own:
Format strings wrap the value with literal text and optional fixed precision:
{value}, {value:.2f} $, Ping {value} ms.
Any field whose path contains “change” is auto-coloured green when
positive, red when negative. Numbers, strings and booleans from any JSON API,
anywhere on the panel.
Up to 8 data sources total · response body capped at 8 KB.
Paint anything — custom pixel art
A per-pixel editor on a live 64×32 canvas: Move, Paint and Erase tools with a native colour picker and click-drag painting. Colours are quantised to the panel's real gamut as you paint, so what you see in the editor is what lights up. Paint a full static layer up to the panel's pixel count, on its own or underneath text and data.
Animate anything — custom frame animations
Draw an animation frame by frame. Add, duplicate, delete and clear frames (up to 10 frames, up to 2000 painted pixels across all of them), set the frame speed in milliseconds, and watch it loop live in the editor. Entirely your own motion — no code, no timeline expressions.
Arrange anything — per-view control
A view is one screen of content. Drag every element to any position. Per view you set:
| Setting | Range | Default |
|---|---|---|
| Name | free text | — |
| Duration on screen | seconds | 5 |
| Brightness | 10–255 | 90 |
| Overflow mode | Wrap · Scroll sideways · Scroll up | Wrap |
| Enabled | on / off | on |
| Order in rotation | move up / down | append |
The device auto-rotates through every enabled view that has content, holding each for its duration and never cutting a scrolling message off mid-pass. Up to 30 views, 6 elements per view. Static text elements count too — any string, any colour, any size, shown verbatim or scrolling.
Import your own images
Bring a GIF or a still image (PNG, JPG, WebP, BMP). It is decoded in your browser and downscaled to the panel:
- Fit: Contain (letterbox) or Cover (crop to fill).
- Trim to a first / last frame, set the frame speed, set brightness (10–255).
- A GIF can be up to 60 frames; a still becomes a one-frame view.
Starting points — bundled, all editable
Guided presets
Eleven one-form setups. Each fills in a complete view and drops it into the editor for you to change:
Built-in data providers
Shortcuts for the common cases, resolved on the device — or wire the network ones yourself as custom API sources for full control:
| Provider | Source | Notes |
|---|---|---|
| Clock | device NTP clock | strftime format, e.g. %H:%M |
| Countdown | device clock (UTC) | token template {days}d {hours}h {minutes}m |
| Temperature & Humidity | on-board DHT22 sensor | no network — read on the device; °C and % RH, added as two values |
| Weather | OpenWeatherMap | pick any field from the response |
| Crypto | CoinGecko | price & 24h change |
| Stocks | Twelve Data | quote value, plus an on-panel sparkline chart |
API keys are stored on the device and never rendered on the panel. The DHT22 sensor is optional hardware (data pin set at build time).
26 built-in effects
Full-panel background animations. Layer your text and data on top:
19 sprites
Drop one in, then repaint it pixel by pixel with the paint tools:
14 animated patterns
Baked into editable frames — keep them, or paint over them: