Skip to content

Attract Particles

The particles mode renders drifting firefly-like particles with independent motion, color cycling, and edge-wrapping behavior. The mode produces a calm ambient glow effect by filling the panel with small filled circles that move in independent directions at varying speeds, with hue cycling over time. Each particle's heading is perturbed every frame by a configurable drift randomness factor, and when a particle exits one panel edge it re-enters at a random position on the opposite edge, retaining its current color phase.

Options

Key Type Description Default Allowed Values
speed float Particle speed multiplier controlling how quickly individual firefly dots move across the panel 1.0 any valid float (0.1–10.0 recommended)
density float Particle count scaling factor from sparse (0.1) to maximum particle coverage (1.0) 0.5 any valid float (0.1–1.0)
drift float Random directional wander per frame controlling how erratically particles change heading each tick 0.3 any valid float (0.0–1.0)
glow float Hue cycling intensity controlling how rapidly particle colors shift through the rainbow spectrum 0.5 any valid float (0.1–1.0)

Policy Fields

Field Type Range Default Description
Speed float64 [0.1, 10.0] 1.0 Particle speed multiplier
Density float64 [0.1, 1.0] 0.5 Particle count scaling
Drift float64 [0.0, 1.0] 0.3 Random directional wander per frame
Glow float64 [0.1, 1.0] 0.5 Hue cycling intensity

CLI Examples

Query the current particles policy:

cyberhudctl display attract_particles

Set a faster speed with higher density and stronger drift:

cyberhudctl display config 0 speed=3.0 density=0.8 drift=0.7

Panel Compatibility

  • Color TFT — full-color rendering with smooth hue cycling across all particles. Each particle displays its current color phase as a filled circle with per-frame position updates.
  • Monochrome OLED — particles render as white filled circles on a black background. Hue cycling is not visible but motion, drift, and edge-wrapping behavior remain intact.
  • E-Ink — static particle scatter frame rendered for slow-refresh panels. See below.

E-Ink Behavior

On e-ink panels, the particles mode renders a static particle scatter frame for slow-refresh panels. Rather than animating continuously, a single frame is drawn with particles placed at their initial randomized positions. This avoids excessive refresh cycles that would degrade the e-ink display or produce visible flicker.

Snapshots

Color

color-8x16 8x16
8x16
color-16x8 16x8
16x8
color-80x160 80x160
80x160
color-slow-104x212 104x212
104x212
color-slow-122x250 122x250
122x250
color-128x128 128x128
128x128
color-128x160 128x160
128x160
color-slow-128x296 128x296
128x296
color-135x240 135x240
135x240
color-160x80 160x80
160x80
color-160x128 160x128
160x128
color-slow-176x264 176x264
176x264
color-slow-200x200 200x200
200x200
color-slow-212x104 212x104
212x104
color-240x135 240x135
240x135
color-240x240 240x240
240x240
color-240x320 240x320
240x320
color-slow-250x122 250x122
250x122
color-slow-264x176 264x176
264x176
color-slow-296x128 296x128
296x128
color-slow-300x400 300x400
300x400
color-320x240 320x240
320x240
color-320x480 320x480
320x480
color-slow-400x300 400x300
400x300
color-480x320 480x320
480x320
color-480x800 480x800
480x800
color-slow-480x800 480x800
480x800
color-800x480 800x480
800x480
color-slow-800x480 800x480
800x480

Grayscale

grayscale-fast-8x16 8x16
8x16
grayscale-fast-16x8 16x8
16x8
grayscale-fast-80x160 80x160
80x160
grayscale-slow-104x212 104x212
104x212
grayscale-slow-122x250 122x250
122x250
grayscale-fast-128x128 128x128
128x128
grayscale-fast-128x160 128x160
128x160
grayscale-slow-128x296 128x296
128x296
grayscale-fast-135x240 135x240
135x240
grayscale-fast-160x80 160x80
160x80
grayscale-fast-160x128 160x128
160x128
grayscale-slow-176x264 176x264
176x264
grayscale-slow-200x200 200x200
200x200
grayscale-slow-212x104 212x104
212x104
grayscale-fast-240x135 240x135
240x135
grayscale-fast-240x240 240x240
240x240
grayscale-fast-240x320 240x320
240x320
grayscale-slow-250x122 250x122
250x122
grayscale-slow-264x176 264x176
264x176
grayscale-slow-296x128 296x128
296x128
grayscale-slow-300x400 300x400
300x400
grayscale-fast-320x240 320x240
320x240
grayscale-fast-320x480 320x480
320x480
grayscale-slow-400x300 400x300
400x300
grayscale-fast-480x320 480x320
480x320
grayscale-fast-480x800 480x800
480x800
grayscale-slow-480x800 480x800
480x800
grayscale-fast-800x480 800x480
800x480
grayscale-slow-800x480 800x480
800x480

Mono

mono-8x16 8x16
8x16
mono-16x8 16x8
16x8
mono-32x128 32x128
32x128
mono-64x128 64x128
64x128
mono-slow-104x212 104x212
104x212
mono-slow-122x250 122x250
122x250
mono-128x32 128x32
128x32
mono-128x64 128x64
128x64
mono-128x128 128x128
128x128
mono-slow-128x296 128x296
128x296
mono-slow-176x264 176x264
176x264
mono-slow-200x200 200x200
200x200
mono-slow-212x104 212x104
212x104
mono-slow-250x122 250x122
250x122
mono-slow-264x176 264x176
264x176
mono-slow-296x128 296x128
296x128
mono-slow-300x400 300x400
300x400
mono-slow-400x300 400x300
400x300
mono-slow-480x800 480x800
480x800
mono-slow-800x480 800x480
800x480