Skip to content

Effects Gallery

uchroma supports two fundamentally different types of lighting effects: hardware effects that run directly on your device's firmware, and custom animations that are rendered by the uchroma daemon on your computer.

Hardware Effects vs Custom Animations

AspectHardware EffectsCustom Animations
ExecutionRuns on device firmwareRendered by uchromad on host
CPU UsageZero - device handles everythingLow - daemon runs at 15-30 FPS
PersistenceSurvives daemon restart/crashRequires daemon to be running
ComplexitySimple, predefined patternsRich, layered, reactive
CustomizationLimited parametersFull control via traitlets
Key ReactivityBasic (reactive, ripple)Advanced (ripple, typewriter)
LayeringSingle effect onlyMultiple layers with blend modes

When to Use Which

Choose Hardware Effects When:

  • You want zero CPU overhead
  • You need the effect to persist when the daemon isn't running
  • A simple built-in effect meets your needs
  • Battery life matters (laptops, wireless devices)

Choose Custom Animations When:

  • You want rich, complex visual effects
  • You need multiple layered effects with blending
  • You want effects that react to your typing
  • You want fine-grained control over parameters
  • You're creating a custom look for your setup

Quick Reference

Hardware Effects

EffectDescriptionKey Parameters
StaticSolid colorcolor
WaveMoving rainbow wavedirection
SpectrumSlow color cycling-
BreathePulsing colorscolors (0-2)
ReactiveKeys light on presscolor, speed
StarlightSparkling effectcolors, speed
RippleKeypress ripplescolor, speed
FireAnimated flamescolor, speed
SweepColor sweepcolor, direction, speed
MorphColor morphingcolor, base_color, speed

Custom Animations

RendererDescriptionCategory
PlasmaClassic demoscene plasmaAmbient
RainbowFlowing HSV gradientAmbient
AuroraNorthern lights curtainsAmbient
NebulaCosmic cloud formationsAmbient
OceanRolling waves with causticsAmbient
VortexSwirling spiral tunnelAmbient
Copper BarsAmiga-style raster barsRetro
KaleidoscopeRotating symmetryGeometric
MetaballsOrganic lava lamp blobsOrganic
CometsStreaking light trailsMotion
EmbersWarm floating particlesParticle
RippleKeypress ripplesReactive
ReactionKey color changeReactive
TypewriterWarm key glow fadeReactive

CLI Commands

Hardware Effects

bash
# List available effects
uchroma fx --list

# Set an effect
uchroma fx static --color '#ff0000'
uchroma fx wave --direction left
uchroma fx breathe --colors '#ff00ff' '#00ffff'

# Disable effects
uchroma fx disable

Custom Animations

bash
# List available renderers
uchroma anim --list

# Add a renderer layer
uchroma anim add plasma --preset sunset
uchroma anim add aurora --speed 1.5

# Show active layers
uchroma anim show

# Modify a layer
uchroma anim set 0 --speed 2.0

# Remove a layer
uchroma anim rm 0

# Stop all animations
uchroma anim stop

Layering and Blending

Custom animations can be stacked in layers with blend modes, creating complex visual effects:

bash
# Create a layered effect
uchroma anim add aurora --speed 0.5   # Base layer (z=0)
uchroma anim add ripple                # React to keys (z=1)

Each layer has a z-index determining its stack position. Higher z-index layers render on top. See Layer Compositing for details on blend modes.

Device Support

Not all devices support all effects. Hardware effect availability depends on the device's firmware. Custom animations work on any device with an addressable LED matrix.

To check what your device supports:

bash
# See available hardware effects
uchroma fx --list

# See device capabilities
uchroma devices --verbose

Released under the LGPL-3.0 License.