# Support for new Creality boards 4.2.2 with GD32F303

**URL:** https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016
**Category:** General Discussion
**Created:** [May 29, 2022, 8:54pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016 "2022-05-29T20:54:03Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![sleeper](https://avatars.discourse-cdn.com/v4/letter/s/dfb087/32.png) [@sleeper](https://klipper.discourse.group/u/sleeper)
#### Post date: [January 7, 2023, 10:08pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/22 "2023-01-07T22:08:25Z")

</div>

This worked on my machines (2\*ender3 with the GD32 chip). Thank you so much for this!

---

<div class="post-metadata">

### Author: ![Arketype](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@Arketype](https://klipper.discourse.group/u/Arketype)
#### Post date: [January 7, 2023, 10:39pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/23 "2023-01-07T22:39:28Z")

</div>

Glad I was able to help!

---

<div class="post-metadata">

### Author: ![Pd1999](https://avatars.discourse-cdn.com/v4/letter/p/bb73d2/32.png) [@Pd1999](https://klipper.discourse.group/u/Pd1999)
#### Post date: [January 19, 2023, 12:37am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/24 "2023-01-19T00:37:18Z")

</div>

Im having this exact issue. Come to find out my 3v2 also has the GD32F303 chip. Im kinda annoyed with it at the moment. Did you get it figured out?

---

<div class="post-metadata">

### Author: ![Pd1999](https://avatars.discourse-cdn.com/v4/letter/p/bb73d2/32.png) [@Pd1999](https://klipper.discourse.group/u/Pd1999)
#### Post date: [January 19, 2023, 2:38am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/25 "2023-01-19T02:38:53Z")

</div>

I was just told theres some with a GD32f303 and some with gd2… chips was yours the f303? Im about to give it a shot haha

---

<div class="post-metadata">

### Author: ![Arketype](https://avatars.discourse-cdn.com/v4/letter/a/eb9ed0/32.png) [@Arketype](https://klipper.discourse.group/u/Arketype)
#### Post date: [January 19, 2023, 12:04pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/26 "2023-01-19T12:04:44Z")

</div>

Mine was GD32F303.  
I had to try different variations on the USB pins in menuconfig. I think the original STM32 board used custom pins for the USB… But my board had a dedicated USB chip, so I had to change that setting.

I theorize that with the chip shortages, there may be multiple variations of these boards floating around.

Good Luck

---

<div class="post-metadata">

### Author: ![Fnor](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@Fnor](https://klipper.discourse.group/u/Fnor)
#### Post date: [January 22, 2023, 2:00am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/27 "2023-01-22T02:00:08Z")

</div>

I also seem to have one of the newer boards with a dedicated USB controller. I rolled a firmware with disabled SWD and USB connection and the light turns on and the system attaches a serial device. However, the connection times out. I tried 115200 and 250000 baudrates in the cfg and neither worked. I am extremely confused about what is preventing the printer and the controller from talking.

> **[Build file /home/pi/klipper/klippy/../out/klipper.dict(7501): Sat Jan 21...](https://pastebin.com/y6X2Gpsi)**
>
> Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.

I get an explicit “timeout on connect” error when the sd card is in the printer when I load mainsail, which I don’t think it’s supposed to be regardless. Any help is appreciated.

---

<div class="post-metadata">

### Author: ![fklco](https://avatars.discourse-cdn.com/v4/letter/f/e47774/32.png) [@fklco](https://klipper.discourse.group/u/fklco)
#### Post date: [January 24, 2023, 6:27pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/28 "2023-01-24T18:27:59Z")

</div>

Works for me. Ender 3 Pro with CRTouch board V4.2.2 chip GD32F303 RET6  
Is simple, just follow this:

This file contains pin mappings for the stock 2020 Creality Ender 3

# Pro with the 32-bit Creality 4.2.2 board. To use this config, during

# “make menuconfig” select the STM32F103 with a “28KiB bootloader” and

# serial (on USART1 PA10/PA9) communication.

# It should be noted that newer variations of this printer shipping in

# 2022 may have GD32F103 chips installed and not STM32F103. You may

# have to inspect the mainboard to ascertain which one you have. If it

# is the GD32F103 then please select Disable SWD at startup in the

# “make menuconfig” along with the same settings for STM32F103.

so

1. ssh [pi@192.168.0.142](mailto:pi@192.168.0.142) # your RPI IP
2. cd ~/klipper/
3. make menuconfig
4. 

 ![Captură de ecran la 2023-01-24 20-10-47](https://global.discourse-cdn.com/free1/uploads/klipper/original/2X/0/010afbacb530cd2d8115a46d9c0b2a8974b6c93c.png)  
5. make  
6. On computer open FileZilla and connect to RPI at your IP address user pi/ your passwors/ port 22.  
7. Browse on RPI /home/pi/klipper/out/klipper.bin and copy to sd card.  
8. run “ls /dev/serial/by-id/\*” and result have to be similar “/dev/serial/by-id/usb-1a86\_USB\_Serial-if00-port0” this have to be pasted in printer.cfg at [mcu] section.  
9. If receive a error about mcu not rady or something like this, then delete the space betwin : and / (serial:/dev/serial/by-id/usb-1a86\_USB\_Serial-if00-port0), strange but for me works.  
10. for inspiration hire is my cfg file.

# This file contains pin mappings for the stock 2020 Creality Ender 3

# Pro with the 32-bit Creality 4.2.2 board. To use this config, during

# “make menuconfig” select the STM32F103 with a “28KiB bootloader” and

# serial (on USART1 PA10/PA9) communication.

# It should be noted that newer variations of this printer shipping in

# 2022 may have GD32F103 chips installed and not STM32F103. You may

# have to inspect the mainboard to ascertain which one you have. If it

# is the GD32F103 then please select Disable SWD at startup in the

# “make menuconfig” along with the same settings for STM32F103.

# 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: probe:z\_virtual\_endstop

# position\_endstop: 0.0

position\_max: 200

[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

[safe\_z\_home]  
home\_xy\_position: 117, 117 # Change coordinates to the center of your print bed  
speed: 50  
z\_hop: 10 # Move up 10mm  
z\_hop\_speed: 5

[printer]  
kinematics: cartesian  
max\_velocity: 300  
max\_accel: 3000  
max\_z\_velocity: 5  
max\_z\_accel: 100

[bltouch]  
sensor\_pin: ^PB1  
control\_pin: PB0  
x\_offset: -45.5  
y\_offset: -10  
z\_offset: 0

[bed\_mesh]  
speed: 120  
horizontal\_move\_z: 5  
mesh\_min: 5, 5  
mesh\_max: 200, 200  
probe\_count: 5,5  
algorithm: bicubic  
fade\_start: 1  
fade\_end: 10  
fade\_target: 0

[display]  
lcd\_type: st7920  
cs\_pin: PB12  
sclk\_pin: PB13  
sid\_pin: PB15  
encoder\_pins: ^PB14, ^PB10  
click\_pin: ^!PB2

[screws\_tilt\_adjust]  
screw1\_name: Middle  
screw1: 155,122.5  
screw2: 70.5,37.5  
screw2\_name: front left screw  
screw3: 235,37.5  
screw3\_name: front right screw  
screw4: 235,207.5  
screw4\_name: rear right screw  
screw5: 70.5,207.5  
screw5\_name: rear left screw  
horizontal\_move\_z: 10  
speed: 50  
screw\_thread: CW-M4

---

<div class="post-metadata">

### Author: ![Fnor](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@Fnor](https://klipper.discourse.group/u/Fnor)
#### Post date: [January 26, 2023, 4:49pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/29 "2023-01-26T16:49:43Z")

</div>

I got a new USB cable and the error has changed. I’m using the firmware that @Arketype prepared as we seem to have the same board. This is extremely confusing because the firmware is definitely loaded and the pi definitely detects the printer board but for whatever reason they refuse to talk to each other.

Tail of the klipper log: [Build file /home/pi/klipper/klippy/../.config(3105): Wed Jan 25 12:24:58 2023= - Pastebin.com](https://pastebin.com/14uniE9W)

Edit:

I got a brand-new monoprice USB cable today and tried that. It still didn’t work, but I at least got more descriptive errors: [mcu 'mcu': Starting serial connectmcu 'mcu': Unable to open serial port: [Errn - Pastebin.com](https://pastebin.com/6UQmt5hB)

Edit 2:

The new error was because the serial device ID/path changed. I changed it to the new value and it went back to mostly silent timeouts. I think I will try to reinstall mainsail on the pi, I’m running out of reasons to blame it on the printer/firmware.

Edit 3:

Reinstalling mainsail did not work. Still see the device, but no connection.

---

<div class="post-metadata">

### Author: ![d00vy](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@d00vy](https://klipper.discourse.group/u/d00vy)
#### Post date: [January 27, 2023, 2:57am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/30 "2023-01-27T02:57:32Z")

</div>

Try building it again but changing `CONFIG_STM32_SERIAL_USART3=y` to `CONFIG_STM32_USB_PA11_PA12=y`

I can’t be certain because I was to the point of trial and error and _may_ have changed the makeconfig before I realized the current build had worked, but it’s worth a shot. I couldn’t get anything else to work, including Arketype’s build. I also had to use `/dev/serial/by-id` instead of `by-path`

The bin attached is the one that worked - I just can’t be certain about the current makeconfig  
Also included my `printer.cfg` in case anything in it is useful.

[klipper.zip](https://klipper.discourse.group/uploads/short-url/wL48FWWqD48Bjm2wqebaEFLc8R6.zip) (22.3 KB)

---

<div class="post-metadata">

### Author: ![Fnor](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@Fnor](https://klipper.discourse.group/u/Fnor)
#### Post date: [January 27, 2023, 5:14pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/31 "2023-01-27T17:14:24Z")

</div>

That did it! I’m still using by-path, but that got the job done and they’re talking, at least.

Thank you so much!

---

<div class="post-metadata">

### Author: ![d00vy](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@d00vy](https://klipper.discourse.group/u/d00vy)
#### Post date: [January 27, 2023, 7:04pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/32 "2023-01-27T19:04:59Z")

</div>

Nice! That’s a good feeling isn’t it?

Just to confirm: did you rebuild with the different serial connection, or did you use my bin?

---

<div class="post-metadata">

### Author: ![Fnor](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@Fnor](https://klipper.discourse.group/u/Fnor)
#### Post date: [January 30, 2023, 2:05pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/33 "2023-01-30T14:05:59Z")

</div>

I used your bin, thank you very much.

Loving klipper. I finally have the precision to print tabletop minis at .08, and can do so quickly.

Now I just need to figure out how to reliably print at that fidelity with the pen colorizer plug-in.

---

<div class="post-metadata">

### Author: ![BeardRobot](https://avatars.discourse-cdn.com/v4/letter/b/35a633/32.png) [@BeardRobot](https://klipper.discourse.group/u/BeardRobot)
#### Post date: [January 31, 2023, 4:21am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/34 "2023-01-31T04:21:18Z")

</div>

Thanks so much for uploading the firmware and config files! I got Klipper working on my Ender - however, I’m trying to set up multiple printers, (currently just an Artillery Genius and an Ender 3 Pro) and the Ender 3 won’t connect to Mainsail. I’ve tried using /serial/by-path/ , since both printers show the same usb ID. Now, if it’s just the Ender 3 connected, and I use the /serial/by-id/, it seems to work, but I need the printers to use a different serial connection in order to run them off the same laptop. Does by-path not work yet for this board?

---

<div class="post-metadata">

### Author: ![BeardRobot](https://avatars.discourse-cdn.com/v4/letter/b/35a633/32.png) [@BeardRobot](https://klipper.discourse.group/u/BeardRobot)
#### Post date: [January 31, 2023, 4:22am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/35 "2023-01-31T04:22:04Z")

</div>

I have the same problem.

---

<div class="post-metadata">

### Author: ![Sineos](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/sineos/32/18_2.png) [@Sineos](https://klipper.discourse.group/u/Sineos)
#### Post date: [January 31, 2023, 6:25am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/36 "2023-01-31T06:25:45Z")

</div>

> [@BeardRobot](#):
>
> I’ve tried using /serial/by-path/ , since both printers show the same usb ID. Now, if it’s just the Ender 3 connected, and I use the /serial/by-id/, it seems to work, but I need the printers to use a different serial connection in order to run them off the same laptop. Does by-path not work yet for this board?

See [Frequently Asked Questions - Klipper documentation](https://www.klipper3d.org/FAQ.html?h=path#wheres-my-serial-port) last paragraph `by-path`. It is the same as `by-id`, just a different representation on Linux OS level. If it does not work the reason may be somewhere else.

---

<div class="post-metadata">

### Author: ![d00vy](https://avatars.discourse-cdn.com/v4/letter/d/e480ec/32.png) [@d00vy](https://klipper.discourse.group/u/d00vy)
#### Post date: [January 31, 2023, 7:13pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/37 "2023-01-31T19:13:42Z")

</div>

You’ll see I have both `/dev/serial/by-id/` and `/dev/serial/by-path/` in my printer.cfg, and I can now swap between them without any problem. So long as you’re copying the full path correctly, both `by-id` and `by-path` should work.

I haven’t done this myself, but I believe if you’re trying to direct multiple printers from a single host, you’ll want a Moonraker instance for each printer. That will give you a different port number when adding the printers to Mainsail/Fluidd.

I used KIAUH for my install, which has an option for adding additional Moonraker instances.

---

<div class="post-metadata">

### Author: ![theozinx](https://avatars.discourse-cdn.com/v4/letter/t/977dab/32.png) [@theozinx](https://klipper.discourse.group/u/theozinx)
#### Post date: [February 2, 2023, 1:43am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/38 "2023-02-02T01:43:13Z")

</div>

I have tried probably every single combination of settings and couln’t get it to work on my Ender 3 V2 with the 4.2.2 with GD32F303. Every time I try to flash the firmware the screen gets stuck on the Creality logo, which I’ve seen people saying it is normal, is it? And when I try to use status on the terminal I get “Printer is not ready”. I’ve tried everything I read here on this thread, if someone could give me some insight I would really appreciate it. I’m new to 3D printing.

---

<div class="post-metadata">

### Author: ![Fnor](https://avatars.discourse-cdn.com/v4/letter/f/49beb7/32.png) [@Fnor](https://klipper.discourse.group/u/Fnor)
#### Post date: [February 6, 2023, 4:20pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/39 "2023-02-06T16:20:19Z")

</div>

Check your board and see if you have one of the boards with a dedicated USB controller. If so, then you should just use d00vy’s firmware, that’s what worked for me in the end. Otherwise, you need to just keep trying different combinations until – and this I think is the part people miss – upon reboot the pi has devices registered to /dev/serial/by-id/. Always reboot the pi between firmware changes, as I don’t think the pi recognizes hotplugged serial devices.

---

<div class="post-metadata">

### Author: ![kaktussalat](https://avatars.discourse-cdn.com/v4/letter/k/b38774/32.png) [@kaktussalat](https://klipper.discourse.group/u/kaktussalat)
#### Post date: [February 12, 2023, 12:37pm UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/40 "2023-02-12T12:37:56Z")

</div>

Works for me with the d00vy’s firmware. HW: Ender 3 pro with 4.2.2 board  
Had 2 broken usb cables!  
So be carful 😉

---

<div class="post-metadata">

### Author: ![draand28](https://avatars.discourse-cdn.com/v4/letter/d/aca169/32.png) [@draand28](https://klipper.discourse.group/u/draand28)
#### Post date: [February 16, 2023, 1:11am UTC](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016/41 "2023-02-16T01:11:56Z")

</div>

Managed to fix it too, after weeks.  
The fix wasn’t another firmware or cable. The problem was with my Raspberry Pi zero 2. After multiple tries with raspios, ubuntu and octopi, I installed with the provided tool from Raspberry’s website, MainsailOS with Moonraker and it worked out of the box!!!

[Previous page](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016.md?page=1)

[Next page](https://klipper.discourse.group/t/support-for-new-creality-boards-4-2-2-with-gd32f303/3016.md?page=3)
