Disclaimer: This is an independent resource site. Not affiliated with the Voron project or its development team.

KlipperScreen Setup Guide for Voron — Touch Display Installation

Klipper Firmware Display

KlipperScreen is a touchscreen user interface for Klipper-based printers. It runs as a web-based UI rendered on a local display connected to your Raspberry Pi, giving you a full-featured printer control panel without needing a phone, tablet, or laptop. This guide covers display hardware selection, installation via KIAUH or manual methods, configuration for Voron-specific macros, customizing layouts, and troubleshooting common issues. Last updated: May 2025.

What is KlipperScreen?

KlipperScreen is a Python application that runs on the same Raspberry Pi (or SBC) that runs Klipper and Moonraker. Instead of connecting to Mainsail or Fluidd from a browser on another device, KlipperScreen renders a touch-optimized interface directly on a screen physically attached to the printer. It communicates with Klipper through Moonraker's API, meaning it has full access to everything: print status, temperature control, bed mesh visualization, webcam stream, move controls, and custom macros.

Key advantages over a phone/tablet:

Display Hardware

Official Raspberry Pi Touchscreen (7")

Waveshare Displays (3.5" to 7")

DSI vs HDMI vs SPI

InterfaceProsConsBest For
DSI Single ribbon cable, native Pi support, high refresh Limited to official Pi display or compatible DSI panels Pi 7" display on larger Vorons (V2.4, Trident)
HDMI Works with any display, high resolution, fast Needs separate USB for touch, more cables 5-7" displays on V2.4/Trident
SPI Simple wiring, uses Pi GPIO, low power Slower refresh, lower resolution, limited size 3.5" displays on V0.2 or Switchwire

Recommended: 5" HDMI Touchscreen

For most Voron builds, a 5" HDMI capacitive touchscreen (800x480 or 1024x600) is the sweet spot. It's large enough to read comfortably, small enough to mount on the front frame or top panel of any Voron model, and the capacitive touch is much more responsive than resistive alternatives. Popular models from Waveshare or generic HDMI displays work well.

Installation via KIAUH

KIAUH (Klipper Installation And Update Helper) is the easiest method. KIAUH has KlipperScreen as a built-in installation option:

cd ~/kiauh
./kiauh.sh
  1. Select option 4 (Advanced) from the main menu
  2. Select option 5 (KlipperScreen)
  3. Confirm the installation path (default: ~/KlipperScreen)
  4. KIAUH clones the repo, installs dependencies (PyGObject, GTK, etc.), and sets up the systemd service
  5. After installation, enable the service: sudo systemctl enable KlipperScreen
  6. Reboot: sudo reboot

Manual Installation

If you prefer manual control or can't use KIAUH:

cd ~
git clone https://github.com/jordanruthe/KlipperScreen.git
cd ~/KlipperScreen
./scripts/KlipperScreen-install.sh

The installer script handles dependency installation and systemd service setup. After it completes, verify the service status:

sudo systemctl status KlipperScreen

KlipperScreen Configuration

KlipperScreen's main config file is ~/KlipperScreen/screen.conf. Key settings for Voron users:

Screen Dimensions and Rotation

[main]
# Screen dimensions (pixels)
width=800
height=480

# Rotation: 0, 90, 180, 270
rotation=0

# Touch rotation (if different from display)
touch_rotation=0

Adjust width and height to match your display's native resolution. Set rotation if you mount the display in landscape vs portrait orientation.

Printer Name

# Printer name shown on screen
printer_name=Voron V2.4

Menu Layout and Theme

# Menu layout: configurable panels
config_panel_layout=main

# Theme selection (dark mode is default)
theme=z-bolt-dark

Available themes include: z-bolt-dark (default, excellent readability), z-bolt-light, material-dark, material-light, and several community themes. Dark mode is strongly recommended for Voron enclosures — less glare through the acrylic panels.

Customizing KlipperScreen for Voron

Adding Voron-Specific Macro Buttons

KlipperScreen can display custom macro buttons for your Voron's specific needs. Edit ~/KlipperScreen/screen.conf and add menu items:

[menu __main]
menu_items = calibrate, level, macros

[menu __main __calibrate]
name=Calibrate
icon=calibrate
menu_items = z_tilt, qgl, bed_mesh, pid

[menu __main __calibrate __z_tilt]
name=Z Tilt
method=printer.gcode.script
params=Z_TILT_ADJUST

[menu __main __calibrate __qgl]
name=Quad Gantry Level
method=printer.gcode.script
params=QUAD_GANTRY_LEVEL

[menu __main __calibrate __bed_mesh]
name=Bed Mesh
method=printer.gcode.script
params=BED_MESH_CALIBRATE

[menu __main __calibrate __pid]
name=PID Calibrate
method=printer.gcode.script
params=PID_CALIBRATE HEATER=extruder TARGET=250

Hiding Irrelevant Panels

If your Voron doesn't have certain features (e.g., no aux fan, no chamber heater), hide those panels to keep the UI clean:

# Hide panels you don't need
[main]
show_heater_bed=true
show_extruder=true
show_fan=true
show_chamber=false

Custom Background

Replace ~/KlipperScreen/styles/background.jpg with your own image. A dark Voron logo or a photo of your printer makes nice custom backgrounds. The image is 800x480 pixels (or your screen's resolution).

KlipperScreen Features

Print Status

The main screen shows current print state (printing/paused/complete), elapsed time, remaining time, progress bar, layer number, and file name. Swipe left to see the temperature graph.

Bed Mesh Visualization

After running BED_MESH_CALIBRATE, the bed mesh is displayed as a color-coded height map. Green is level, red is high, blue is low. This is invaluable for diagnosing bed leveling issues.

Temperature Graph

Real-time temperature plot for hotend, bed, and any additional temperature sensors (chamber, enclosure). Tap any line to see exact values at that point.

Webcam Stream

If configured in Moonraker, the webcam stream appears on a dedicated panel. Touch the stream to toggle fullscreen. Note: GPU-accelerated decoding on Pi improves stream performance significantly.

Move Controls

Touch X/Y/Z move buttons with selectable step sizes (0.1mm, 1mm, 10mm, 100mm). The extruder section allows jogging filament forward or backward. Hold buttons for continuous movement.

Troubleshooting

IssueSolution
Touch calibration off Run the touch calibration utility if your display supports it: sudo apt install xinput-calibrator followed by calibration. Alternatively, check touch_rotation setting in screen.conf.
Display not detected For HDMI displays: check hdmi_force_hotplug=1 in /boot/config.txt. For DSI: check ribbon cable connection. For SPI: verify dtoverlay line in config.txt. Run tvservice -d edid.dat to debug HDMI detection.
KlipperScreen not starting Check the log: journalctl -u KlipperScreen -n 50. Common causes: missing PyGObject (reinstall via pip install PyGObject), wrong Python version, or GTK dependency issues.
Moonraker connection refused Verify Moonraker is running: sudo systemctl status moonraker. Check socket.0 in moonraker.conf. Ensure KlipperScreen's config points to the correct Moonraker IP/port.
Display stays black / no backlight Check 5V power to the display. Some HDMI displays need external power — a USB port on the Pi may not provide enough current. Test with a powered USB hub or dedicated 5V supply.

Touch Calibration Utility

For displays that need touch calibration, KlipperScreen includes a built-in calibration mode. Hold two fingers on the screen at startup to enter calibration mode, or add to screen.conf:

[touch]
calibration=3782 52 162 3789

Values come from xinput_calibrator output. If your display uses resistive touch (common on cheaper SPI panels), recalibration may be needed over time as the touch layer wears.

Alternative: Mainsail Mobile PWA on Tablet

If you decide not to install KlipperScreen, a popular alternative is using Mainsail's Progressive Web App (PWA) on a tablet or old phone mounted to the printer frame. Key differences:

Many Voron owners use both: KlipperScreen on a small display for everyday operation, and a tablet running Mainsail PWA for advanced features and webcam viewing.

🚨

Voron LDO 商标 · 域名 打包出售

Trademark & domains sold as one package

Voron LDO 商标 (中国区 · China)
voron.cn
voronldo.com
ldovoron.com

有意者请联系 · Contact us:

📧 346290742@qq.com
📞 +86 13522926174