Skip to content

A modern, lightweight touchscreen interface for Klipper 3D printers

License

Notifications You must be signed in to change notification settings

prestonbrown/helixscreen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,709 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HelixScreen

HelixScreen

A modern touch interface for Klipper/Moonraker 3D printers

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.


Beta Release — v0.10.0

Core features are complete and stabilizing. We're looking for testers across different printer setups.

Tested on: Voron 2.4 (Raspberry Pi 5), Voron 0.2, Doron Velta, RatRig V-Core, FlashForge Adventurer 5M Pro (Forge-X firmware)

Raspberry Pi: Both 64-bit and 32-bit Raspberry Pi OS are supported.

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

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

Creality K1: Binaries are included in the release but have not been tested on hardware. If you have a K1, we'd love your help verifying it works!

Creality K2: Build target exists (ARM, static musl) but is completely untested. Stock Moonraker on port 4408 makes this a promising target. If you have a K2/K2 Plus with SSH access, we'd love your help!

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: Features · Screenshots · Installation · User Guide · FAQ · Contributing · Roadmap · Discord


Why HelixScreen?

  • Every feature at your fingertips — 31 panels, 17 overlays, and growing fast
  • Runs on anything — ~10MB RAM, from a Creality K1 to a Raspberry Pi 5
  • Setup wizard — Auto-discovers your printer's hardware and configures itself
  • Multi-material ready — AFC, Happy Hare, tool changers, ValgACE, Spoolman
  • Looks great — Light/dark themes, responsive layouts, smooth animations
Technical comparison
Feature HelixScreen GuppyScreen KlipperScreen
UI Framework LVGL 9 XML LVGL 8 C GTK 3 (Python)
Declarative UI Full XML C only Python only
Disk Size ~70-80MB ~60-80MB ~50MB
RAM Usage ~10MB ~15-20MB ~50MB
Reactive Binding Built-in Manual Manual
Status Beta Inactive Mature (maintenance)
Language C++17 C Python 3

Screenshots

Home Panel

Home Panel

Print File Browser

Print Select

Bed Mesh Visualization

Bed Mesh

See docs/GALLERY.md for all screenshots.

Features

Printer Control — Print management, motion controls, temperature presets, fan control, Z-offset, live filament consumption tracking

Multi-Material — AFC, Happy Hare, tool changers, ValgACE, Spoolman integration

Visualization — G-code layer preview, 3D bed mesh, print thumbnails, frequency response charts

Calibration — Input shaper with frequency response charts, PID tuning with live temp graph, bed mesh, screws tilt, Z-offset, firmware retraction

Integrations — HelixPrint plugin, power devices, print history, timelapse, exclude objects, sound alerts

Display — Auto-detecting layout system (800×480, 1024×600, 1920×480 ultrawide), display rotation (0/90/180/270), light/dark themes

System — First-run wizard with telemetry opt-in, KIAUH installer, bundled uninstaller, versioned config migration, 60 printer models with auto-detection

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 as root. For all-in-one printers (Creality K1, K2 series, Adventurer 5M/Pro), SSH directly into the printer itself.

Raspberry Pi / Creality K1:

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

Adventurer 5M/Pro: We provide a ready-made firmware image (Forge-X 1.4.0 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

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

Controls: Click navigation icons, press 'S' for screenshot, use -v or -vv for logging.

See docs/DEVELOPMENT.md for detailed setup, cross-compilation, and test modes.

FAQ

Is HelixScreen production-ready? Beta status. Core features are stable and improving with each release. Suitable for enthusiasts willing to provide feedback.

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. Tested on Voron 2.4, Voron 0.2, Doron Velta, RatRig V-Core, FlashForge Adventurer 5M Pro, and QIDI printers. Snapmaker U1 support included. Both 64-bit and 32-bit Raspberry Pi OS are supported. Creality K1 and K2 series binaries are available but untested. The wizard auto-discovers your printer's capabilities.

What screen sizes are supported? 800×480, 1024×600, and 1920×480 (ultrawide) are fully supported with auto-detecting layout system. Display rotation (0/90/180/270) is supported. Smaller displays like 480×320 (Snapmaker U1) are a work-in-progress.

What multi-material systems work? AFC (Box Turtle), Happy Hare (ERCF, 3MS, Tradrack), tool changers, and ValgACE.

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 helixconfig.json
Wizard not showing Delete helixconfig.json to trigger it

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

Documentation

User Guides

Guide Description
Installation Setup for Pi, K1, K2, AD5M, QIDI, Snapmaker U1
User Guide Using HelixScreen
FAQ Common questions
Troubleshooting Problem solutions

Developer Guides

Guide Description
Development Build system, workflow, contributing
Architecture System design, patterns
LVGL9 XML Guide XML syntax reference
Gallery All screenshots
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.4, 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

No packages published

Contributors 5