Klipperr에 연결
- 이 튜토리얼은 Fly-Buffer-Plus 버퍼에 KLIPPER 펌웨어를 프로그래밍하는 튜토리얼입니다.
- 프로그래밍이 완료되면 압력 펌웨어 핀이 덮어씌워집니다.
- 이전 기능을 다시 구현하려면 자신이 매크로를 작성하거나 이전 펌웨어를 재설치해야 합니다.
- 어떤 구성이나 사용 매크로도 자신이 작성해야 합니다.
BL 프로그래밍
프로그래밍 모드 진입
- 프로그래밍 모드로 들어가는 방법은 두 가지가 있습니다.
- 첫 번째: 메인보드를 완전히 전원 차단한 상태에서 BOOT 버튼을 누른 다음 데이터 전송용 케이블 한쪽을 메인보드에 연결하고 다른 한쪽을 장치에 연결합니다.
- 두 번째: 데이터 전송용 케이블 한쪽을 메인보드에 연결하고 다른 한쪽을 장치에 연결한 후 BOOT 버튼을 누르고 RST 버튼을 누릅니다. RST 버튼을 놓은 후 BOOT 버튼을 놓습니다.
펌웨어 프로그래밍
- windows 프로그래밍 튜토리얼
- 상위 기기 프로그래밍 튜토리얼
- 버퍼의 BL 펌웨어
- 아래 다운로드 링크를 클릭하세요
-
Loading...
- USB3.0은 프로그래밍이 안 될 수 있으니 가능한 한 컴퓨터의
USB2.0
을 사용하세요 - USB2.0 포트가 없다면 확장 드라이브를 사용하세요
- 여전히 프로그래밍이 안 된다면 상위 기기를 사용하여 프로그래밍하세요
- 프로그래밍 도구 다운로드 주소
SetupSTM32CubeProgrammer
와STM32 DFU 드라이버
를 다운로드해야 합니다- 이전에 컴파일한 펌웨어(klipper.bin) 또는 미리 컴파일한
Katapult 펌웨어
를 컴퓨터의 아무 곳에나 복사하세요 - Type-C 데이터선으로 메인보드를 컴퓨터에 연결하세요.
dfu
프로그래밍 모드에 들어가 있는지 확인하세요 - STM32CubeProgrammer에서 USB 모드를 선택하고 갱신, 연결하세요
- 오류 창이 나타나지 않으면 연결 성공입니다.
경고
아래 그림과 같은 내용이 나타난다면 컴퓨터나 소프트웨어 문제입니다. 상위 기기를 사용하여 프로그래밍하세요:상위 기기 프로그래밍 튜토리얼
- 왼쪽의 다운로드 아이콘을 클릭하고 아래 몇 가지를 선택하세요
- 화살표가 가리키는
Browse
를 클릭하고 프로그래밍하려는 펌웨어를 선택하세요 Start address
에0x08000000
을 입력하세요- 하단의
Start automatic mode
를 클릭하여 펌웨어를 프로그래밍하세요 - 아래 알림이 나타나면 펌웨어 프로그래밍이 완료되었습니다
- 플래시 도구 설치
- FLY 상위기기는 플래시 도구 설치를 수행할 필요가 없습니다.
- 설치가 필요한 경우 주의하세요: 상위기기가 인터넷에 연결되어 있어야 정상적으로 설치됩니다.
- 이미 설치된 경우에는 다시 설치할 필요가 없습니다.
sudo apt update
sudo apt install dfu-util -y
- 다음 명령을 실행하여 연결이 성공했는지 확인합니다.
lsusb
- DFU 장치가 없으면 다시 플래시 모드로 진입해보세요.
- 시스템 버전 문제로 다른 이름이 표시될 수 있습니다. 만약
0483:df11
이 표시되면 플래시 모드로 진입한 것입니다.

- 사전 컴파일된 펌웨어 가져오기
- 여기에는 모두 사전 컴파일된 펌웨어가 포함되어 있습니다.
- 상위기기가 인터넷에 연결되어 있어야 설치할 수 있습니다.
- 상위기기는 아래 명령을 실행하여 펌웨어 패키지를 다운로드해야 합니다 (상위기기의 네트워크 문제가 발생하여 파일을 가져올 수 없는 경우 관리자에게 문의하세요).
cd && git clone https://github.com/FengHua741/FLY_Katapult.git
- 이미 펌웨어 패키지를 다운로드한 경우 업데이트 후 나머지 작업을 진행하는 것이 좋습니다.
cd ~/FLY_Katapult && git pull
- 펌웨어 프로그래밍
하나의 펌웨어만 프로그래밍하면 됩니다.
- 아래는 펌웨어 프로그래밍 명령어입니다
sudo dfu-util -a 0 -d 0483:df11 --dfuse-address 0x08000000 -D ~/FLY_Katapult/BL/buffer/FLY_BUFFER
-
아래 그림 화살표 부분에
File downloaded successfully
가 표시되면 프로그래밍이 성공적입니다.
프로그래밍이 완료된 후에는 메인보드를 완전히 전원 차단해야 합니다.
USB 펌웨어 컴파일
컴파일 시작
klipper
서비스가 설치된 상위기기를 사용해야 합니다. 네트워크를 통해 SSH 연결하기- 그리고 장치를 상위기에 잘 연결해야 합니다.
- 주의: 일반적인 상위기기를 사용하십시오. 예를 들어 라즈베리 파이 FLY 패 등입니다. WiFi 스틱, 홍미폰 등의 모modified 상위기는 지원 문제가 많아 기술 지원을 제공할 수 없습니다.
ROOT
사용자를 일반 사용자로 전환하려면 아래 명령어를 입력할 수 있습니다.ROOT
사용자는 사용하지 마십시오.- fly 사용자는 다음을 입력할 수 있습니다:
su fly
. fly 사용자가 아닌 경우<상위기기 사용자 이름>
을 상위기기의 사용자 이름으로 바꾸십시오!
su <상위기기 사용자 이름>
- 상위기기(Up Host)가 정상적으로 네트워크에 연결되어 있는지 확인하세요.
- 펌웨어 컴파일 전에 SSH를 통해 상위기기에 네트워크로 로그인해야 합니다.
- 상위기기에 시리얼 포트(Serial Tool)를 사용하지 마세요.
Klipper 펌웨어 컴파일 및 구성 페이지 작동 설명
키보드 입력 모드를 반각(Half-width) 모드로 설정해 주세요. 즉, 영문 모드입니다.
- 키보드의
↑
(위쪽 화살표),↓
(아래쪽 화살표)는 메뉴 항목을 선택하기 위해 커서를 위아래로 이동시킵니다. - 확인 키
Enter
또는 공백 키Space
는 메뉴를 선택하거나 하위 메뉴로 진입합니다. - 종료 키
ESC
는 상위 메뉴로 돌아갑니다. Q
키는 Klipper 펌웨어 구성 페이지를 종료합니다.- Klipper 펌웨어 구성 페이지를 종료할 때
Y
키를 눌러 구성 파일을 저장할 수 있습니다.
구성 페이지 옵션이 적을 경우, Enable extra low-level configuration options
항목을 선택([ ]
)하여 일부 숨겨진 옵션을 표시할 수 있습니다.
아래는 펌웨어를 컴파일하는 방법을 소개합니다:
-
SSH에 접속한 후 다음 명령어를 입력하고 Enter를 누릅니다:
cd ~/klipper && rm -rf ~/klipper/.config && rm -rf ~/klipper/out && make menuconfig
-
그 중
rm -rf ~/klipper/.config && rm -rf ~/klipper/out
는 이전에 컴파일된 데이터와 펌웨어를 삭제하고,make menuconfig
는 펌웨어를 컴파일합니다. 실행 후 아래와 같은 화면이 나타나야 합니다. -
Enable extra low-level configuration options를 선택하고 Enter를 누릅니다.
-
Micro-controller Architecture 메뉴로 들어가서 STMicroelectronics STM32를 선택하고 Enter를 누릅니다.
-
Processor model 메뉴로 들어가서 STM32F072를 선택하고 Enter를 누릅니다.
-
Bootloader offset를 선택하고 8KiB bootloader를 선택합니다.
-
Communication interface를 선택하고 **USB (on PA11/PA12)**를 선택합니다.
-
다음 그림과 일치하는지 확인하고, 일치하면 다음 단계로 진행하세요.
Q
키를 눌러 Save configuration가 나타나면 다시Y
키를 누릅니다.- 이제 설정을 저장하고 명령줄 인터페이스로 나갔을 것입니다.
- 아래 명령어를 입력하여 컴파일을 시작합니다. 시간이 조금 걸립니다.
make -j4

-
마지막으로 아래 내용이 출력되면 컴파일이 성공입니다.
Linking out/klipper.elf
Creating hex file out/klipper.bin
- 아래는 컴파일 펌웨어 작업 흐름 기록입니다.
프로그래밍 모드 진입
- RST 버튼을 두 번 누르면 프로그래밍 모드로 들어갑니다.

프로그래밍 모드 진입 확인
- 상위기기(Upstream)가 정상적으로 네트워크에 연결되어 있는지 확인하고, 하위기기가 상위기기와 데이터 전송 기능을 가진 데이터 케이블로 연결되어 있는지 확인하십시오.
- 상위기기에 SSH 접속 후 Enter 키를 누르고 명령어
lsusb
를 입력하면 아래 이미지에서 빨간색으로 표시된 정보가 나타나면 다음 단계로 진행할 수 있습니다.- 아무런 정보도 반환되지 않는 경우, 이는 상위기기의 시스템 문제이며 해결이 불가능합니다. 정상적인 시스템으로 교체하거나 상위기기를 교체해야 합니다.
lsusb
명령어가 없는 경우 다음 명령어를 실행하여 설치할 수 있습니다.sudo apt-get install usbutils
1d50:6177
는 이번에 사용할 장치입니다.- 일부 상위기기는 시스템 문제로 인해 완전히 표시되지 않거나 전혀 표시되지 않을 수 있습니다.
- 만약
lsusb
명령어를 입력했을 때 장치는 표시되지만1d50:6177
이 표시되지 않는 경우 데이터 케이블을 교체하거나 상위기기의 다른 USB 포트로 연결해 보십시오.
- 위 단계를 수행했고 Klipper 펌웨어를 성공적으로 플래시한 적이 있으며, 메인보드가 정상적으로 작동 중이라면 Klipper 펌웨어 업데이트만 진행하려는 경우 오른쪽 메뉴바의
펌웨어 업데이트
섹션을 참조하십시오.
반드시 1d50:6177
장치를 확인한 후 다음 단계로 진행해야 합니다.
펌웨어 프로그래밍
:::팁
- 플러그인 설치 시 인터넷 연결이 필요합니다. 상위 컴퓨터가 정상적으로 인터넷에 연결되어 있는지 확인하시기 바랍니다.
- 이미 설치된 경우 다시 설치할 필요가 없습니다. :::
번영 시작하기
:::주의
- 비-Fly 상위 컴퓨터는 아래의 코드를 반드시 실행하여 펌웨어 번영 의존 패키지를 설치해야 합니다! 그렇지 않으면 펌웨어를 번영할 수 없습니다!
cd && git clone https://github.com/Arksine/katapult.git
- 국내 사용자는 다음 명령어로 설치
cd && git clone https://gitee.com/MrCakeFuck/katapult.git

:::
-
아래 명령어를 사용하여 장치 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)
ls /dev/serial/by-id/*
-
펌웨어를 번영하기 위해 아래 코드를 사용하십시오. 컴파일된 펌웨어가 준비되었는지 확인한 후,
<your_board_id>
를 이전 단계에서 검색한 ID로 대체하십시오.~/klippy-env/bin/python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>
fast
시스템은 이 명령어를 사용하여 번영, <your_board_id>
를 이전 단계에서 검색한 ID로 대체하십시오.
python ~/katapult/scripts/flashtool.py -d /dev/serial/by-id/<your_board_id>
-
참고 자료
-
번영 완료 후 참고
펌웨어 업데이트
- USB 펌웨어 업데이트
- CAN 버스 브리지 펌웨어 업데이트
-
아래 명령어를 사용하여 보드 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)
ls /dev/serial/by-id/*
:::팁
아래 그림에서 /dev/serial/by-id/usb-katapult_rp2040_E662549553642032-if00
가 보드의 ID입니다
:::

-
USB 펌웨어를 업데이트하려면 최신 펌웨어를 컴파일한 후 아래 명령어를 입력하여 업데이트하십시오,
<your_board_id>
를 이전 단계에서 검색한 ID로 대체하십시오cd ~/klipper/ && make flash FLASH_DEVICE=<your_board_id>
-
CAN 버스 브리지 펌웨어를 업데이트하려면 최신 펌웨어를 컴파일한 후 아래 명령어를 입력하여 Katapult로 재설정하십시오. (아래 그림 참조, 그림의 ID는 예시이며, 실제로는 구성 파일의 ID를 사용하십시오) :::팁
<your_CANBUS_UUID>
는 printer.cfg 구성 파일에서 보드의 CANBUS UUID입니다 :::
~/klippy-env/bin/python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <your_CANBUS_UUID>
fast
시스템은 이 명령어를 사용하여 번영, <your_board_id>
를 이전 단계에서 검색한 ID로 대체하십시오.
python3 ~/katapult/scripts/flashtool.py -i can0 -r -u <your_CANBUS_UUID>
:::팁
- 아래 그림에서
f95cee90e1f9
가 보드의 CANBUS UUID입니다 :::

-
Katapult로 재설정한 후, 아래 명령어를 사용하여 보드 ID를 검색하고, 아래 그림과 같은 ID가 나타나야 합니다 (참고: 그림에 표시된 ID는 예시이며, 각 보드의 ID는 다릅니다)
ls /dev/serial/by-id/*
:::팁
아래 그림에서 /dev/serial/by-id/usb-Klipper_stm32f072xb_43002C000951324757373520-if00
가 보드의 ID입니다
:::

-
새 펌웨어를 컴파일한 후 실행하여 번영을 수행하십시오.
<your_board_id>
를 이전 단계에서 검색한 ID로 대체하십시오.cd ~/klipper/ && make flash FLASH_DEVICE=<your_board_id>
잘못된 펌웨어 번영 해결 방법
- 보드가 전원을 끈 후 다시 전원을 켜고, 리셋 버튼을 빠르게 두 번 클릭하면 다시 번영 모드로 들어갈 수 있습니다.
- 또는 Windows/상위 컴퓨터를 사용하여 katapult 펌웨어를 다시 번영하십시오.katapult 펌웨어 번영
USB ID 검색하기
- 브라우저를 열고 주소 표에 호스트 컴퓨터의 IP 주소를 입력합니다. 예를 들어, 호스트 컴퓨터의 IP가
192.168.101.179
라면 이 주소를 입력하고 Enter 키를 누릅니다.

- 호스트 컴퓨터의 웹 인터페이스를 열고 좌측 사이드바의 설정 옵션에서 찾아보세요:
![]() |
![]() |
printer.cfg
를 클릭한 후 오른쪽 상단의DEVICES
를 클릭하세요.
![]() | ![]() |
SERIAL
을 클릭한 후 새로 고침하세요.
![]() |
![]() |
- ID를 복사합니다. 화살표로 가리키는 곳을 클릭하면 복사됩니다.
![]() |
![]() |
USB ID 입력하기
DEVICES
를 닫고 ID를 입력하세요.
- 구성 파일에서 다음 부분을 수정하세요:
[mcu]
serial: /tmp/klipper_host_mcu
수정된 내용은 다음과 같습니다:
[mcu host]
serial: /tmp/klipper_host_mcu
- 다음 항목을 추가하세요:
[mcu]
serial: <여기에는 방금 검색한 ID를 입력하세요>
![]() |
![]() |
- ID를 구성 파일에 입력하세요.
- ID를 입력한 후 오른쪽 상단의
SAVE & RESTART
를 클릭하세요.
![]() | ![]() |
- Klipper에서
ADC out of range
라는 메시지가 나타나면 이는 정상적인 현상입니다. 핫베드와 센서를 메인보드에 연결하고 헤드, 핫베드의 센서 핀을 구성한 후 다시 저장하고 재부팅하세요.
주의: 문서에서 나온 모든 ID는 예제입니다. 각 메인보드의 ID는 모두 다르므로 실제로 얻은 ID를 입력하세요.