Klipper Setup
Mar 18, 2022
4 minute read

Game Plan #

  1. Note the original Firmware - initial ender3 v2 upgrades
  2. Compile klipper and install on to controller board
  3. Plug in USB, with RPi and set up printer.cfg
  4. Slice using PrusaSlicer
  5. Push the speed

Setting Up Klipper #

Installing Klipper on Rpi #

Printer setup #

Setting up Klipper #

For K8200

Ender 3 Pro

  • configuration for Creality Ender 4.2.2 board
  • use STEPPER_BUZZ STEPPER=stepper_x to make sure the steppers are moving the the correct directions This command will move it in the positive, then negative direction

Tune your PID #

For heater bed and extruder. make sure to run SAVE_CONFIG after


calibration of steppers #

  • no load, cut filament and measure zero from ref point
  • do a 20mm retract
  • measure.. take current rotation_distance X (measured/expected) = new value

PID Heated Bed Tuning #


Flow Calibration #

  • print hollow cube with one wall
    • wall thickness of nozzle size
  • measure wall thickness after cube is cooled
    • compensate by adjust flow percentage

Input Shaper Tuning #

with Accelerometer #

This should be done BEFORE pressure advanced Tunning. Because outcome of this will affect pressure advanced tuning. Tuning the printer to take out resonance at high speed, so we’ll know the acceleration limit of our machine. Could be done without Accelerometer.. but its more accurate with accel.

  • hook up an accelerometer for crazy fast printing
  • compile to rpi to take the accelerometer - here
    • run ACCELEROMETER_QUERY to check, if things are correctly hooked up
  • run the resonance tests, for x and y axis.
      • when doing this, make sure the accelerometer is rigidly mounted
      • used nut to tied it to the bltouch on hotend for X
      • used kapton tape and a clip to hold it down to bed for Y axis
    • run the script to generate the png files
      • ~/klipper/scripts/calibrate_shaper.py /tmp/resonances_x_*.csv -o /tmp/shaper_calibrate_x.png
      • ~/klipper/scripts/calibrate_shaper.py /tmp/resonances_y_*.csv -o /tmp/shaper_calibrate_y.png
      • when executing these scripts suggested values are given

Result for X
Result for Y

shaper_freq_x: 97
shaper_type_x: mzv
shaper_freq_y: 38
shaper_type_y: mzv

Pressure Advanced Tune #

adjusting flow around the corner

  • Pressure advance - Klipper documentation

  • do one print.. then follow video?

  • 0.643 = 0+32.15mm*0.020(bowden)

  • NOTE check speed settings on your slicer. make sure it is fast at 100m/s. If this is not the case, check out the “time to cool” settings in the filament section. this could override the speed and slow down the print.

Layer Time Goal

Bed Leveling #

Bed mesh with BL touch #

  • bl touch offset is calculated by
# ================================================================================
# BLTouch Definition
# ================================================================================
sensor_pin: ^PB1
control_pin: PB0
x_offset: -47
y_offset: -7
# ender3 v2
# z_offset: 1.32
# ender 3 pro
z_offset: 0.14
speed: 20
samples: 2
sample_retract_dist: 8.0

home_xy_position: 164, 124
speed: 100
z_hop: 10
z_hop_speed: 100

# ================================================================================
# Look at https://github.com/Klipper3d/klipper/blob/master/docs/Bed_Mesh.md
speed: 150
horizontal_move_z: 5
mesh_min: 10, 10
# mesh_max: 205, 205
# mesh_max: 245, 220
# using x_position_max-y_offset(bltouch) - 10(padding) = mesh_max for X
mesh_max: 193, 202
probe_count: 5,5
algorithm: bicubic
fade_start: 1
fade_end: 10
fade_target: 0

Screw Tilt Adjust #

use BL touch to determine how to bring bed back to level use G1 X<VAL> Y<VAL> to get the BL touch to line up with the screws then run SCREWS_TILT_ADJUST

Setting up the USB cam #

Final Configuration #

  • Note that the file printer.cfg gets edited

Macros #

ender2 macros

Test Prints #

comments powered by Disqus