ZENO
Back to toolkit

ZENO Studio

In Development

ZENO Studio is a desktop IDE where you write LED matrix animations in a simple, readable language and compile them into ready-to-flash firmware for any board — no command line required.

GitHub
ZENO Studio is an IDE for LED matrix projects. Write your animation in a small, readable language, and it compiles to ready-to-flash firmware for whatever board you're targeting — no command line required. WHAT IT DOES Instead of hand-writing pin setups and matrix math for every board, describe what you want in plain statements: matrix face(16x16) on start: set all to blue loop: fade all to off over 1s fade all to blue over 1s Type it in the editor, pick a target board from the dropdown, and hit Compile. ZENO Studio checks your program against that board's actual capabilities (pixel limits, sensors it has or doesn't) before generating anything, and shows you the exact source file — and any project files it needs, like a PlatformIO config — right in the output pane. HOW TO USE IT 1. Write your animation in the editor 2. Choose a target board (bundled boards ship with the app; more can be imported) 3. Check compatibility, or just hit Compile 4. Save the generated project to a folder, then build and flash it with your normal toolchain (PlatformIO, Arduino IDE) A built-in IR view shows how the compiler translates your program internally, if you're curious how it works under the hood. UNDER THE HOOD ZENO Studio is a native desktop app (Rust + Tauri) built on the same compiler core as the ZENO command-line tool, so both always produce identical output. Board support isn't hardcoded — each board is a YAML file describing its capabilities and how to generate its code, so new boards are an import, not an update. CURRENT LIMITATIONS - Editor is plain text for now — syntax highlighting and inline error squiggles are next - Timing is blocking — waits and fades pause everything, including sensor checks - One matrix and one touch input per program - No variables, expressions, or counted loops yet — every program is a fixed sequence of statements - Two boards ship out of the box (ESP32 + Arduino Uno); more can be imported as YAML files - No one-click flash yet — compiled output still needs PlatformIO/Arduino IDE to build and upload