Ledder LED Matrix Framework
Create animated pixel art and stream it to LED displays
Live Demo
Watch Ledder in action! The iframe below shows the live demo streaming real-time animations:
Interact with the demo above to switch between different animations and adjust parameters in real-time!
What is Ledder?
Ledder is a Node.js/TypeScript framework for creating real-time animated pixel art and streaming it to LED matrix displays. Developed by psy0rz, Ledder provides a web-based interface to control and adjust animations in real-time.
The framework supports multiple output methods:
- Web Browser – Preview animations directly in your browser
- Physical LED Panels – WS2812B strips, HUB75 panels, ESP32 devices
- Video Streaming – Chromecast, video output
- Network Protocols – WLED, Ledstream, Pixelflut
- Bluetooth Displays – IDM64x64 and other Bluetooth LED matrices
Installation
Requirements
- Node.js (latest LTS version recommended)
- npm or Docker
- Optional: FFmpeg (for video animations)
Option 1: Running with Node.js
Clone the repository and install dependencies:
git clone https://github.com/psy0rz/ledder.git
cd ledder
npm install
npm run build
Start the server:
npm start
It will automatically create a displayconf.js configuration file. Open your browser and navigate to http://localhost:3000
Option 2: Running with Docker
From a cloned repository:
Create a displayconf.js file, then run:
docker-compose up --build
Using the official Docker image:
docker run --name ledder -p 3000:3000 -v ./displayconf.js:/app/displayconf.js psy0rz/ledder
Key Features
- Real-time Control – Adjust animations and parameters via web interface
- 60+ Built-in Animations – From simple patterns to complex 3D graphics
- TypeScript/JavaScript Development – Easy to create custom animations
- Multiple Display Support – Control multiple LED displays simultaneously
- MQTT Integration – Control via MQTT, create multiplayer games
- Preset System – Save and load animation configurations
- Flexible Layout System – Support for complex LED arrangements
Display Hardware Options
Ledder supports a wide range of LED display hardware:
Easy Setup
- WLED via DRGB mode – Up to 400 LEDs, simple network streaming
- Web Browser Display – Perfect for testing and development
Advanced Options
- Ledstream via ESP32 – Up to 8 channels × 256 LEDs = 2048 total
- Raspberry Pi with WS2812 – Standalone operation, up to 16 channels × 256 LEDs = 4096 total
- HUB75 Panels via Colorlight 5A-75B – FPGA-based controller for large displays
- Google Chromecast – Stream animations to your TV
- Pixelflut – Network protocol popular at hacker events and LAN parties
- IDM64x64 Bluetooth Display – Available on AliExpress
Animation Collections
Ledder comes with several animation collections:
Core Animations (by psy0rz)
- Classic effects: Fire, Plasma, Matrix rain, Rainbow patterns
- Games: Snake, Tetris, Pong
- Utilities: Clock displays, Weather info, Text scrollers
- Visualizers: Audio spectrum, VU meters
Rein's Collection (40+ animations)
- 3D Graphics: Rotating cubes, DNA helixes, perspective racing effects
- Retro Games: VIC-20 Digger, ASCII jet fighters, 80s demo scene tributes
- Fractals: Mandelbrot/Julia sets with animated zoom
- Simulations: Game of Life, weather/cloud layers, snowfall with wind
- MQTT Games: Multiplayer Pong and Tank Wars
- Sensor Displays: MQTT climate data visualization with temperature/humidity
Creating Your Own Animations
Ledder makes it easy to create custom animations using TypeScript or JavaScript. Check the Development documentation to get started.
Basic animation structure:
class MyAnimation extends LedderAnimation {
render(display, time) {
// Your drawing code here
}
}
Documentation & Resources
Credits & License
Ledder is developed by psy0rz (DatuX) and released under the GPL-3.0 license.
Contributors include: psy0rz (DatuX), Rein Velt, Rob (Monstertov), and wallieonline.
If you find Ledder useful, consider sponsoring the project or supporting via Ko-fi or PayPal.
◀ Back to Site Map