Configuration Files - Phil1988/FreeDi GitHub Wiki

Configuration Files

FreeDi uses multiple configuration files to control your printer. This guide shows you what each file does and how to apply changes.

⚠️ Quick Context: Configuration files are read at service startup. After editing, restart the appropriate service for changes to take effect.

📖 New to Klipper? Read Configuration Basics for Beginners first.


Quick Reference: Which Restart?

File Changed What It Controls Restart Method
freedi.cfg Display behavior & presets Power → Restart FreeDi
printer.cfg Hardware settings Save & Restart (Klipper)
macros.cfg Automation sequences Save & Restart (Klipper)
moonraker.conf Web interface backend Power → Restart Moonraker
crowsnest.conf Camera settings Power → Restart Crowsnest

FreeDi-Specific: freedi.cfg

Location: /home/mks/printer_data/config/freedi.cfg

What it controls:

  • Basic setup parameters for display functionality
  • Display settings / preferences like:
    • Case light settings and behaviour
    • Quick-toggle temperature defaults
    • Movement and extrusion step presets
    • Home screen preset button names and macros

Key difference: Requires FreeDi service restart, NOT Klipper restart.

How to Apply freedi.cfg Changes

Via Mainsail:

  1. Edit and save freedi.cfg
  2. Click Power button (top-right)
  3. Find FreeDi under Service Control
  4. Click restart icon

Service Control Screenshot

Via SSH:

sudo systemctl restart FreeDi.service

💡 Note: Restarting FreeDi doesn't interrupt running prints – it only reloads the display.

When to edit: Setting up display, adjusting temperature presets, personalizing workflow shortcuts.


Standard Klipper Files

printer.cfg – Hardware Configuration

What it controls: Stepper motors, sensors (endstops, thermistors, probes), heating elements, bed size, speed/acceleration limits, pin assignments.

When to edit: Adding hardware, adjusting motion settings, fine-tuning your setup.

Restart: Save & Restart (Klipper)


macros.cfg – Automation Sequences

What it controls: Print start/end sequences, filament changes, calibration routines, custom commands.

When to edit: Customizing print routines, adding automation.

Restart: Save & Restart (Klipper)

Why separate? FreeDi splits hardware (printer.cfg) from automation (macros.cfg) for easier updates. Klipper reads both as one file.


moonraker.conf – Web Interface Backend

What it controls: Mainsail/Fluidd backend, update manager, API access, power controls.

When to edit: Rarely needed – pre-configured. Edit when adding power devices or remote access.

Restart: Power → Restart Moonraker

Reference: moonraker.conf on GitHub


crowsnest.conf – Camera Settings

What it controls: Camera configuration for print monitoring.

When to edit: Installing or adjusting a camera.

Restart: Power → Restart Crowsnest

References:


Model-Specific Configurations

FreeDi maintains optimized configurations in config_section/:

Model folders (printer.cfg + macros.cfg):

Shared configs:

  • generic – freedi.cfg, moonraker.conf, crowsnest.conf
  • template – Reference for custom configs

File Locations & Access

Location: /home/mks/printer_data/config/

Access via:

  • Mainsail/Fluidd: Machine tab → Config files
  • SSH: cd ~/printer_data/config

Quick backup:

  1. Machine tab → Find file
  2. Three-dot menu → Download
  3. Save with date (e.g., printer.cfg.2026-01-08)

See Also: