
목차
1. 프린터 설정 파일(printer.cfg) 이란?
이전 글에서는 고장난 3D 프린터의 제어보드를 교체하고 Klipper 펌웨어로 업그레이드하는 과정을 다뤘다. 제어보드와 프린터 간 연결을 완료한 뒤, 연결이 정상적인지 확인하기 위해 프린터 설정 파일(printer.cfg
)을 작성하고 Homing(ALL 버튼) 기능을 테스트했다.
Homing은 Z축 기준점을 잡기 전에 XY축을 안전한 위치로 이동시키는 Klipper의 초기 위치 설정이다. BLTouch 같은 Z 프로브를 사용하는 경우 유용하며, Z 엔드스탑이 중앙 또는 고정된 위치에 있을 때는 필수이다.
2. 준비 사항
printer.cfg
를 작성하기 위해 참고할 설정 파일이 필요하다. 다음 두 가지 파일을 기반으로 설정한다.
제어보드(SKR Pico)용 설정 파일BigTreeTech SKR Pico Klipper printer.cfg
프린터(Kingroon KP3S) 설정 파일Kingroon KP3S Klipper printer.cfg
SKR Pico 설정 파일은 핀 배열 정보 기준으로 사용하고,
KP3S 설정 파일은 프린터 기본 사양(모터, 히터, 센서 등)을 참고한다.
자세한 설정 항목은 Klipper 공식 문서를 통해 확인 가능하다.
3. 프린터 설정 파일(printer.cfg) 만들기 ①
아래 설정은 Homing 기능 구현을 목표로 구성했다.
통신, XYZ축, 프린터 기본 성능, Homing 관련 항목만 포함하며,
Extruder, Heater, Sensor, Fan 설정은 별도 포스트에서 다룰 예정이다.
기호 설명:
"^"
: 핀 초기 상태가 High(5V)임을 의미"!"
: 신호 반전 (Low ↔ High)
설정 예시
# mainsail 설정을 불러오는 부분이다. 아래 라인을 추가한다.
[include mainsail.cfg]
# X축을 설정한다. 핀 설정은 그대로 사용한다.
[stepper_x]
step_pin: gpio11
# 모터 회전 방향 설정하는 파일로 원래는 "!gpio10"로 되어 있다.
# 그대로 두면 모터가 반대 방향으로 회전하므로 "!" 부분을 삭제한다.
dir_pin: gpio10
enable_pin: !gpio12
# 모터 기본 스텝 분할 수
microsteps: 32 #16
rotation_distance: 40
# X축 endstop pin으로 원래는 "^gpio4"로 되어 있다.
# 그대로 두면 툴헤드가 endstop스위치에 닿지 않아도 닿은 것으로 인식하고
# 닿았는데도 닿지 않은 것으로 인식한다.앞에 "!"를 추가해서 반전 시킨다.
endstop_pin: ^!gpio4
# endstop_pin: tmc2209_stepper_x:virtual_endstop # Virtual endstop pin for the X-axis stepper motor
# homing_retract_dist: 0 # Distance to retract during homing
position_endstop: 0
# KP3S 베드 최대 사이즈 180mm이므로 수정한다.
position_max: 180 #235
homing_speed: 50
# Y축을 설정한다. X축과 마찬가지로 dir_pin, microsteps, endstop_pin, position_max를 수정
[stepper_y]
step_pin: gpio6
dir_pin: gpio5 #!gpio5
enable_pin: !gpio7
microsteps: 32 #16
rotation_distance: 40
endstop_pin: ^!gpio3
# endstop_pin: tmc2209_stepper_y:virtual_endstop
# homing_retract_dist: 0
position_endstop: 0
position_max: 180 #235
homing_speed: 50
# Z축을 설정한다. dir_pin, microsteps, endstop_pin, position_endstop, position_max를 수정
[stepper_z]
step_pin: gpio19
dir_pin: !gpio28 #gpio28
enable_pin: !gpio2
microsteps: 32 #16
rotation_distance: 8
endstop_pin: ^!gpio25
# 노즐이 베드에 닫지 않도록 조정
position_endstop: 0.5
# endstop_pin: probe:z_virtual_endstop # Endstop switch를 사용하므로 주석처리
# position_min: -2.0
position_max: 180 #250
homing_speed: 12
# Z축을 홈(Homing)할 때 안전한 위치로 XY를 먼저 이동
# KP3S 설정 파일에서 그대로 가져온다.
[safe_z_home]
home_xy_position: 90,90 # Z 프로브가 센싱 가능한 XY 위치로 먼저 이동 (베드 중앙)
z_hop: 5 # Z 홈 전에 살짝 들어주는 높이 (기구물 충돌 방지)
# serial ID는 아래 두가지 방법으로 확인할 수 있다.
# 라즈베리파이 OS 터미널에서 "ls -l /dev/serial/by-id/" 실행
# 터미널에서 Kiauh 실행 후 "4) [Advanced]" → "1) [Build]" 에서 확인
[mcu]
serial: /dev/serial/by-id/usb-Klipper_rp2040_504434031060BA1C-if00
## serial: /dev/ttyAMA0 # for UART connection
restart_method: command
# 프린터 기본 성능 설정
# 각축 속도, 가속도 설정값을 KP3S 설정 파일에서 가져온다.
[printer]
kinematics: cartesian #cartesian, corexy, delta 등
max_velocity: 250 #500
max_accel: 2000 #3000
max_z_velocity: 25
max_z_accel: 100 #30
Bash전체 설정 파일은 다운로드 후 파일명을 printer.cfg
로 변경하여 사용한다.
4. 프린터 동작 테스트
printer.cfg
파일을 ~/print_data/config/
폴더에 저장한 후, Mainsail 페이지에서 Firmware Restart를 실행한다.
설정 변경 사항을 적용하려면 반드시 펌웨어를 재시작해야 한다.
정상 적용되면 Toolhead 영역의 All, X, Y, Z 버튼이 비활성화(오렌지색) 상태가 된다.
이 상태에서 “ALL” 버튼을 클릭하면 Toolhead 버튼들이 파란색으로 바뀌면서 Homing 동작이 실행된다.

실제 작동 순서
- X, Y 홈 → Endstop 위치로 이동
home_xy_position
좌표로 이동 (베드 중앙)- Z축을
z_hop
만큼 들기 - Z 프로빙 시작 (BLTouch 등)
- Z 홈 완료
5. 결론
이번 글에서는 교체한 제어보드가 정상 작동하는지 확인하기 위해
프린터 설정 파일(printer.cfg
)을 작성하고 Homing 기능을 테스트했다.
제어보드 기본 설정 파일과 프린터 사양 파일을 참고하여 새로운 설정 파일을 구성했다.
핀이 반전되어야 하는지 여부, 프린터의 최대 이동 거리, 통신 ID 등의 항목을 중점적으로 점검했다.
다음 포스트에서는 기본적인 Homing 외에
Extruder, Heater, Sensor, Fan 설정 방법을 다룰 예정이다.
Discover more from 이루고닷컴
Subscribe to get the latest posts sent to your email.