├── 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 | ![](./Images/rp2040_id.png) 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 | ![](./Images/rp2040_id.png) 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 --------------------------------------------------------------------------------