Mainsail

A responsive web interface for managing and controlling 3D printers running the Klipper firmware.

Mainsail screenshot 1

Mainsail is an open-source web application that provides a user interface for managing and controlling 3D printers running the Klipper firmware. It functions as a front-end server application that allows users to interact with their hardware through a web browser on desktops, tablets, or mobile devices. The software focuses on making Klipper more accessible by providing a consistent design for printer monitoring and configuration.

Users typically deploy the application on the same machine that runs the printer firmware, such as a Raspberry Pi, though it also supports a remote mode for off-site management. It provides a centralized hub for handling the daily operations of 3D printing, from initial machine calibration to the final completion of a print job. By utilizing a responsive design, the interface adapts to different screen sizes to ensure that printer status and controls remain visible regardless of the device used.

Key features

  • File manager for uploading, renaming, and deleting G-Code and config files
  • In-browser file editor with syntax highlighting for configuration changes
  • Support for multiple 3D printers within a single interface for printer farms
  • 3D bed mesh visualization and G-Code rendering for print progress
  • Job queue for managing multiple print tasks directly from a slicer
  • Multi-webcam support for viewing prints from different angles
  • Integration with moonraker-timelapse for automatic recording
  • Power control for relays, TP-Link, and Tasmota devices
  • Customizable dashboard with theming and custom CSS support

Mainsail is built using the Vue.js framework and the Vuetify Material Design component library. It relies on Moonraker to act as the API between the web interface and the Klipper firmware, as the interface cannot communicate with the firmware directly. The application is designed for 3D printing enthusiasts and manufacturers who require a visual way to monitor print history, track machine statistics, and manage macros at a granular level. It also includes localization support for 12 different languages to accommodate a global user base.

This software serves as a specialized control panel for Klipper-based 3D printing setups.

Last Modified
Software TypeWeb App / Server
Platform
Last Activity15 days ago
Repository Age6 years
LicenseGPL-3.0
Open Source Alternative to
Open Source Software.io

Join our newsletter to get shiny new open source software delivered to your inbox. Unsubscribe anytime.