
목차
1.3D 프린터 클리퍼(Klipper)란 무엇인가?
3D 프린터의 속도와 품질을 동시에 높이고 싶다면? 클리퍼(Klipper)가 그 답이 될 수 있다.
클리퍼는 고속 출력이 필요한 사용자, 고급 출력 품질을 원하는 사용자, 그리고 3D 프린터의 확장성을 중시하는 DIY 애호가들에게 특히 적합하다. 라즈베리 파이와 같은 저렴한 하드웨어를 활용하여 기존 3D 프린터의 성능을 한 단계 끌어올릴 수 있는 솔루션이다.
하드웨어 구성
클리퍼를 사용하려면 기존 프린터와 함께 라즈베리 파이가 필요하다. 기존 프린터의 펌웨어(마를린)를 클리퍼로 대체하여, 프린터 보드는 단순히 명령을 실행하는 역할을 하고, 계산 작업은 라즈베리 파이에서 수행하게 된다.
소프트웨어 구성
라즈베리 파이에 Klipper를 설치한 뒤, G-code 연산과 웹브라우저 기반의 제어 환경을 제공하는 소프트웨어를 추가로 설치해야 한다. 이를 위해 Klipper와 함께 Moonraker, Fluidd 또는 Mainsail과 같은 소프트웨어를 설치하면, 프린터를 쉽게 제어할 수 있는 직관적인 웹 인터페이스가 만들어진다
결과적으로, 클리퍼는 출력 속도와 품질을 모두 높이는 동시에 사용자 친화적인 환경을 제공하게된다
하드웨어 / 소프트웨어 구성도
클리퍼 하드웨어 / 소프트웨어 구성을 아래 그림으로 표현해보았다. 세부적인 프로그램 설명과 설치는 본문에서 자세히 설명하도록 하겠다.

2. 3D 프린터를 클리퍼로 업그레이드하는데 필요한 것들
3D 프린터 하드웨어
- 3D 프린터 – 대부분의 FDM(Fused Deposition Modeling) 방식의 3D 프린터를 지원하며 자세한 리스트는 Klipper3d.org에서 확인 가능하다. 업그레이드하고자 하는 프린터가 리스트에 있으면 비교적 간단하게 설치할 수 있고 없다면 example 설정 파일을 이용해 프린터에 맞게 수정하면 된다.
- 라즈베리파이(Raspberry PI) – 리눅스가 설치되는 작은 컴퓨터로 Klipper, Moonraker, Mainsail 소프트웨어가 설치된다. 라즈베리파이 3 혹은 4 버전이면 충분하다.
3D 프린터 소프트웨어
- 운영체제(OS) – raspberrypi.com 에서 imager란 프그로램을 다운받으면 원하는 운영체제를 설치할 수 있다. Raspberry PI OS, Ubuntu, Mainsail OS중 선택하면 된다.
Mainsail OS는 Raspberry PI OS를 기본으로 Klipper, Moonraker, Mainsail 소프트웨어를 추가한 것으로 보면된다. 설치가 제일 간단하지만 추가된 Klipper, Moonraker, Mainsail 가 최신 버전이 아닐 수 있다. - Klipper – 라즈베리 파이와 3D 프린터의 컨트롤 보드에 각각 설치된다. 라즈베리 파이에 설치된 클리퍼는 G-code를 빠르게 연산해주는 역할을 하며, 컨트롤 보드에 설치된 클리퍼 펌웨어는 프린터의 제어 기능을 담당한다.
- Moonraker – 웹 기반 UI(Mainsail, Fluidd)와 라즈베리 파이에서 실행 중인 Klipper 소프트웨어 간의 연결을 위한 소프트웨어디다. Mainsail 또는 Fluidd에서 사용자가 프린터를 제어하거나 상태를 모니터링할 때, 이 요청은 Moonraker를 통해 Klipper 소프트웨어로 전달된다.
- KIAUH – KIAUH(Klipper Installation And Update Helper)는 Klipper와 관련된 소프트웨어를 설치, 업데이트, 관리하는 스크립트 기반 툴이다. 이 도구는 주로 Klipper, Moonraker, Mainsail설치 및 업데이트 과정의 복잡함을 줄이고, 초보자도 쉽게 사용할 수 있도록 설계되었다.
Klipper, Moonraker, Mainsail을 각각 설치해도 되지만 KIAUH를 사용하면 이 3가지 소프트웨어를 쉽게 설치 / 삭제 가능하며, 업데이트 관리도 할 수 있다.
추가적으로 3D 프린터 보드에 Writing할 Klipper 펌웨어 생성 기능도 있으며, 웹캡(Crowsnest) 설치도 가능하다. - 이 글에서는 KIAUH를 통해서 Klipper, Moonraker, Mainsail를 설치하도록 하겠다.
3. 3D 프린터 클리퍼(Klipper) 프로그램 설치
라즈베리파이 운영체제
OS는 라즈페이파이의 PI Imager에서 원하는 Type의 OS를 설치하는 것이 가장 간편하다.
여기서는Unbuntu 22.04를 설치했다. 최신 버전 Unbutu 24.10에 KIAUH로 Klipper, Moonraker, Mainsail을 설치해 봤는데 Moonraker 설치 시 에러(Package ‘wireless-tools’ has no installation candidate)가 발생했기 때문에 22.04 버전을 추천한다.
minodori@yirugeopi:~$ grep . /etc/os-release
PRETTY_NAME="Ubuntu 22.04"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="24.10 (Oracular Oriole)"
VERSION_CODENAME=oracular
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=oracular
LOGO=ubuntu-logo
Bash라즈베리파이 KIAUH 설치
Kiauh 설치 방법은 아래와 같으며 공식 사이트에서도 설치 방법을 확인할 수 있다.
git clone https://github.com/th33xitus/kiauh.git
Bash설치 완료후 kiauh폴더 아래 kiauh.sh를 실행한다. (./kiauh/kiauh.sh)
라즈베리파이 클리퍼(Klipper) 설치 저장소 변경
일반적인 순서는 1) Install을 선택한 후 다음 화면에서 Klipper를 설치하면 된다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~~~~~ ║
║ Klipper Installation And Update Helper ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
╚═══════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Not installed ║
║ │ Owner: - ║
║ 1) [Install] │ Repo: - ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Not installed ║
║ 4) [Advanced] │ Owner: - ║
║ 5) [Backup] │ Repo: - ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Not installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
###### Perform action:
Bash만약 공식 Klipper 저장소가 아닌 다른 저장소에서 설치하고자 한다면, 먼저 저장소를 변경해야 한다. 이는 Klipper를 설치한 후 자신의 프린터에 맞게 설정해야 하기 때문이다. 이미 이러한 설정이 완료된 저장소를 활용하면 설치 과정이 훨씬 수월해진다.
예를 들어, 사용하는 3D 프린터가 “Creality Ender 3 V3 SE“라면, 저장소를 아래 주소로 변경하여 설치하는 것을 추천한다. 보유하고 있는 프린터가 Klipper3d.org의 공식 리스트에 있다면, 굳이 저장소를 변경할 필요는 없다. 하지만 Creality Ender 3 V3 SE의 경우 유사한 모델은 있지만 정확히 일치하는 모델이 없기 때문에, 본 모델에 맞게 설정된 저장소를 사용하는 것이 더 적합하다.
아래 21번 행 1) Set Klipper source repository 를 선택한다.
46번 줄에서 Ender 3 V3 SE에 맞게 수정된 github 주소를 입력하고 47번 행 branch name에 ‘master’를 입력한다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~ [ KIAUH Settings ] ~~~~~~~~~~~~~~~~~ ║
╟───────────────────────────────────────────────────────╢
║ Klipper: ║
║ ● Repo: - ║
║ ● Owner: - ║
║ ● Branch: ║
╟───────────────────────────────────────────────────────╢
║ Moonraker: ║
║ ● Repo: - ║
║ ● Owner: - ║
║ ● Branch: ║
╟───────────────────────────────────────────────────────╢
║ Install unstable releases: ║
║ [ ] Mainsail ║
║ [ ] Fluidd ║
╟───────────────────────────────────────────────────────╢
║ Auto-Backup: ║
║ [ ] Automatic backup before update ║
╟───────────────────────────────────────────────────────╢
║ 1) Set Klipper source repository ║
║ 2) Set Moonraker source repository ║
║ ║
║ 3) Toggle unstable Mainsail releases ║
║ 4) Toggle unstable Fluidd releases ║
║ ║
║ 5) Toggle automatic backups before updates ║
╟───────────────────────────────────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: 1
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ [ ATTENTION ] ┃
┠───────────────────────────────────────────────────────┨
┃ There is no input validation in place! Make sure your ┃
┃ the input is valid and has no typos or invalid ┃
┃ characters! For the change to take effect, the new ┃
┃ repository will be cloned. A backup of the old ┃
┃ repository will be created. ┃
┃ ┃
┃ Make sure you don't have any ongoing prints running, ┃
┃ as the services will be restarted during this ┃
┃ process! You will loose any ongoing print! ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
###### Enter new repository URL: https://github.com/0xD34D/klipper_ender3_v3_se.git
###### Enter new branch name: master
Bash저장소 주소와 브랜치명 입력 후 엔터를 누르면 클리퍼가 자동 설치된다. 설치 후 “B” 키를 누르면 초기 화면으로 돌아간다.
10,11번 행 을 보면 지정한 github 저장소로 변경된 것을 확인할 수 있따. 하지만 9번 행을 보면 완전하게 설치되지 않음을 알 수 있다.(Incomplete)
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~~~~~ ║
║ Klipper Installation And Update Helper ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
╚═══════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Incomplete ║
║ │ Owner: 0xD34D ║
║ 1) [Install] │ Repo: klipper_ender3_v3_se ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Not installed ║
║ 4) [Advanced] │ Owner: - ║
║ 5) [Backup] │ Repo: - ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Not installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
###### Perform action:
Bash이는 Kiauh 메인에서 Klipper를 설치한 것이 아니라, Klipper 저장소를 설정하면서 동시에 설치가 이루어진 것으로 보인다. 이러한 경우 환경 설정 문제가 발생할 수 있다. 따라서 “3) [Remove]” 메뉴에서 비정상적으로 설치된 Klipper를 삭제한 후, “1) [Install]” 메뉴에서 설치하면 해결할 수 있다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~ [ Remove Klipper ] ~~~~~~~~~~~~~~~~~ ║
╟───────────────────────────────────────────────────────╢
║ Enter a number and hit enter to select / deselect ║
║ the specific option for removal. ║
╟───────────────────────────────────────────────────────╢
║ a) Deselect everything ║
╟───────────────────────────────────────────────────────╢
║ 1) [x] Remove Service ║
║ 2) [x] Remove Local Repository ║
║ 3) [x] Remove Python Environment ║
╟───────────────────────────────────────────────────────╢
║ C) Continue ║
╟───────────────────────────────────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: a
###### Perform action: c
###### Removing Klipper instances ...
[INFO] No Klipper Services installed! Skipped ...
###### Removing Klipper local repository ...
[OK] File '/home/minodori/klipper' was successfully removed!
###### Removing Klipper Python environment ...
[OK] File '/home/minodori/klippy-env' was successfully removed!
Bash라즈베리파이 클리퍼(Klipper) 설치
“1) [Install]” 선택해서 클리퍼를 설치한다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Not installed ║
║ │ Owner: - ║
║ 1) [Install] │ Repo: - ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Not installed ║
║ 4) [Advanced] │ Owner: - ║
║ 5) [Backup] │ Repo: - ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Not installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: 1
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~ [ Installation Menu ] ~~~~~~~~~~~~~~~ ║
╟───────────────────────────┬───────────────────────────╢
║ Firmware & API: │ Touchscreen GUI: ║
║ 1) [Klipper] │ 7) [KlipperScreen] ║
║ 2) [Moonraker] │ ║
║ │ Webcam Streamer: ║
║ Webinterface: │ 8) [Crowsnest] ║
║ 3) [Mainsail] │ ║
║ 4) [Fluidd] │ ║
║ │ ║
║ Client-Config: │ ║
║ 5) [Mainsail-Config] │ ║
║ 6) [Fluidd-Config] │ ║
╟───────────────────────────┴───────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: 1
BashKlipper Instance는 라즈베리파이에 연결할 프린터의 대수를 입력하면 된다. 기본값은 “1” 이다.
“printer.cfg” 는 현재 클리퍼를 설치할 프린터에 대한 설정 정보가 저장되는 파일인데, Ender 3 V3 SE에 최적화된 파일은 “0xD34D github 저장소” 에서 가져올 예정이므로 선택하지 않아도 된다.
###### Installing Klipper ...
╔═══════════════════════════════════════════════════════╗
║ Please select the number of Klipper instances to set ║
║ up. The number of Klipper instances will determine ║
║ the amount of printers you can run from this host. ║
║ ║
║ WARNING: ║
║ Setting up too many instances may crash your system. ║
╟───────────────────────────────────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Number of Klipper instances to set up (default=1):
###### Create example printer.cfg? (Y/n): n
Bash이후 설치 완료 후 초기 화면으로 돌아오면 클리퍼가 정상 설치된 것을 확인할 수 있다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~~~~~ ║
║ Klipper Installation And Update Helper ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
╚═══════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Installed: 1 ║
║ │ Owner: 0xD34D ║
║ 1) [Install] │ Repo: klipper_ender3_v3_se ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Not installed ║
║ 4) [Advanced] │ Owner: - ║
║ 5) [Backup] │ Repo: - ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Not installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
Bash라즈베리파이 문레이커(MoonRaker)설치
Ubuntu 24.04 환경에서 Kiauh를 통해 Moonraker를 설치할 때 “wireless-tools” 패키지 의존성 문제로 설치시 에러가 발생했다. 그래서 Kiauh를 종료 후 “~/moonraker/scripts/install_moonraker.sh” 파일을 열고 설치 패키지 부분에서 “wireless-tools” 을 주석 처리했다.
● wireless-tools
[ERROR] Error installing packages:
E: Package 'wireless-tools' has no installation candidate
[ERROR] Error while installing Moonraker: Command '['sudo', 'apt-get', 'install', '-y', 'libsodium-dev', 'libopenjp2-7', 'wireless-tools']' returned non-zero exit status 100.
Bash 80 # *** AUTO GENERATED OS PACKAGE DEPENDENCES START ***
81 if [ ${DISTRIBUTION} = "debian" ]; then
82 PACKAGES="python3-virtualenv python3-dev libopenjp2-7 libsodium-dev zlib1g-dev"
83 #PACKAGES="${PACKAGES} libjpeg-dev packagekit wireless-tools curl"
84 PACKAGES="${PACKAGES} libjpeg-dev packagekit curl"
85 PACKAGES="${PACKAGES} build-essential"
Bash다음 수동으로 “install_moonraker.sh”를 실행하면 Moonraker가 설치된다.
git clone https://github.com/Arksine/moonraker.git
cd moonraker
./scripts/install_moonraker.sh
Bash설치 후 다시 kiauh를 실행하면 moonraker가 제대로 설치된 것을 확인할 수 있다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~~~~~ ║
║ Klipper Installation And Update Helper ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
╚═══════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Installed: 1 ║
║ │ Owner: 0xD34D ║
║ 1) [Install] │ Repo: klipper_ender3_v3_se ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Installed: 1 ║
║ 4) [Advanced] │ Owner: Arksine ║
║ 5) [Backup] │ Repo: moonraker ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Not installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
###### Perform action:
Bash하지만 설치 이후 브라우저를 통해 Klipper 접속했을때 여전히 Moonraker 접속 문제가 있어서 결국 Ubuntu 22.04 버전으로 재 설치하고 Kiauh를 통해 Klipper, Moonraker를 설치하니 “wireless-tools” 패키지 의존성 문제가 발생하지 않았고 Moonraker 접속 문제도 해결되었다.
라즈베리파이 메인세일(Mainsail) 설치
계속해서 Kiauh를 통해 “Mainsail”을 설치한다. 브라우저에서 http 포트로 클리퍼에 접속해야하므로 특별한 케이스가 아니면 기본 포트 “80”을 선택하면 된다. 다른 Webinterface인 Fluidd를 선택해도 된다. 유사한 interface 화면과 기능을 가지고 있으니 본인이 선택을 하면된다. 물론 둘다 설치해도 된다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~ [ Installation Menu ] ~~~~~~~~~~~~~~~ ║
╟───────────────────────────┬───────────────────────────╢
║ Firmware & API: │ Touchscreen GUI: ║
║ 1) [Klipper] │ 7) [KlipperScreen] ║
║ 2) [Moonraker] │ ║
║ │ Webcam Streamer: ║
║ Webinterface: │ 8) [Crowsnest] ║
║ 3) [Mainsail] │ ║
║ 4) [Fluidd] │ ║
║ │ ║
║ Client-Config: │ ║
║ 5) [Mainsail-Config] │ ║
║ 6) [Fluidd-Config] │ ║
╟───────────────────────────┴───────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: 3
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Please select the port, Mainsail should be served on. ┃
┃ If your are unsure what to select, hit Enter to apply ┃
┃ the suggested value of: 80 ┃
┃ ┃
┃ In case you need Mainsail to be served on a specific ┃
┃ port, you can set it now. Make sure that the port is ┃
┃ not already used by another application on your ┃
┃ system! ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
###### Configure Mainsail for port (default=80):
Bash다시 Kiauh 초기 화면으로 돌아가서 “Klipper”, “Moonraker”, “Mainsail”이 정상적으로 설치된 것을 확인한다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~~~ [ KIAUH ] ~~~~~~~~~~~~~~~~~~~~~ ║
║ Klipper Installation And Update Helper ║
║ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ║
╚═══════════════════════════════════════════════════════╝
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~~~ [ Main Menu ] ~~~~~~~~~~~~~~~~~~~ ║
╟──────────────────┬────────────────────────────────────╢
║ 0) [Log-Upload] │ Klipper: Installed: 1 ║
║ │ Owner: 0xD34D ║
║ 1) [Install] │ Repo: klipper_ender3_v3_se ║
║ 2) [Update] ├────────────────────────────────────╢
║ 3) [Remove] │ Moonraker: Installed: 1 ║
║ 4) [Advanced] │ Owner: Arksine ║
║ 5) [Backup] │ Repo: moonraker ║
║ ├────────────────────────────────────╢
║ S) [Settings] │ Mainsail: Installed ║
║ │ Fluidd: Not installed ║
║ Community: │ Client-Config: - ║
║ E) [Extensions] │ ║
║ │ KlipperScreen: Not installed ║
║ │ Crowsnest: Not installed ║
╟──────────────────┼────────────────────────────────────╢
║ v6.0.0-alpha.9 │ Changelog: https://git.io/JnmlX ║
╟──────────────────┴────────────────────────────────────╢
║ Q) Quit ║
╚═══════════════════════════════════════════════════════╝
###### Perform action:
Bash4. 3D 프린터 컨트롤보드 펌웨어 빌드(Firmware Build)와 Writing
3D 프린터의 프린터 컨트롤 보드 안에 MCU(Microcontroller Unit)라는 칩이 담당한다. 이 MCU에는 기본적으로 펌웨어(Firmware)가 프로그래밍되어 있으며, 대부분의 경우 기존에는 마를린(Marlin) 펌웨어가 설치되어 있다.
클리퍼(Klipper)를 사용하기 위해서는 라즈베리 파이에서 클리퍼 펌웨어를 빌드(build)한 후, 기존의 마를린 펌웨어를 클리퍼 펌웨어로 교체해야 한다.
Kiauh에서 펌웨어 빌드와 MCU ID
다시 Kiauh를 실행해서 “4) [Advanced]” – “1) [Build]” 를 선택 후 “Enter”를 누르면 펌웨어 빌드가 진행된다.
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~~~~ [ Advanced Menu ] ~~~~~~~~~~~~~~~~~ ║
╟───────────────────────────┬───────────────────────────╢
║ Klipper Firmware: │ Repository Rollback: ║
║ 1) [Build] │ 5) [Klipper] ║
║ 2) [Flash] │ 6) [Moonraker] ║
║ 3) [Build + Flash] │ ║
║ 4) [Get MCU ID] │ System: ║
║ │ 7) [Change hostname] ║
╟───────────────────────────┴───────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Perform action: 1
╔═══════════════════════════════════════════════════════╗
║ ~~~~~~~~~~~~~~ [ Build Firmware Menu ] ~~~~~~~~~~~~~~ ║
╟───────────────────────────────────────────────────────╢
║ The following dependencies are required: ║
║ ║
║ ● make *INSTALLED* ║
║ ● build-essential *INSTALLED* ║
║ ● dpkg-dev *INSTALLED* ║
║ ║
║ All dependencies are met! ║
╟───────────────────────────────────────────────────────╢
║ B) « Back ║
╚═══════════════════════════════════════════════════════╝
###### Press ENTER to continue:
Bash아래는 펌웨어 빌드화면이다. 현재 3D프린터의 MCU 사양과 통신 관련 설정을 진행한다.
“Ender 3 V3 SE”의 경우 Processor(MCU) model은 STM32F103, 통신 인터페이스는 USART1 PA10/PA9를 선택하고 “Q” ->”Yes”를 순차적으로 선택하면 Ender 3 V3 SE 컨트롤러보드에 있는 STM32F103에 Writing할 펌웨어가 빌드된다.

라즈베리파이와 3D 프린터 컨트롤러 보드와 통신을 하려면 컨트롤보드 USB칩의 ID를 확인해야한다.
먼저 라즈베리파이를 3D 프린터 전원을 켜고 USB로 연결한다. Ender3 V3 SE의 경우 USB c-type 포트가 측면에 나와있다. 프린터 전원을 켜야된다는 것을 잊지말자.
다음에 “Kiauh – Advanced Menu – 4) Get MCU ID” 를 실행하면 3D프린터USB 칩 ID를 확인할 수 있다.
Creality Ender 3 V3 SE의 경우 MCU ID는 아래와 같다. 동일한 기종은 동일한 보드와 MCU를 사용할 가능성이 높기 때문에 MCU ID는 동일하다고 보면된다. 혹시 다를 경우가 있으니 꼭 확인을 해보도록 하자.
이 ID는 printer.cfg에서 MCU 설정에 필요한 값이다.
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
╔═══════════════════════════════════════════════════════╗
║ Make sure that the controller board is connected now! ║
╟───────────────────────────────────────────────────────╢
║ How is the controller board connected to the host? ║
╟───────────────────────────────────────────────────────╢
║ 1) USB ║
║ 2) UART ║
║ 3) USB (DFU mode) ║
║ 4) USB (RP2040 mode) ║
╟───────────────────────────┬───────────────────────────╢
║ B) « Back │ H) Help [?] ║
╚═══════════════════════════╧═══════════════════════════╝
###### Select connection type: 1
###### Identifying MCU connected via USB ...
The following MCUs were found:
● MCU #0: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
BashKiauh를 사용하지 않고 콘솔 명령으로로 MCU ID를 확인할 수 있다.
minodori@yirugeopi:~$ ls /dev/serial/by-id/*
/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
Bash펌웨어 Writing
빌드된 펌웨어는 klipper/out/ 폴더에 “klipper.bin”이란 이름으로 생성되어 있는지 확인하자.
minodori@yirugeopi:~/klipper/out$ ls -alt
total 1360
-rwxr-xr-x 1 minodori minodori 37820 Nov 8 22:27 klipper.bin
drwxr-xr-x 5 minodori minodori 4096 Nov 8 22:27 .
-rwxr-xr-x 1 minodori minodori 1021736 Nov 8 22:27 klipper.elf
-rw-r--r-- 1 minodori minodori 179328 Nov 8 22:27 compile_time_request.o
-rw-r--r-- 1 minodori minodori 356 Nov 8 22:27 compile_time_request.d
-rw-r--r-- 1 minodori minodori 70647 Nov 8 22:27 compile_time_request.c
-rw-r--r-- 1 minodori minodori 8819 Nov 8 22:27 klipper.dict
-rw-r--r-- 1 minodori minodori 16794 Nov 8 22:27 compile_time_request.txt
drwxr-xr-x 5 minodori minodori 4096 Nov 8 22:27 src
-rw-r--r-- 1 minodori minodori 11185 Nov 8 22:27 autoconf.h
drwxr-xr-x 2 minodori minodori 4096 Nov 8 22:27 board-generic
lrwxrwxrwx 1 minodori minodori 32 Nov 8 22:27 board -> /home/minodori/klipper/src/stm32
drwxr-xr-x 4 minodori minodori 4096 Nov 8 22:27 lib
-rw-r--r-- 1 minodori minodori 27 Nov 8 22:27 board-link
drwxr-xr-x 12 minodori minodori 4096 Nov 8 22:27 ..
Bash“klipper.bin” 파일을 “firmware.bin”으로 파일명을 변경한 후 SD 카드에 저장한다.
이후, SD 카드를 Ender 3 V3 SE 프린터의 SD 카드 슬롯에 삽입한다.
프린터 전원을 켠 상태로 약 10초간 유지한 뒤 전원을 끈다. 이 과정을 통해 SD 카드에 저장된 Klipper 펌웨어(klipper.bin)가 프린터 컨트롤 보드의 MCU(STM32F103)에 기록된다.
마지막으로 SD 카드를 제거한 후 전원을 다시 켠다.
5. 3D 프린터 클리퍼 접속
이제 Klipper 설치가 완료되었으므로, 브라우저를 통해 Klipper가 설치된 라즈베리 파이에 접속해 보자. 아래 이미지와 같이 처음 접속하면 접속 자체는 가능하지만, 에러가 발생한다. 이는 Klipper 설치만 완료되었을 뿐, 프린터 설정이 아직 진행되지 않았기 때문이다.
다음 글에서는 프린터 설정과 시험 인쇄 과정을 다뤄보도록 하겠다.

라즈베리파이 우분투 서버 설치
Discover more from 이루고닷컴
Subscribe to get the latest posts sent to your email.