Atlas v2 Model Generator

Generate LED sphere models for xLights, MadMapper, and Chromatik

A Python tool that turns one YAML config for the Atlas v2 LED sphere by DrZzs and GrZzs (49 rings, 6,119 LEDs, sphere radius 100, a 16-port controller) into the model files four animation programs need. An xLights 2D .xmodel plus a companion CSV. An xLights 3D model with ring submodels and spherical coordinates on a 50x50x50 grid. A MadMapper .mmfl LED fixture with DMX channel mapping. A Chromatik .lxf custom fixture, one 360-degree arc per ring at its latitude, with Art-Net host and universe wired in. One config, four targets.

I built it because the sphere is the centerpiece of Commune, my interactive dining installation, and every animation platform I drive it from wants the geometry in a different format. Computing per-LED coordinates and string-mapping by hand is the kind of thing you do once and then never want to do again. The entry point is generate_models.py. CLI flags pick the formats, output directory, prefix, or list what’s available: -c, -o, -f, -p, --list-formats. Each target lives in its own module under generators/ on top of a shared base_generator, so adding a new program is one more class.

The detail worth knowing is the xLights handoff. The 2D generator emits a CSV alongside the .xmodel, and the rows labeled PC Start are the LED Start values you punch into each controller port — the math is already done, you’re just transcribing. Chromatik fixtures drop into ~/Chromatik/Fixtures/ on macOS and Linux, or %USERPROFILE%\Chromatik\Fixtures\ on Windows, and Chromatik picks them up.