├── 3D
├── BTT SKR Pico V1.0-3D.pdf
└── BTT SKR Pico V1.0.step
├── BTT SKR Pico V1.0 Instruction Manual.pdf
├── BTT SKR Pico V1.0 使用手册.pdf
├── Hardware
├── BTT SKR Pico V1.0-BOTTOM.pdf
├── BTT SKR Pico V1.0-PIN.pdf
├── BTT SKR Pico V1.0-SCH.pdf
├── BTT SKR Pico V1.0-SIZE.pdf
└── BTT SKR Pico V1.0-TOP.pdf
└── Klipper
├── Images
├── boot.png
├── klipper_menuconfig.png
├── msc.png
├── pinout.png
├── rp2040_id.png
├── rpi_pinout.jpg
├── wiring_uart.png
└── wiring_usb.png
├── README.md
├── README_zh_cn.md
├── SKR Pico klipper.cfg
├── klipper-UART0.uf2
└── klipper-USB.uf2
/3D/BTT SKR Pico V1.0-3D.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/3D/BTT SKR Pico V1.0-3D.pdf
--------------------------------------------------------------------------------
/3D/BTT SKR Pico V1.0.step:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/3D/BTT SKR Pico V1.0.step
--------------------------------------------------------------------------------
/BTT SKR Pico V1.0 Instruction Manual.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/BTT SKR Pico V1.0 Instruction Manual.pdf
--------------------------------------------------------------------------------
/BTT SKR Pico V1.0 使用手册.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/BTT SKR Pico V1.0 使用手册.pdf
--------------------------------------------------------------------------------
/Hardware/BTT SKR Pico V1.0-BOTTOM.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Hardware/BTT SKR Pico V1.0-BOTTOM.pdf
--------------------------------------------------------------------------------
/Hardware/BTT SKR Pico V1.0-PIN.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Hardware/BTT SKR Pico V1.0-PIN.pdf
--------------------------------------------------------------------------------
/Hardware/BTT SKR Pico V1.0-SCH.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Hardware/BTT SKR Pico V1.0-SCH.pdf
--------------------------------------------------------------------------------
/Hardware/BTT SKR Pico V1.0-SIZE.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Hardware/BTT SKR Pico V1.0-SIZE.pdf
--------------------------------------------------------------------------------
/Hardware/BTT SKR Pico V1.0-TOP.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Hardware/BTT SKR Pico V1.0-TOP.pdf
--------------------------------------------------------------------------------
/Klipper/Images/boot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/boot.png
--------------------------------------------------------------------------------
/Klipper/Images/klipper_menuconfig.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/klipper_menuconfig.png
--------------------------------------------------------------------------------
/Klipper/Images/msc.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/msc.png
--------------------------------------------------------------------------------
/Klipper/Images/pinout.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/pinout.png
--------------------------------------------------------------------------------
/Klipper/Images/rp2040_id.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/rp2040_id.png
--------------------------------------------------------------------------------
/Klipper/Images/rpi_pinout.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/rpi_pinout.jpg
--------------------------------------------------------------------------------
/Klipper/Images/wiring_uart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/wiring_uart.png
--------------------------------------------------------------------------------
/Klipper/Images/wiring_usb.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/Images/wiring_usb.png
--------------------------------------------------------------------------------
/Klipper/README.md:
--------------------------------------------------------------------------------
1 | # [切换到中文版](./README_zh_cn.md)
2 |
3 | # How to use Klipper on SKR Pico V1.0
4 |
5 | ## Pinout
6 | ### Raspberry pi pinout
7 | 
8 |
9 | ### SKR Pico V1.0 pinout
10 | 
11 |
12 | ## Wiring diagram
13 | ### Raspberry pi is powered by an external +5V adapter and communicates with SKR Pico V1.0 via USB
14 | 
15 |
16 | ### Raspberry pi is powered by the motherboard +5V and communicates with SKR Pico V1.0 via UART
17 | 
18 |
19 | ## Build Firmware Image
20 |
21 | 1. Precompiled firmware(The source code version used is [Commits on Dec 13, 2021](https://github.com/Klipper3d/klipper/commit/323268ea02700b2fd3b6accda310845ba29c894e))
22 | * [klipper-USB.uf2](./klipper-USB.uf2) Use USB to communicate with raspberry pi. Connect the type-A USB of raspberry pi with the type-C of motherboard directly to communicate normally.
23 | * [klipper-UART0.uf2](./klipper-UART0.uf2) Use UART0 to communicate with raspberry pi. Connect the UART-TX of raspberry pi with the UART-RX0 of motherboard and connect the UART-RX of raspberry pi with the UART-TX0 of motherboard directly to communicate normally.
24 |
25 | 2. Build your own firmware
26 | 1. Refer to [klipper's official installation](https://www.klipper3d.org/Installation.html) to download klipper source code to raspberry pi
27 | 2. `Building the micro-controller` with the configuration shown below.
28 | * [*] Enable extra low-level configuration options
29 | * Micro-controller Architecture (`Raspberry Pi RP2040/RP235x`) --->
30 | * Processor model (`rp2040`) --->
31 | * Bootloader offset (`No bootloader`) --->
32 | * Flash chip (`GENERIC_03H with CLKDIV 4`) --->
33 | * IF USE USB
34 | * Communication Interface (`USBSERIAL`) --->
35 | * ElSE IF USE UART0
36 | * Communication Interface (`UART0 on GPIO0/GPIO1`) --->
37 |
38 | 
39 | 3. Once the configuration is selected, press `q` to exit, and "Yes" when asked to save the configuration.
40 | 4. Run the command `make`
41 | 5. The `klipper.uf2` file will be generated in the folder `home/pi/kliiper/out` when the `make` command completed. And you can use the windows computer under the same LAN as raspberry pi to copy `klipper.uf2` from raspberry pi to the computer with `pscp` command in the CMD terminal. such as `pscp -C pi@192.168.0.101:/home/pi/klipper/out/klipper.uf2 c:\klipper.uf2`(The terminal may prompt that `The server's host key is not cached` and ask `Store key in cache?((y/n)`, Please type `y` to store. And then it will ask for a password, please type the default password `raspberry` for raspberry pi)
42 |
43 | ## Firmware Installation
44 |
45 | 1. You can use the method in [Build Firmware Image 2.5](#build-firmware-image) or use a tool such as `cyberduck` or `winscp` to copy the `klipper.uf2` file from your pi to your computer.
46 | 2. Insert a jumper on the `Boot` pins of the motherboard and click the `Reset` button to enter the burn mode (Note: If you want to use USB to power the motherboard, you need to insert a jumper on `USB Power`. When there is 12V / 24V power supply, it is best to remove the jumper)
47 | 
48 | 3. Connect USB-C to computer, then you will see a USB flash drive named `RPI-PR2`, copy `klipper-USB.uf2`, `klipper-UART0.uf2` provided by us or `klipper.uf2` compiled by yourself to the USB flash drive, the motherboard will automatically reboot and update the firmware, the computer will re-identify this USB flash drive means the firmware update
49 | is complete, unplug the `boot jumper` and click the `Reset` button to enter normal working mode
50 | 
51 | 4. you can confirm that the flash was successful, by running `ls /dev/serial/by-id`. if the flash was successful, this should now show a klipper device, similar to:
52 |
53 | 
54 |
55 | (note: this test is not appicable if the firmware was compiled for UART, rather than USB)
56 |
57 | ## Configure the printer parameters
58 | ### Basic configuration
59 | 1. Refer to [klipper's official installation](https://www.klipper3d.org/Installation.html) to `Configuring OctoPrint to use Klipper`
60 | 2. Refer to [klipper's official installation](https://www.klipper3d.org/Installation.html) to `Configuring Klipper`. And use the configuration file [SKR Pico klipper.cfg](./SKR%20Pico%20klipper.cfg) as the underlying `printer.cfg`, which includes all the correct pinout for SKR Pico V1.0
61 | 3. Refer to [klipper's official Config_Reference](https://www.klipper3d.org/Config_Reference.html) to configure the features you want.
62 | 4. If you use USB to communicate with raspberry pi, run the `ls /dev/serial/by-id/*` command in raspberry pi to get the correct ID number of the motherboard, and set the correct ID number in `printer.cfg`. And wiring reference [here](#raspberry-pi-is-powered-by-an-external-5v-adapter-and-communicates-with-skr-pico-v10-via-usb)
63 | ```
64 | [mcu]
65 | serial: /dev/serial/by-id/usb-Klipper_rp2040_E66094A027831922-if00
66 | ```
67 | 5. If you use UART0 to communicate with raspberry pi, you need to modify the following files by inserting the SD card into the computer or by SSH command. And wiring reference [here](#raspberry-pi-is-powered-by-the-motherboard-5v-and-communicates-with-skr-pico-v10-via-uart)
68 | * Remove `console=serial0,115200` in `/boot/cmdline.txt`
69 | * Add `dtoverlay=pi3-miniuart-bt` at the end of file `/boot/config.txt`
70 | * Modify the configuration of `[mcu]` in `printer.cfg` to `serial: /dev/ttyAMA0` and enable `restart_method: command` by SSH
71 | ```
72 | [mcu]
73 | serial: /dev/ttyAMA0
74 | restart_method: command
75 | ```
76 |
--------------------------------------------------------------------------------
/Klipper/README_zh_cn.md:
--------------------------------------------------------------------------------
1 | # [View English version](./README.md)
2 |
3 | # 在 SKR Pico V1.0 主板上使用 Klipper
4 |
5 | ## Pinout
6 | ### 树莓派 pinout
7 | 
8 |
9 | ### SKR Pico V1.0 pinout
10 | 
11 |
12 | ## 接线图
13 | ### 使用额外的5V电源适配器给树莓派供电,并且通过 USB 与 SKR Pico V1.0 通信
14 | 
15 |
16 | ### 使用主板的+5V给树莓派供电,并且通过 UART 与 SKR Pico V1.0 通信
17 | 
18 |
19 | ## 编译固件
20 | 1. 已编译好直接使用的文件(此二进制文件所使用的源码是 [Commits on Dec 13, 2021](https://github.com/Klipper3d/klipper/commit/323268ea02700b2fd3b6accda310845ba29c894e))
21 | * [klipper-USB.uf2](./klipper-USB.uf2) 使用 USB 与树莓派通信。直接通过数据线将树莓派的USB-A连接到主板的USB-C接口即可正常通信。
22 | * [klipper-UART0.uf2](./klipper-UART0.uf2) 使用 UART0 与树莓派通信. 通过杜邦线将树莓派的 UART-TX 接到主板的 UART-RX0 ,将树莓派的 UART-RX 接到主板的 UART-TX0 ,并且将地线连接在一起即可正常通信。
23 |
24 | 2. 自行编译最新版本的固件
25 | 1. 参考 [klipper官方的安装说明](https://www.klipper3d.org/Installation.html) 下载klipper源码到树莓派
26 | 2. 使用下面的配置去编译固件
27 | * [*] Enable extra low-level configuration options
28 | * Micro-controller Architecture (`Raspberry Pi RP2040/RP235x`) --->
29 | * Processor model (`rp2040`) --->
30 | * Bootloader offset (`No bootloader`) --->
31 | * Flash chip (`GENERIC_03H with CLKDIV 4`) --->
32 | * 如果使用 USB 与树莓派通信
33 | * Communication Interface (`USBSERIAL`) --->
34 | * 如果使用 UART0 与树莓派通信
35 | * Communication Interface (`UART0 on GPIO0/GPIO1`) --->
36 |
37 | 
38 | 3. 配置选择完成后, 输入 `q` 退出配置界面,当询问是否保存配置是选择 "Yes" .
39 | 4. 输入 `make` 命令开始编译固件
40 | 5. 当 `make` 命令执行完成后,会在树莓派的`home/pi/kliiper/out`的文件夹中生成我们所需要的`klipper.uf2`固件。你可以在CMD命令行终端中通过`pscp`命令把`klipper.uf2`固件复制到与树莓派在同一个局域网下的电脑上。例如 `pscp -C pi@192.168.0.101:/home/pi/klipper/out/klipper.uf2 c:\klipper.uf2`(命令行会提示 `The server's host key is not cached` 并且询问 `Store key in cache?((y/n)`, 输入 `y` 保存 host key,然后输入树莓派默认的密码:`raspberry`)
41 |
42 | ## 更新固件
43 | 1. 你可以使用 [编译固件 2.5](#编译固件) 中的方法或者使用 `cyberduck`、 `winscp` 工具软件从树莓派中将 `klipper.uf2` 文件复制到电脑上
44 | 2. 将`Boot`脚插上跳帽,并且单击`Reset`按钮进入烧录固件模式(注意: 如果你想使用 USB 给主板供电,需要在`USB Power`脚上也插上跳帽,当有外部的 12V / 24V 供电时,最好拔掉`USB Power`的跳帽)
45 | 
46 | 3. 通过 USB-C 把主板连接到电脑上,然后电脑会识别出一个名为`RPI-PR2`的U盘设备,把我们提供的`klipper-USB.uf2`、 `klipper-UART0.uf2`或者自行编译的 `klipper.uf2`固件复制到此U盘中,然后主板会自动重启并更新固件,当电脑重新设别出U盘设备时,意味着固件更新完成,拔掉`Boot`上的跳帽,并且单机`Reset`按钮进入正常工作模式
47 | 
48 | 4. 你可以输入 `ls /dev/serial/by-id` 查询主板的串口ID来确认固件是否烧录成功,如果烧录成功了会返回一个klipper的设备ID,如下图所示:
49 |
50 | 
51 |
52 | (注意: 此步骤仅适用于USB通信的工作方式,如果使用USART通信则没有这种ID)
53 |
54 | ## 配置打印机的参数
55 | ### 基础配置
56 | 1. 参考 [klipper官方的安装说明](https://www.klipper3d.org/Installation.html) to `Configuring OctoPrint to use Klipper`
57 | 2. 参考 [klipper官方的安装说明](https://www.klipper3d.org/Installation.html) to `Configuring Klipper`. 并且使用我们提供的配置文件 [SKR Pico klipper.cfg](./SKR%20Pico%20klipper.cfg) 为基础去修改 `printer.cfg`, 此文件中包含了主板几乎所有的pinout
58 | 3. 参考 [klipper官方的配置说明Config_Reference](https://www.klipper3d.org/Config_Reference.html) 去配置你想要的特性和功能
59 | 4. 如果你想通过USB与树莓派通信,运行 `ls /dev/serial/by-id/*` 命令去查询主板的设备ID号,在 `printer.cfg` 设置查询到的实际设备ID号,并且接线图请参考[这里](#使用额外的5v电源适配器给树莓派供电并且通过-usb-与-skr-pico-v10-通信)
60 | ```
61 | [mcu]
62 | serial: /dev/serial/by-id/usb-Klipper_rp2040_E66094A027831922-if00
63 | ```
64 | 5. 如果你想通过UART0与树莓派通信, 你需要修改一下的文件(你可以通过SSH终端输入命令修改,也可以直接修改树莓派系统SD卡中的文件),并且接线图请参考 [这里](#使用主板的5v给树莓派供电并且通过-uart-与-skr-pico-v10-通信)
65 | * 在 `/boot/cmdline.txt` 文件中删除 `console=serial0,115200`
66 | * 在 `/boot/config.txt` 文件的末尾添加 `dtoverlay=pi3-miniuart-bt`
67 | * 修改配置文件 `printer.cfg` 的 `[mcu]` 部分为 `serial: /dev/ttyAMA0` 并且添加 `restart_method: command`
68 | ```
69 | [mcu]
70 | serial: /dev/ttyAMA0
71 | restart_method: command
72 | ```
73 |
--------------------------------------------------------------------------------
/Klipper/SKR Pico klipper.cfg:
--------------------------------------------------------------------------------
1 | [stepper_x]
2 | step_pin: gpio11
3 | dir_pin: !gpio10
4 | enable_pin: !gpio12
5 | microsteps: 16
6 | rotation_distance: 40
7 | endstop_pin: ^gpio4
8 | # endstop_pin: tmc2209_stepper_x:virtual_endstop
9 | # homing_retract_dist: 0
10 | position_endstop: 0
11 | position_max: 235
12 | homing_speed: 50
13 |
14 | [tmc2209 stepper_x]
15 | uart_pin: gpio9
16 | tx_pin: gpio8
17 | uart_address: 0
18 | run_current: 0.8
19 | hold_current: 0.6
20 | stealthchop_threshold: 999999
21 | # diag_pin: ^gpio4
22 | # driver_SGTHRS: 100
23 |
24 | [stepper_y]
25 | step_pin: gpio6
26 | dir_pin: !gpio5
27 | enable_pin: !gpio7
28 | microsteps: 16
29 | rotation_distance: 40
30 | endstop_pin: ^gpio3
31 | # endstop_pin: tmc2209_stepper_y:virtual_endstop
32 | # homing_retract_dist: 0
33 | position_endstop: 0
34 | position_max: 235
35 | homing_speed: 50
36 |
37 | [tmc2209 stepper_y]
38 | uart_pin: gpio9
39 | tx_pin: gpio8
40 | uart_address: 2
41 | run_current: 0.8
42 | hold_current: 0.6
43 | stealthchop_threshold: 999999
44 | diag_pin: ^gpio3
45 | driver_SGTHRS: 100
46 |
47 | [stepper_z]
48 | step_pin: gpio19
49 | dir_pin: gpio28
50 | enable_pin: !gpio2
51 | microsteps: 16
52 | rotation_distance: 8
53 | # endstop_pin: ^gpio25
54 | # position_endstop: 0
55 | endstop_pin: probe:z_virtual_endstop
56 | position_min: -2.0
57 | position_max: 250
58 | homing_speed: 12
59 |
60 | [tmc2209 stepper_z]
61 | uart_pin: gpio9
62 | tx_pin: gpio8
63 | uart_address: 1
64 | run_current: 0.580
65 | hold_current: 0.500
66 | stealthchop_threshold: 999999
67 |
68 | [extruder]
69 | step_pin: gpio14
70 | dir_pin: !gpio13
71 | enable_pin: !gpio15
72 | microsteps: 16
73 | rotation_distance: 33.500
74 | nozzle_diameter: 0.4
75 | filament_diameter: 1.75
76 | heater_pin: gpio23
77 | sensor_type: EPCOS 100K B57560G104F
78 | sensor_pin: gpio27
79 | control: pid
80 | pid_Kp: 22.2
81 | pid_Ki: 1.08
82 | pid_Kd: 114
83 | min_temp: 0
84 | max_temp: 300
85 | max_extrude_cross_section:2
86 |
87 | [tmc2209 extruder]
88 | uart_pin: gpio9
89 | tx_pin: gpio8
90 | uart_address: 3
91 | run_current: 0.650
92 | hold_current: 0.500
93 | stealthchop_threshold: 999999
94 |
95 | [filament_switch_sensor runout_sensor]
96 | switch_pin: ^gpio16
97 | pause_on_runout: True
98 |
99 | # [filament_motion_sensor smart_sensor]
100 | # switch_pin: ^gpio16
101 | # detection_length: 2.5
102 |
103 | [heater_bed]
104 | heater_pin: gpio21
105 | sensor_type: EPCOS 100K B57560G104F
106 | sensor_pin: gpio26
107 | control: pid
108 | pid_Kp: 54.027
109 | pid_Ki: 0.770
110 | pid_Kd: 948.182
111 | min_temp: 0
112 | max_temp: 130
113 |
114 | [fan]
115 | pin: gpio17
116 |
117 | [heater_fan hotend_fan]
118 | pin: gpio18
119 | heater: extruder
120 | heater_temp: 50.0
121 |
122 | [heater_fan controller_fan]
123 | pin: gpio20
124 | heater: heater_bed
125 | heater_temp: 45.0
126 |
127 | [mcu]
128 | # serial: /dev/serial/by-id/usb-Klipper_rp2040_E66094A027854422-if00
129 | serial: /dev/ttyAMA0
130 | restart_method: command
131 |
132 | [printer]
133 | kinematics: cartesian
134 | max_velocity: 500
135 | max_accel: 3000
136 | max_z_velocity: 25
137 | max_z_accel: 30
138 |
139 | #[bltouch]
140 | #sensor_pin: gpio22
141 | #control_pin: gpio29
142 |
143 | [neopixel board_rgb]
144 | pin: gpio24
145 | chain_count: 1
146 | color_order: GRB
147 | initial_RED: 0.3
148 | initial_GREEN: 0.3
149 | initial_BLUE: 0.3
150 |
--------------------------------------------------------------------------------
/Klipper/klipper-UART0.uf2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/klipper-UART0.uf2
--------------------------------------------------------------------------------
/Klipper/klipper-USB.uf2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/bigtreetech/SKR-Pico/3fa005258baeb2ce4d6e629921c4474612d13d29/Klipper/klipper-USB.uf2
--------------------------------------------------------------------------------