Klipper and Orca Slicer – the basics

3 November 2026 · 2 min read

Klipper and Orca Slicer – the basics

All the printers we build run Klipper, and you prepare files for them in [r]evo Slicer – our slicer based on Orca Slicer. Everything we write here about Orca Slicer works the same way in [r]evo Slicer. This article explains how the two work together and what is worth knowing before you start changing settings.

How Klipper works

Klipper is firmware in which motion is calculated by a computer (usually a Raspberry Pi or similar), while the printer board only executes commands. This lets the printer print faster and more precisely, and you change the configuration in a text file instead of compiling firmware.

  • printer.cfg – the main configuration file: pins, motors, heaters, sensors, limits,
  • Moonraker – the service that connects Klipper to the web interface and updates,
  • Mainsail or Fluidd – the browser interface: preview, console, file editing, macros.

Basic calibrations in Klipper

  1. Heater PID – PID_CALIBRATE HEATER=extruder TARGET=250 and likewise for the bed (HEATER=heater_bed), then SAVE_CONFIG. Stable temperature means no bands on the walls. On Revon printers we use MPC instead of PID.
  2. Z offset – with a probe PROBE_CALIBRATE, and small corrections while printing (baby-stepping) with the value saved.
  3. Bed mesh – BED_MESH_CALIBRATE measures the bed’s unevenness and Klipper compensates for it while printing. On large beds it is essential.
  4. Input shaper – with an accelerometer (e.g. ADXL345) SHAPER_CALIBRATE measures frame resonances and selects a filter. It removes ringing and allows higher accelerations.

After every mechanical change (new toolhead, different bed, frame rebuild) repeat these calibrations.

Start macros

The PRINT_START macro (or a similar name) prepares the printer: homing, heating the bed and chamber, bed mesh, heating the nozzle and a purge line. In the slicer’s printer start code you call it with temperatures, e.g. PRINT_START BED=[bed_temperature_initial_layer_single] EXTRUDER=[nozzle_temperature_initial_layer]. That way all the start logic lives in one place – in the printer.

Three levels of profiles

  • Printer – bed size, start and end code, machine limits. You set it once.
  • Filament – temperatures, flow, pressure advance, cooling, max volumetric speed. A separate profile for each filament.
  • Process – layer height, walls, infill, speeds, supports. You change it for a specific part.

The most common mistake: fixing filament problems in the process or printer profile. A problem with a new material is solved in the filament profile – see filament calibration step by step.

Updates

You update Klipper, Moonraker and the interface from Mainsail/Fluidd (update manager). Before updating, back up printer.cfg and update when you have no urgent prints – sometimes changes in Klipper require configuration fixes.

Want someone to configure it for you? Write to us – we also configure Klipper and profiles on machines from other manufacturers.

See also: input shaper · pressure advance · MPC instead of PID · Klipper vs Marlin · connecting the slicer to the printer

Read next