Skip to content

Attributions

The people, projects and published algorithms whose work shaped MoonLight. We study their thinking with respect and write our own code against our architecture. A module's @attribution names an entry by any of its names, a person and their company or handle written as one entry, and the module's help links it there. A picture is a Wikimedia Commons file, named after the link as File:<name>, and an entry linking GitHub shows its avatar. A name not listed yet is still allowed: it shows as written until it is added here. The modules that name an entry are read from their headers when the site is built. Any other source file's @attribution line counts too, so code that is no module credits where its idea lives. The deck filters by kind: ๐Ÿง‘ a person, ๐Ÿข a company or shop, ๐Ÿงฐ a project or library, ๐Ÿ“œ a standard or protocol, ๐Ÿงฎ an algorithm, ๐ŸŽจ an art form or culture.

Name Kind Known for Attributed by
4wheeljive
๐Ÿง‘ Jeff Holman: flow fields, from a Petrick concept. ColorTrails, Trails
Adafruit ๐Ÿข The LCD_CAM discovery behind the S3 driver. Hub75, I80Peripheral.h, ParallelSlots.h
After Dark ๐ŸŽจ Berkeley Systems' screensavers, the Flying Toasters and the aquarium among them. FishTank, FlyingToasters
Aircoookie
๐Ÿง‘ Christian Schwinne, creator of WLED. Tetrix
Andrew Tuline / atuline
๐Ÿง‘ The WLED-SR audio-reactive effects. AudioSpectrum, Blurz, BouncingBalls, FreqMatrix, GEQ, Lissajous, NoiseMeter, Tetrix
Art-Net ๐Ÿ“œ The lighting-network protocol for DMX over IP. NetworkReceive, NetworkSend
Bill Reeves / Particle system
๐Ÿง‘๐Ÿงฎ Particle systems, as a technique. Fireworks, Particles, particles.h
blazoncek
๐Ÿง‘ Blaลพ Kristan: WLED effects, and their ports. DistortionWaves, Tetrix
Boustrophedon
๐Ÿงฎ Alternate lines running in reverse, the serpentine wiring of a snaked strip. Cube, Grid, GridBlacks, Panel, Panels
Brandon502 / WildCats08
๐Ÿง‘ Modifiers, particles, and Game of Life. Checkerboard, GameOfLife, Particles, Pinwheel, Rotate, RubiksCube, StarField
Breakout ๐ŸŽจ Atari's 1976 arcade game. Breakout
Bresenham
๐Ÿงฎ Lines and circles on integer grids. draw.h
Chebyshev distance
๐Ÿงฎ The grid metric max(|dx|, |dy|). Block
Christophe Gagnier / Moustachauve
๐Ÿง‘ Author of the native WLED-Android and WLED-iOS apps, whose source let MoonLight devices appear in them. HttpServer, WledPacket.h
Conical spiral
๐Ÿงฎ A spiral wound up the surface of a cone. Spiral
Damian Schneider / DedeHai
๐Ÿง‘ Author of the WLED Particle System, whose shape our particle kernel follows in fixed point. Ballpit, Fireworks, particles.h
Daniel Shiffman / Coding Train / Nature of Code ๐Ÿง‘ The Coding Train's starfield, and The Nature of Code's cellular automata. GameOfLife, StarField
David Jupijn / Rising Step
๐Ÿง‘ The contributor the ๐Ÿฆ… tag credits on the effects he shaped. Fire, LavaLamp, Metaballs, Particles, Plasma, Rings, Ripples, Spiral
DDP ๐Ÿ“œ The Distributed Display Protocol, pixel data over UDP. NetworkReceive, NetworkSend
Delphium ๐Ÿง‘ HUB75, OSC, HLS, RTSP, NDI, and Windows. Hls, Hub75, Ndi, Rtsp
Demoscene ๐ŸŽจ The real-time art scene of the home-computer era, its water, vector balls and plasma among the tricks. VectorBalls
DougHaber
๐Ÿง‘ Doug Haber: nlife-color, Conway's Game of Life with color. GameOfLife
E1.31 / sACN ๐Ÿ“œ Streaming ACN, DMX over IP as ANSI standardizes it. NetworkReceive, NetworkSend
Eric Marciniak ๐Ÿง‘ The car-lights fixture. CarLights
ESPHome ๐Ÿงฐ Home Assistant discovery, and HUB75. Hub75, Hub75Slots.h
Euclidean distance
๐Ÿงฎ The straight-line metric. Circle
ewowi
๐Ÿง‘ MoonLight, StarLight, WLED 2D, LED preview. GameOfLife
FastLED
๐Ÿงฐ The canonical LED-effects library whose names and models MoonLight carries forward (scale8, sin8, the gradient-palette model, the beatsin8 family) so a contributor recognizes them on sight. The implementations are our own, integer-only and hot-path-tuned. Color maths and the basic power functions. DemoReel, Plasma, RmtLed, I80Peripheral.h, ParallelSlots.h, ParlioPeripheral.h, math8.h
FFmpeg ๐Ÿงฐ The open video toolkit the desktop HLS and RTSP drivers encode through. Hls
Fisher-Yates shuffle
๐Ÿงฎ A uniform random permutation in one pass. RandomMap
FPP / Falcon Player
๐Ÿงฐ The show player that prompted PanelCardDriver: if a Linux host can feed a wall of HUB75 panels, so can the board already rendering them. Its receiving-card protocols, and its FSEQ format is what a show file is. FseqPlayer, PanelCard
Frank / softhack007
๐Ÿง‘ Main author of the WLED-MM audio-reactive usermod. The ideas behind AudioService, including the adaptive noise gate analyzed with his permission, descend from years of collaboration, as do the AI principles and the care for code quality. Audio, Blurz, GEQ
GLSL ๐Ÿ“œ The OpenGL shading language, whose built-in function names the shader kernel keeps. shader.h
Gomez ๐Ÿง‘ The demoscene water effect, 2000. BeatRipples
Harald Kubota ๐Ÿง‘ An independent write-up of the ColorLight 5A-75B wire format. PanelCard
HLS ๐Ÿ“œ HTTP Live Streaming, RFC 8216: video as a playlist of short segments. Hls
Hugo Elias ๐Ÿง‘ The water surface algorithm. WaterRipple
hzeller
๐Ÿง‘ Henner Zeller: the HUB75 lineage on the Pi. Hub75, Hub75Slots.h
IEC 60268-17
๐Ÿ“œ VU meter ballistics, to the millisecond. Spectrum, VuMeters
Improv Wi-Fi
๐Ÿ“œ The open serial provisioning standard the web installer uses. ImprovProvisioning
Iรฑigo Quilez ๐Ÿง‘ Distance functions and their operators, smooth minimum, cosine palettes. PolarNoise, Raymarch, SdfShapes, Tunnel, raymarch.h, shader.h
John Hart / Sphere tracing
๐Ÿง‘๐Ÿงฎ Sphere tracing, the basis of raymarching. Raymarch, raymarch.h
Jos Stam / Stable Fluids
๐Ÿง‘๐Ÿงฎ Stable Fluids, the solver behind the fluid effect. Fluid, Trails
Ken Perlin / Perlin noise
๐Ÿง‘๐Ÿงฎ Gradient noise, the field behind fire and clouds. NoiseMeter
ldirko
๐Ÿง‘ The Distortion Waves effect. DistortionWaves
Limpkin
๐Ÿง‘ The SE16 and LightCrafter boards, RGBW tuning. FixedRectangle, SingleColumn, SingleRow, StarSky
Mark Kriegsman
๐Ÿง‘ FastLED's Fire2012, DemoReel100, noise field and rainbow. DemoReel, Fire, Noise, Rainbow, math8.h
Meshtastic ๐Ÿงฐ The off-grid text mesh whose channel chat gives Talk its shape. MoonTalk
MONSOONO / Flavourdynamics
๐Ÿง‘ The Praxis effect. Praxis
mplayer-colorlight ๐Ÿงฐ The original reverse engineering of the ColorLight receiving cards. PanelCard
MQTT ๐Ÿ“œ The OASIS publish-subscribe protocol, 3.1.1, that home automation speaks. MqttPacket.h
mrcodetastic
๐Ÿง‘ ESP32 HUB75 DMA. Hub75, Hub75Slots.h
MycilaSafeBoot
๐Ÿงฐ Mathieu Carbou's safeboot, with Tasmota's the pattern behind MoonBase. moonbase_main.cpp
NDI ๐Ÿ“œ NewTek and Vizrt's video-over-network protocol. Ndi
NEC ๐Ÿ“œ The infrared protocol consumer remotes speak. Infrared
NetMindz
๐Ÿง‘ Will Tatam: WLED audio sync, and the statistics work. Audio, WLEDAudioSyncPacket.h
ObjectFLED
๐Ÿงฐ Parallel WS2812 output on the Teensy 4 by DMA to a GPIO port. ParallelLed, GpioDmaPeripheral.h
OctoWS2811 ๐Ÿงฐ Paul Stoffregen's parallel WS2812 library for the Teensy, timer-driven DMA. ParallelLed, GpioDmaPeripheral.h
Pac-Man ๐ŸŽจ Namco's 1980 arcade game. Pacman
Philips Hue ๐Ÿข The smart-light bridge and its local REST API. Hue
Piper
๐Ÿงฐ OHF-Voice's offline text-to-speech that narrates the documentation clips, the voice you hear, with voice models from rhasspy. GPL, and used as a tool rather than linked: MoonTube calls it to render an audio track. mtvoiceover.py
Polar coordinates
๐Ÿงฎ A point as an angle and a radius. CarLights, Pinwheel, PolarNoise, Ring, Rings241, Wheel
Pong
๐ŸŽจ Atari's 1972 arcade game. Pong
Quindor / QuinLED ๐Ÿง‘๐Ÿข The devices much of this runs on.
raster-fonts
๐Ÿงฐ The public bitmap console fonts the text effects draw with. fonts.h
rhasspy ๐Ÿงฐ The piper-voices models Piper speaks with. mtvoiceover.py
Robert Bridson / Curl noise ๐Ÿง‘๐Ÿงฎ Curl noise, SIGGRAPH 2007. Nebula
RobWomp / wompslab
๐Ÿง‘ HUB75 drivers, and Linux on NanoPi and Pi 5. Hub75
Rotation matrix
๐Ÿงฎ A rotation as a matrix product. Rotate
RTP ๐Ÿ“œ The RTP payload format for H.264, RFC 6184: how a frame is cut into packets. Rtsp
RTSP ๐Ÿ“œ The Real Time Streaming Protocol, RFC 2326: a player pulls a live stream. Rtsp
Semi-implicit Euler ๐Ÿงฎ The integration the particle kernel runs on: velocity from the forces, then position from the new velocity. particles.h
Space Invaders ๐ŸŽจ Taito's 1978 arcade game. SpaceInvaders
Stefan Petrick
๐Ÿง‘ The shader vocabulary of the LED world. Its generative fields come from Animartrix, FunkyNoise and ColorTrails. Aurora, PolarNoise, Tunnel and Trails sit in that tradition, written on the published algorithms underneath. Aurora, ColorTrails, Nebula, PolarNoise, Trails, Tunnel
Sutaburosu
๐Ÿง‘ The fixed-point canvas demos. FixedPoint
Sรฉbastien Truchet / Truchet tiles
๐Ÿง‘๐Ÿงฎ The tiling, revived by Cyril Smith in 1987. Truchet
Sรถren / LostHope
๐Ÿง‘ The MoonHub75 board, and the web installer. Hub75
Tasmota
๐Ÿงฐ With MycilaSafeBoot, the safeboot pattern behind MoonBase, our from-scratch minimal take on it. moonbase_main.cpp
toggledbits
๐Ÿง‘ Patrick Rigney: MatrixFireFast, the 2D fire the Fire effect adapts. Fire
Transpose
๐Ÿงฎ Rows becoming columns. Transpose
troyhacks
๐Ÿง‘ Reworked the WLED-MM audio DSP onto Espressif's esp-dsp FFT, the same choice AudioService makes, and WLED-MM's Art-Net, WLED effects, and P4 tuning. Audio, FlyingToasters, GEQ3D, HumanSizedCube, NetworkReceive, NetworkSend, PaintBrush, ParallelLed, RippleXZ, TorontoBarGourds
Waveshare ๐Ÿข The ESP32-S3 RGB Matrix board and its HUB75 pin map. Hub75
wladi / myhome-control ๐Ÿง‘๐Ÿข Designer of the MHC-WLED ESP32-P4 shield, and the source of the pinout details that got its line-in audio working. Audio
WLED
๐Ÿงฐ MoonLight is born out of WLED and takes the usermod idea further, where everything is a module. A MoonLight device also acts as a WLED device and talks to WLED devices. Plasma, RmtLed, Spectrum, WledPacket.h
WLED-MM
๐Ÿงฐ The MoonModules fork of WLED, which MoonLight is born out of with WLED.
WS2812 / WS2811 / SK6812 ๐Ÿ“œ The LED timing specs, from the datasheets. LedDriverConfig.h
Xiaolin Wu
๐Ÿงฎ Anti-aliased lines. draw.h
Yves Bazin / hpwit
๐Ÿง‘ The clockless I2S, RMT and Parlio driver techniques, the virtual driver and its expander board, and the ESPLiveScript engine behind MoonLive. MoonLive, ParallelLed, RmtLed, I80Peripheral.h, MoonI80Peripheral.h, ParallelSlots.h, ParlioPeripheral.h