<p>It seems the pinout scheme changed on the Creality board between the versions <code>V4.2.2</code> and <code>4.2.8</code>. For example, <code>PB9</code> &amp; <code>PC2</code> were inverted between <code>step_pin</code> and <code>dir_pin</code>.</p>
<p>Using the following Klipper config (found <a href="https://github.com/KevinOConnor/klipper/pull/3335/files" rel="nofollow noreferrer">here</a>) allows the motors to do their job again.</p>
<pre><code>[stepper_x]
step_pin: PB9
dir_pin: PC2
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB7
dir_pin: PB8
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB5
dir_pin: !PB6
enable_pin: !PC3
step_distance: .0025
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
step_distance: 0.010752
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2 
<span class="math-container">```</span>
</code></pre>

CC BY-SA 4.0
2021-04-12T13:04:28.900Z
2021-04-12T15:03:43.953Z
2021-04-12T15:03:43.953Z
Mathieu VIALES
<p>I replaced the fans of my ender 3v2 with Noctuas &amp; Buck converters. During the replacement, I made a mistake and burnt the motherboard (shorted one of the fans). I replaced the motherboard, finished the wiring. The new motherboard is the <a href="https://www.amazon.co.uk/gp/product/B08LVWBZBY/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&amp;psc=1" rel="nofollow noreferrer">Creality Ender 3 V2 <code>V4.2.7</code> Silent Motherboard 32 Bit Mainboard with TMC 2225 Drivers</a> from amazon. The old board with the exact same, but in version <code>4.2.2</code></p>
<p>The printer works and auto-home runs normally with marlin (all options by default). Name of the binary: <code>Ender-3 V2_32bit_4.2.7_BLTouch_Marlin_2.0.1_V1.1.1_TMC2225</code></p>
<p>Klipper version: <code>FIRMWARE_VERSION:v0.9.1-160-g8a6619d1 FIRMWARE_NAME:Klipper</code>
When the printer is running Klipper, controlled by an Octoprint, the steppers dont spin. I can hear the gentle &quot;thud&quot; of the motors being energized when I send a &quot;auto-home&quot; command, they rotate for like a baby step (feels like a single vibration more than a spin, like they're &quot;trying&quot; but don't have the power to actually move) and stay stuck there until the auto-home times-out.</p>
<p>I tried running <code>STEPPER_BUZZ STEPPER=stepper_x</code> and the same for the Y axis, but it doesn't look like anything is happening.</p>
<p>I am more or less sure this is a software problem, since the printer works just fine with Marlin but I never had this problem with Klipper before I replaced the motherboard.</p>
<p>I have put aside my custom config and am using the &quot;default&quot; <code>printer.cfg</code> config that I found <a href="https://raw.githubusercontent.com/KevinOConnor/klipper/master/config/printer-creality-ender3-v2-2020.cfg" rel="nofollow noreferrer">here</a> (copy/pasted below)</p>
<pre><code># This file contains pin mappings for the stock 2020 Creality Ender 3
# V2. To use this config, during &quot;make menuconfig&quot; select the
# STM32F103 with a &quot;28KiB bootloader&quot; and serial (on USART1 PA10/PA9)
# communication.

# If you prefer a direct serial connection, in &quot;make menuconfig&quot;
# select &quot;Enable extra low-level configuration options&quot; and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying &quot;out/klipper.bin&quot; to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in &quot;.bin&quot; and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.

[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
rotation_distance: 34.406
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100
</code></pre>
<p>What could be causing the steppers to be stuck with Klipper, but work with Marlin ?</p>
<p>What I tried, with no success (as advised by the internet):</p>
<ul>
<li>Untighten the belts</li>
<li>Remove the <code>!</code> from <code>enable_pin: !PC3</code> in the config</li>
<li>Re-build &amp; flash the firmware instead of reusing the old bin I had kept</li>
</ul>

CC BY-SA 4.0
2021-04-12T23:38:00.910Z
Doublecheck your microsteps to make sure they are the same between software. 200 steps != 200 steps w/ microsteps @ 4 != 200 steps w/ microsteps @ 16.
computercarguy
<creality-ender-3><firmware><klipper>
Steppers stuck with Klipper but work with Marlin
Mathieu VIALES
# Steppers stuck with Klipper but work with Marlin

(Asked by: username_0 on 2021-04-12)

I replaced the fans of my ender 3v2 with Noctuas & Buck converters. During the replacement, I made a mistake and burnt the motherboard (shorted one of the fans). I replaced the motherboard, finished the wiring. The new motherboard is the [Creality Ender 3 V2 `V4.2.7` Silent Motherboard 32 Bit Mainboard with TMC 2225 Drivers](https://www.amazon.co.uk/gp/product/B08LVWBZBY/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1) from amazon. The old board with the exact same, but in version `4.2.2`

The printer works and auto-home runs normally with marlin (all options by default). Name of the binary: `Ender-3 V2_32bit_4.2.7_BLTouch_Marlin_2.0.1_V1.1.1_TMC2225`

Klipper version: `FIRMWARE_VERSION:v0.9.1-160-g8a6619d1 FIRMWARE_NAME:Klipper`
When the printer is running Klipper, controlled by an Octoprint, the steppers dont spin. I can hear the gentle "thud" of the motors being energized when I send a "auto-home" command, they rotate for like a baby step (feels like a single vibration more than a spin, like they're "trying" but don't have the power to actually move) and stay stuck there until the auto-home times-out.

I tried running `STEPPER_BUZZ STEPPER=stepper_x` and the same for the Y axis, but it doesn't look like anything is happening.

I am more or less sure this is a software problem, since the printer works just fine with Marlin but I never had this problem with Klipper before I replaced the motherboard.

I have put aside my custom config and am using the "default" `printer.cfg` config that I found [here](https://raw.githubusercontent.com/KevinOConnor/klipper/master/config/printer-creality-ender3-v2-2020.cfg) (copy/pasted below)

```
# This file contains pin mappings for the stock 2020 Creality Ender 3
# V2. To use this config, during "make menuconfig" select the
# STM32F103 with a "28KiB bootloader" and serial (on USART1 PA10/PA9)
# communication.

# If you prefer a direct serial connection, in "make menuconfig"
# select "Enable extra low-level configuration options" and select
# serial (on USART3 PB11/PB10), which is broken out on the 10 pin IDC
# cable used for the LCD module as follows:
# 3: Tx, 4: Rx, 9: GND, 10: VCC

# Flash this firmware by copying "out/klipper.bin" to a SD card and
# turning on the printer with the card inserted. The firmware
# filename must end in ".bin" and must not match the last filename
# that was flashed.

# See docs/Config_Reference.md for a description of parameters.

[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB8
dir_pin: PB7
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB6
dir_pin: !PB5
enable_pin: !PC3
microsteps: 16
rotation_distance: 8
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB4
dir_pin: PB3
enable_pin: !PC3
microsteps: 16
rotation_distance: 34.406
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
restart_method: command

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

```

What could be causing the steppers to be stuck with Klipper, but work with Marlin ?

What I tried, with no success (as advised by the internet):

* Untighten the belts
* Remove the `!` from `enable_pin: !PC3` in the config
* Re-build & flash the firmware instead of reusing the old bin I had kept

**Tags:** creality-ender-3, firmware, klipper

> **Comments:**
> **username_1**: Doublecheck your microsteps to make sure they are the same between software. 200 steps != 200 steps w/ microsteps @ 4 != 200 steps w/ microsteps @ 16.  

---

## 1 answers

### Answer by username_0 on 2021-04-12. Score: 5

It seems the pinout scheme changed on the Creality board between the versions `V4.2.2` and `4.2.8`. For example, `PB9` & `PC2` were inverted between `step_pin` and `dir_pin`.

Using the following Klipper config (found [here](https://github.com/KevinOConnor/klipper/pull/3335/files)) allows the motors to do their job again.

```
[stepper_x]
step_pin: PB9
dir_pin: PC2
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA5
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_y]
step_pin: PB7
dir_pin: PB8
enable_pin: !PC3
step_distance: .0125
endstop_pin: ^PA6
position_endstop: 0
position_max: 235
homing_speed: 50

[stepper_z]
step_pin: PB5
dir_pin: !PB6
enable_pin: !PC3
step_distance: .0025
endstop_pin: ^PA7
position_endstop: 0.0
position_max: 250

[extruder]
max_extrude_only_distance: 100.0
step_pin: PB3
dir_pin: PB4
enable_pin: !PC3
step_distance: 0.010752
nozzle_diameter: 0.400
filament_diameter: 1.750
heater_pin: PA1
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC5
control: pid
# tuned for stock hardware with 200 degree Celsius target
pid_Kp: 21.527
pid_Ki: 1.063
pid_Kd: 108.982
min_temp: 0
max_temp: 250

[heater_bed]
heater_pin: PA2
sensor_type: EPCOS 100K B57560G104F
sensor_pin: PC4
control: pid
# tuned for stock hardware with 50 degree Celsius target
pid_Kp: 54.027
pid_Ki: 0.770
pid_Kd: 948.182
min_temp: 0
max_temp: 130

[fan]
pin: PA0

[mcu]
serial: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

[printer]
kinematics: cartesian
max_velocity: 300
max_accel: 3000
max_z_velocity: 5
max_z_accel: 100

[display]
lcd_type: st7920
cs_pin: PB12
sclk_pin: PB13
sid_pin: PB15
encoder_pins: ^PB14, ^PB10
click_pin: ^!PB2 
```

```


---

