Northern-light RGB animation controller using OpenRGB SDK
Find a file
2026-05-09 23:35:44 -04:00
config Add runtime configuration file 2026-05-09 20:08:14 -04:00
docs Use portable systemd user paths 2026-05-09 23:35:00 -04:00
scripts Add second animations for each RGB zone 2026-05-09 18:09:52 -04:00
src/rgb_aura Add optional systemd user service 2026-05-09 22:28:06 -04:00
systemd/user Use portable systemd user paths 2026-05-09 23:35:00 -04:00
tests Initialize Python project structure 2026-05-04 02:17:39 -04:00
.editorconfig Initialize Python project structure 2026-05-04 02:17:39 -04:00
.gitignore Add runtime logging 2026-05-09 19:43:08 -04:00
LICENSE Initial commit 2026-05-04 01:14:07 -04:00
pyproject.toml Initialize Python project structure 2026-05-04 02:17:39 -04:00
README.md Document LLM-assisted project workflow 2026-05-09 23:26:56 -04:00

RGB Aura

Northern-light RGB animation controller using OpenRGB SDK.

RGB Aura drives selected OpenRGB zones with a dark-blue base color and slow green aurora-style movement. It is designed for a specific local hardware layout, with runtime guardrails to avoid writing to unexpected devices or reserved zones.

Current documentation

Hardware assumptions

RGB Aura currently assumes the validated OpenRGB device mapping in config/device_map.json.

The active RGB Aura zones are:

  • GPU
  • Motherboard
  • Top Fractal fans
  • Thermaltake/front fans

The reserved ARGB zone must remain untouched.

Requirements

  • Python 3.11 or newer
  • OpenRGB with the SDK server enabled
  • OpenRGB SDK server reachable at 127.0.0.1:6742
  • Python virtual environment created in the project directory
  • Project dependencies installed from pyproject.toml

Basic manual run

From the project directory:

source .venv/bin/activate
python -m rgb_aura.main --animation-speed 1.25 --leave-dark-blue

Stop with Ctrl+C.

When possible, RGB Aura restores the active controlled zones to dark blue during clean shutdown.

Dry-run preview

Dry-run mode previews scheduler behavior without connecting to OpenRGB and without writing RGB values:

python -m rgb_aura.main --dry-run

Runtime configuration

Runtime settings are stored in config/runtime_config.json.

Static OpenRGB hardware mapping remains separate in config/device_map.json.

Optional systemd user service

RGB Aura can optionally be installed as a systemd user service.

The service is not installed automatically. See docs/systemd-user-service.md.

Safety notes

RGB Aura validates runtime values, runtime configuration, and OpenRGB device mapping before normal animation writes.

For known safe failure behavior and exit codes, see docs/safe-failure-modes.md.