Voron Moonraker Plugins Guide — Best Plugins for Your Voron
Klipper Software Guide
Moonraker, the API server that powers Klipper web interfaces, supports a plugin system that extends its functionality far beyond basic printer control. Plugins add features like remote monitoring with Obico, filament inventory management with Spoolman, custom shell command execution, print history tracking, timelapse generation, and more. This guide covers the best Moonraker plugins for Voron printers, with installation steps, configuration tips, and real-world usage advice. Last updated: May 2025.
Whether you run Fluidd or Mainsail as your web frontend, these plugins integrate seamlessly and will significantly enhance your Voron printing experience.
Prerequisites — Moonraker Setup
Before installing plugins, ensure Moonraker is properly configured. Most Voron builds use KIAUH for initial setup. Verify your moonraker.conf includes the basic configuration and is accessible at port 7125 on your control board's IP address.
Plugins are managed through Moonraker's update manager or installed as standalone Python packages. The recommended approach is using the Moonraker component system, where you add a [plugin_name] section to moonraker.conf and optionally install Python dependencies.
1. Obico — AI-Powered Failure Detection
Obico (formerly The Spaghetti Detective) is an AI monitoring plugin that detects print failures in real time using your webcam feed. It sends push notifications when it detects a failure and can automatically pause the print. For Voron users with enclosed printers, this is invaluable for catching failed prints before they waste hours of ABS.
Installation
Obico is installed via KIAUH or directly through Moonraker's update manager. The plugin requires a free or paid Obico account, a compatible webcam, and Python dependencies installed on your control board.
After installation, add the following to moonraker.conf:
[obico] server_url: https://app.obico.io auth_token: your_auth_token_here upload_frequency: 15 ai_warning_threshold: 0.85 ai_failure_threshold: 0.95 pause_on_failure: True
Configuration Tips for Voron
For Voron enclosures, ensure sufficient lighting in the chamber for the AI to detect print issues accurately. LED strip lighting inside the enclosure improves detection reliability. The AI model is trained on common failure modes like spaghetti, layer shifts, and clogged nozzles.
2. Spoolman — Filament Inventory Management
Spoolman is a lightweight filament inventory database that integrates with Moonraker. It tracks filament usage, records which spools are loaded, and auto-updates remaining filament weight after each print. This is especially useful for Voron users printing with multiple materials and colors.
Installation
Spoolman runs as a separate Docker container or Python service. Install via KIAUH or manually:
# Via KIAUH # Select "Spoolman" from the plugin installer # Manual Docker installation docker run -d --name spoolman -p 7912:7912 -v spoolman_data:/home/app/data ghcr.io/donkie/spoolman:latest
Add to moonraker.conf:
[spoolman] server: http://127.0.0.1:7912
Integration with Klipper Macros
Spoolman can be integrated with Klipper macros to auto-track filament changes. Add a spool ID parameter to your M600 filament change macro to log usage automatically. The Mainsail and Fluidd interfaces show remaining filament weight directly on the dashboard.
3. G-Code Shell Command
This plugin allows Klipper macros to execute arbitrary shell commands on the Raspberry Pi. It's extremely powerful for advanced automation, allowing you to trigger scripts for filament drying, chamber temperature logging, network operations, or custom hardware control.
Installation & Safety
The shell command plugin is a built-in Moonraker component. No separate installation is needed beyond enabling it in moonraker.conf:
[gcode_shell_command] enable: True [gcode_shell_command filament_dry] command: /home/pi/scripts/dry_filament.sh timeout: 3600.0 verbose: True [gcode_shell_command chamber_log] command: /home/pi/scripts/log_chamber_temp.py timeout: 10.0 verbose: False
Security note: The shell command plugin runs commands as the moonraker user with full system access. Only install trusted scripts and validate inputs if accepting parameters from G-Code. Never expose printer shell access to untrusted networks.
Voron Use Cases
Popular Voron shell command applications include: automatic chamber fan control based on temperature sensor readings, logging chamber temps to a CSV for ABS printing analysis, triggering the Nevermore carbon filter at specific intervals, and sending custom MQTT messages for home automation integration.
4. History Plugin — Print Tracking and Analytics
Moonraker's history plugin tracks all print jobs with detailed statistics including duration, filament used, total cost, and status. It integrates with the web interface to show completed, cancelled, and failed prints in a searchable database.
Configuration
[history] enable: True
Optional settings control retention:
[history] enable: True retention: 90
Set retention to the number of days to keep history records. The default is unlimited storage. For Vorons running 24/7 production printing, setting a 30-90 day retention prevents the database from growing too large on the Pi's SD card.
5. Timelapse Plugin
The timelapse plugin captures frames from your webcam during printing and compiles them into a timelapse video. It supports both park-and-capture (moving the toolhead to a specific position for each frame) and hyperlapse modes.
Configuration
[timelapse] enable: True mode: parkhead parkhead_retract: 50 parkhead_pos_x: 250 parkhead_pos_y: 250 parkhead_speed: 100 time_between_captures: 10 fps: 30 targetlength: 30 gcode_verbose: False [timelapse] enable: True mode: hyperlapse interval: 5 fps: 30 targetlength: 30
For Voron V2.4 and Trident, the park position should be at the back-right corner where the camera has a clear view. For V0 printers, a smaller park position keeps the toolhead within the frame area.
6. Additional Useful Plugins
Moonraker MQTT Plugin
Integrates with home automation systems. Send printer status updates, temperature alarms, and print completion notifications via MQTT. Useful for Home Assistant or Node-RED integration.
Moonraker Telegram Bot
Receive print status updates and send commands via Telegram messenger. Get notified when a print finishes or fails, and send commands like pause/cancel from your phone.
Moonraker Octoprint Compatibility
Provides an OctoPrint-compatible API layer so plugins designed for OctoPrint can work with Moonraker. Useful if migrating from OctoPrint and relying on specific plugins that don't have native Moonraker versions yet.
Managing Plugins
Moonraker plugins are managed through the update manager in Mainsail or Fluidd. The System tab shows all installed plugins and their update status. Plugins installed via KIAUH can be updated through the web interface.
To remove a plugin, delete its configuration section from moonraker.conf and remove the corresponding Python files from the moonraker plugins directory. Restart Moonraker service after making changes:
sudo systemctl restart moonraker
Troubleshooting Plugin Issues
Common issues and solutions:
- Plugin not loading: Check moonraker.log for Python import errors. Ensure all dependencies are installed via pip.
- Permission errors: The moonraker user may not have access to certain files or directories. Check file ownership and permissions.
- Port conflicts: Some plugins use additional ports. Ensure they don't conflict with other services on your control board.
- Performance impact: Plugins that access the webcam or perform heavy computation can slow down your Pi. Consider upgrading to a Pi 4 or Pi 5 for multiple plugins.