Skip to main content
The Niblet canvas contains 2,048 pixels. Every pixel must earn its place.

Start at native resolution

Design images at 64×32 or smaller. Downscaling a large illustration usually creates soft edges and noisy single-pixel details. Use high-contrast silhouettes, limited palettes, and spacing that survives the panel diffuser.

Keep text short

  • Prefer one data point or phrase per frame.
  • Use bundled pixel fonts and test every required glyph.
  • Avoid thin color combinations with similar perceived brightness.
  • Use a marquee only when the content cannot be shortened.

Build animation deliberately

Niblet WebP output can contain multiple frames. Use render.Animation, render.Sequence, or the animation module for controlled movement. Keep loops short, avoid flashes, and inspect the transition from the last frame back to the first.

Test in three views

  1. Native 64×32, to catch unreadable detail.
  2. Pixel-magnified, to inspect alignment and animation edges.
  3. A physical display, to check brightness, color, scan behavior, and viewing distance.
A clean static frame is better than an animation that competes with the information. Add motion only when it explains change or reveals content.