Skip to content

prestonbrown/helixscreen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5,780 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HelixScreen

HelixScreen

A modern touch interface for Klipper/Moonraker 3D printers

helixscreen.org

Build Code Quality License: GPL v3 LVGL Platform Version Discord

Your printer can do way more than your current touchscreen lets you. Bed mesh visualization, input shaper graphs, multi-material management, print history — it's all trapped in a browser tab. HelixScreen puts it at your fingertips.

Fast, beautiful, and built for every Klipper printer — from a Creality K1 to a tricked-out Voron or RatRig.


Release Candidate — v0.99

On the doorstep of 1.0 (targeting early April 2026). Multi-page home screen, exclude object map, temperature graph, Creality K2/CFS support, tool changer widgets, and preheat macros — plus dozens of crash fixes.

Tested on: Voron 2.4 (Raspberry Pi 5), Voron 0.2, Doron Velta, RatRig V-Core, Flashforge AD5M Pro (Forge-X firmware), QIDI Q1 Pro, Sovol SV06, Sovol SV08, Creality K1C, Creality K2 Max

Raspberry Pi: Both 64-bit and 32-bit Raspberry Pi OS are supported (Pi 4, Pi 5, CM4, Zero 2 W).

QIDI: Supported with auto-detection heuristics and print start profile.

Flashforge: AD5M/Pro (Forge-X firmware), AD5X (ZMOD firmware).

Creality: Sonic Pad, K1/K1C/K1 Max, and K2 Max binaries are included. CFS (Creality Filament System) support is in progress.

Snapmaker U1: Cross-compile target with 480x320 display support.

Ready to help? See Installation. Found a bug? Open an issue. Have an idea? Request a feature. Want to chat? Join our Discord.


Quick Links: Website · Features · Screenshots · Installation · User Guide · FAQ · Contributing · Changelog · Discord


Why HelixScreen?

  • Customizable dashboard — Multi-page grid with drag-to-reposition, edge resize, and 25+ widgets including temperature graphs, fan arcs, and power toggles
  • Every feature at your fingertips — 30+ panels, 18 overlays, 13 modals, 250+ XML layouts
  • Runs on anything — ~10MB RAM, from a Creality K1 to a Raspberry Pi 5
  • 68 printers in the database — Auto-detects your hardware and configures itself
  • Multi-material ready — AFC, Happy Hare, ValgACE, ViViD, CFS, tool changers, Spoolman
  • Exclude objects — Tap-to-exclude overhead map view with object outlines during prints
  • Looks great — Light/dark themes with 14 presets, responsive layouts, GPU-accelerated blur
  • First-run wizard — 13-step guided setup discovers your printer's capabilities
Technical comparison
Feature HelixScreen GuppyScreen KlipperScreen
UI Framework LVGL 9 XML LVGL 8 C GTK 3 (Python)
Declarative UI Full XML with reactive bindings C only Python only
RAM Usage ~10MB ~15-20MB ~50MB
Disk Size ~70-80MB ~60-80MB ~50MB
Multi-Material 6 backends Limited Basic
Printer Database 68 models Manual config
Display Layouts Auto-detecting (tiny to ultrawide) Fixed Configurable
Status Release Candidate (active) Inactive Mature (maintenance)
Language C++17 C Python 3

Screenshots

Home Panel

Home Panel

Print File Browser

Print Select

Bed Mesh Visualization

Bed Mesh

More screenshots

Controls Panel

Controls Panel

Motion Controls

Motion Controls

AMS / Filament Management

AMS Panel

Input Shaper Results

Input Shaper Results

PID Tuning

PID Tuning

Settings

Settings

First-Run Wizard

Setup Wizard

See docs/devel/GALLERY.md for the full gallery.

Features

Dashboard — Customizable grid layout with drag-to-reposition, edge resize, widget catalog, per-breakpoint persistence. Includes clock, job queue, shutdown/reboot, temperature, fan, network, power, and more.

Printer Control — Print management with G-code preview, motion controls, temperature presets with per-material overrides, multi-fan control, Z-offset, speed/flow tuning, live filament consumption tracking, power device management

Multi-Material — 6 filament system backends: AFC (Box Turtle), Happy Hare (ERCF, 3MS, Tradrack), ValgACE, ViViD, Creality CFS, and tool changers. Multi-unit and multi-backend support. Full Spoolman integration with spool creation wizard.

Visualization — 3D G-code layer preview with memory-aware geometry budgets, 3D bed mesh with async rendering, print thumbnails, frequency response charts, unified temperature graph

Calibration — Input shaper with frequency response charts, PID tuning with live graph, MPC calibration (Kalico), bed mesh, screws tilt adjust, Z-offset, firmware retraction, probe management

Integrations — HelixPrint plugin, power devices with quick-toggle, print history with dashboard, timelapse (Moonraker plugin), exclude objects with per-object thumbnails, LED control (5 backends), sound alerts (SDL/PWM/M300)

Display — Auto-detecting layout system (480x320, 800x480, 1024x600, 1920x480 ultrawide), display rotation (0/90/180/270) with auto-detection, light/dark themes with 14 presets and live theme editor, GPU-accelerated backdrop blur, screensavers

System — 13-step first-run wizard, 68 printer models with auto-detection, opt-in crash reporting with debug bundles, KIAUH installer, versioned config migration, i18n translation system

Supported Platforms

Platform Architecture Status
Raspberry Pi 4/5 (64-bit) aarch64 Tested
Raspberry Pi (32-bit) armhf Tested
BTT Pad / CB1 / Manta aarch64 Supported
Flashforge AD5M/Pro armv7-a Tested
Flashforge AD5X MIPS32 Supported
QIDI (Q1 Pro, Plus 4, etc.) aarch64 Supported
Creality Sonic Pad armhf Tested
Creality K1/K1C/K1 Max MIPS32 Tested
Creality K2 Max/Plus ARM (musl) Tested
Sovol SV06/SV08 Pi build Active testing
Elegoo Centauri Carbon Dedicated build Active testing
Snapmaker U1 armv7-a Cross-compile target
macOS x86_64/ARM64 Development
Linux x86_64 Development / CI

Installation

Run these commands on your printer's host computer, not your local machine.

SSH into your Raspberry Pi, BTT CB1/Manta, or similar host. For all-in-one printers (Creality K1, K2 series, Flashforge AD5M/Pro), SSH directly into the printer itself.

One-line install (Raspberry Pi, Creality, QIDI, Sovol, and more):

curl -sSL https://raw.githubusercontent.com/prestonbrown/helixscreen/main/scripts/install.sh | sh

The installer auto-detects your platform, downloads the correct binary, sets up the service, and launches the first-run wizard. Updates are just --update:

curl -sSL https://raw.githubusercontent.com/prestonbrown/helixscreen/main/scripts/install.sh | sh -s -- --update

Flashforge AD5M/Pro: We provide a ready-made firmware image (Forge-X fork with HelixScreen pre-configured) — just flash from a USB drive. Or install manually on an existing Forge-X/Klipper Mod setup.

See Installation Guide for detailed instructions, display configuration, and troubleshooting.

Development

# Check/install dependencies
make check-deps && make install-deps

# Build
make -j

# Run with mock printer (no hardware needed)
./build/bin/helix-screen --test -vv

# Run with real printer
./build/bin/helix-screen

# XML hot reload (edit XML, switch panels to see changes live)
HELIX_HOT_RELOAD=1 ./build/bin/helix-screen --test -vv

# Run tests
make test-run

Controls: Click navigation icons, press 'S' for screenshot, use -v (INFO), -vv (DEBUG), or -vvv (TRACE) for logging.

Test suite: 317 test files with comprehensive coverage of printer state, UI components, XML parsing, and more.

See docs/devel/DEVELOPMENT.md for detailed setup, cross-compilation, and contributing guidelines.

FAQ

Is HelixScreen production-ready? Release candidate status, approaching 1.0. Core features are stable with 317 test files and opt-in crash reporting. Suitable for daily use on any Klipper printer.

How is this different from GuppyScreen/KlipperScreen? More features, way less resource usage (~10MB RAM vs ~50MB for KlipperScreen), and actively developed. See the comparison table.

Which printers are supported? Any Klipper + Moonraker printer. 68 models in the auto-detection database spanning Voron, Creality, QIDI, Anycubic, Flashforge, Sovol, RatRig, FLSUN, Elegoo, Prusa, and more. The wizard auto-discovers your printer's capabilities even if it's not in the database.

What screen sizes are supported? 800x480, 1024x600, and 1920x480 (ultrawide) are fully supported with auto-detecting layouts. Display rotation (0/90/180/270) is supported with auto-detection. Smaller displays like 480x320 (Snapmaker U1) are a work-in-progress.

What multi-material systems work? AFC (Box Turtle), Happy Hare (ERCF, 3MS, Tradrack, Night Owl), ValgACE, ViViD, Creality CFS, and tool changers (viesturz/klipper-toolchanger). Full Spoolman integration for spool management.

See docs/user/FAQ.md for the full FAQ.

Troubleshooting

Issue Solution
SDL2 or build tools missing make install-deps
Submodule empty git submodule update --init --recursive
Can't connect to Moonraker Check IP/port in settings.json
Wizard not showing Delete settings.json to trigger it
Display upside down Set rotation in settings or check panel_orientation in /proc/cmdline

See docs/user/TROUBLESHOOTING.md for more solutions, or open a GitHub issue.

Documentation

User Guides

Guide Description
Installation Setup for Pi, Sonic Pad, K1, K2, AD5M, AD5X, QIDI, Snapmaker U1
User Guide Using HelixScreen — panels, overlays, settings
Configuration All settings with examples
Upgrading Version upgrade instructions
FAQ Common questions
Troubleshooting Problem solutions
Telemetry & Privacy What data is collected (opt-in)

Developer Guides

Guide Description
Development Build system, workflow, contributing
Architecture System design, patterns
LVGL9 XML Guide XML syntax reference
UI Contributor Guide Breakpoints, tokens, colors, widgets
Changelog Release history
Roadmap Feature timeline

Community

Join the HelixScreen Discord — Get help, share your setup, request features, and follow development.

Also discussed in:

Bug Reports & Feature Requests: GitHub Issues — please include your printer model and logs (helix-screen -vv) when reporting bugs.

License

GPL v3 — See individual source files for copyright headers.

Acknowledgments

Inspired by: GuppyScreen (general architecture, LVGL-based approach), KlipperScreen (feature inspiration)

Stack: LVGL 9.5, Klipper, Moonraker, libhv, spdlog, SDL2

AI-Assisted Development: HelixScreen was developed with the assistance of Claude Code and Anthropic's Claude AI models

About

A modern, lightweight touchscreen interface for Klipper 3D printers

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors