Support for new Creality boards 4.2.2 with GD32F303

Hello, I would like to ask about compatiblity with these new boards, there does not seem to be option to select STM32F303 in makeconfig and building for F103 does not seem to work (host cannot connect).

I have this board in Sovol SV01 Pro

This is how new board looks like

Is there any config that currently exists and can work?


That chip is not currently supported by Klipper. No idea if someone is working on adding support, but for now it won’t work.

Well if it isn’t supported, make one i guess:

Long story short, i wrote support for F3 to klipper, could use some help as there were registers that either did not exist in F3 series or naming was totally off. Any chance to get support for this?

How is the progress coming on this?

It works out of the box, turns out no changes were necessary.

1 Like

Hi, I am a noob in this. can you please tell me how to use this?
i have a GD 32F 303 RET6 AUH AJ2148 GigaDevice and its a ender 3 v2.

Follow the directions at the top of klipper/printer-creality-ender3-v2-2020.cfg at master · Klipper3d/klipper · GitHub . In practice, the gd32 chip works the same as the stm32f103.


Actually, I did exactly as mentioned in the config file. It didnt flash.

1 Like

Hi, I thought I would chime in with my recent experience.
I just purchased an Ender 3v2, and it took me 3 days but I finally got klipper installed.

#1 check the chip on your board to verify the GD32F chip.
in menuconfig choose the SWD option.
#2 On my particular board I had to select “USB on PA11/PA12” which is different than the instructions for the “real” STM32. It must be another slight variation of the board.
On my board there was a blue light near the USB interface that lit up when the correct USB setting was used.
#3 I had to use the " /dev/serial/by-path/*" option to get the USB recognized
#4 I ran across 3 different suggestions for the proper filename for flashing. What worked for me was the following convention “firmware-1.bin” the filename is not changed after successfully flashing like on older boards. to reflash you must choose a different filename “firmware-2.bin”. etc. I was able to verify this by reflashing marlin back to the board. after re-flashing klipper I now have the MCU recognized in the mainsail interface.
Extra tip- make sure you have agood USB cable. I had a bad one and didnt know it. Lots of time wasted there.
Hope this helps someone…

1 Like

Hey, would you mind sharing the bin file? I’m on this mission for two days with no luck, I even tried what you did but still didnt manage to bootload… (124.0 KB) (19.9 KB)

just change either file’s extension to .bin to flash Marlin or Klipper using my settings.

Hope it works for you.

Hi @Arketype .

Just tried it as well, but it doesn’t connect in Octoprint (nor does it send G codes through kllipper).

Flashed your firmware 7 (after remaning it to firmware-1.bin).
Installed Klipper and Octoprint on my Raspberry Pi Zero 2 with Rasp OS lite.
Both are running fine, but I can’t send even gcodes like “echo g28 | /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0” or “echo g28 | /tmp/printer” because it returns permissions denied, even though I chmoded both to 777.
Any ideas?

Yes, I had to use “/dev/serial/by-path/*” which is detailed in the klipper documentation under multi-MCU instructions. The “by-ID” did not work for me. I honestly don’t know the technical differences bewteen the two, I just blundered around long enough to find my way through the maze!

Please let me know if that works for you.

Unfortunately, it didn’t work this way either.
I am getting this Permission denied for both “by-path” and “by-ID”.

I tried using your firmware and also making my own firmware with menuconfig according to your guide, but the printer just isn’t detected at all in Octoprint.

If you SSH into the Pi, you can type lsusb
This will list all USB ports available, and show the name of devices attached.

If nothing shows up (just empty USb ports) you may have a bad cable. This happened to me.

Bus 001 Device 007: ID 1a86:7523 QinHeng Electronics CH340 serial converter
ls /dev/serial/by-id/*
ls /dev/serial/by-path/*

Even tried to install moonraker as well, says

Klipper reports mcu 'mcu': unable to connect once the underlying issue is corrected, use the "firmware_restart" command to reset the firmware, reload the config, and restart the host software. error configuring printer

If I’m flashing it back to stock Marlin it starts no problem (so the board isn’t dead).

I also made sure that klipper service is running well in the background.

I’m really running out of ideas as I tried different things for 8 hours already.

make sure you use the full command… copy and paste the line below.
ls /dev/serial/by-path/*

Hi, I was trying to get klipper on my ender 3 Neo and was running into similar problems, however after attempting to flash the klipper firmware you provided my lcd screen is now blank and I am unable to interact with the printer in any way. I also tried flashing it back to Marlin but the printer still has a blank screen, do you have any ideas on how to fix this? thank you

The new style screen on my Ender 3v2 is not supported. I assume you have the same problem.
I just run mine “headless” and control from a web browser.

Unfortunately there are some issues with “just” plugging in a standard 12864 screen/ controller.
If I remember correctly, it may be possible but you need to do some custom wiring for the pins.
You would need to google/ research the details on this.

IIRC this limitation was due to “non- standard” pin definitions on the board itself.

Hi friend,I bought a GD32F303 Ender3v2 3 days ago. I try 10+ config and cannot flash the firmware sucessfully.

Through this msg “GD32F303 is not a clone of STM32F303. It is stil a compatible chip of sTM32F103”

But I also try and failed.

One thing i can confirm is no trouble on my host software, because when i flash back the official firmware “/dev/serial/…” is ok while flash klipper firmware is “no such file/dir /dev/serial/…”.

I cannot find the way to trouble shooting, because I cannot find firmware error log, just “mcu: Unable to open serial port: [Errno 2] could not open port /dev/serial/” in klipper log.