I got there in the end with your help and some chatGPT for troubleshooting.
The correct parameters for the C13 version of the motherboard are:
[*] Enable extra low-level configuration options
Micro-controller Architecture (STMicroelectronics STM32) --->
Processor model (STM32F103) --->
[ ] Only 10KiB of RAM (for rare stm32f103x6 variant) (NEW)
[*] Disable SWD at startup (for GigaDevice stm32f103 clones)
Bootloader offset (28KiB bootloader) --->
Clock Reference (8 MHz crystal) --->
Communication interface (Serial (on USART2 PA3/PA2)) --->
(230400) Baud rate for serial port (NEW)
[*] Optimize stepper code for 'step on both edges'
() GPIO pins to set at micro-controller startup
Your analysis was very helpful and comparing what I was doing with other guides and letting chatGPT find inconsistencies was the key.
It is important to notice that the Sonic Pad connects to the printer using the Creality USB to Serial cables, most guides are written for SBC like the raspberry pi or similar and they can communicate over USB A to C or OTG. I’m not sure which or if both but it has to be a data cable.
So after I uploaded the originally working firmware from the sonic pad into ChatGPT I got this answer:
this is the working printer firmware. Analise it to come up with an answer about how to create a working firmware
Perfect — I’ve analyzed the firmware you uploaded:
3V3SE_PA23_2304_28K.bin
Here’s what we can conclude with high confidence.
File Size Tells Us Something Important
The firmware size is:
31,436 bytes (~30.7 KB)
That is very consistent with:
-
STM32F103 build
-
28KiB bootloader offset
-
Standard Klipper build
-
No CAN
-
No native USB
If it were:
So this strongly supports:
STM32F103
28KiB bootloader offset
The Filename Is Actually Extremely Telling
The file name:
3V3SE_PA23_2304_28K.bin
This is not random.
It almost certainly encodes:
That matches exactly what we suspected.
And more importantly:
This firmware connects on your machine.
That means it matches your board wiring.
Why We Couldn’t See Clear Text Config Strings
Modern Klipper builds:
-
Strip most config strings
-
Compress certain sections
-
Do not embed full readable config like older builds
So we cannot simply “read out” USART1 vs USART2 from ASCII.
However…
We don’t need to — because:
Your printer connects with this firmware.
And this firmware is clearly named PA23_2304_28K.
That is extremely strong evidence.
Final Conclusion About Your Board
Your Ender 3 V3 SE (your specific unit) is:
| Setting |
Value |
| MCU |
STM32F103 |
| Bootloader Offset |
28KiB |
| Communication |
Serial |
| UART |
USART2 |
| Pins |
PA2 / PA3 |
| Baud |
230400 |
| Native USB |
Not used |
| Stepper both-edge |
Missing (hence deprecated warning) |
This explains everything.
Why The Deprecated Warning Happens
Your working firmware was compiled before Klipper required:
STEPPER_STEP_BOTH_EDGE
Your host Klipper is newer.
So we simply need to rebuild the same firmware
but with modern Klipper.
Nothing else changes.
EXACT Settings You Must Use
Run:
cd ~/klipper
make clean
make menuconfig
Set:
Core
[*] Enable extra low-level configuration options
Micro-controller architecture: STMicroelectronics STM32
Processor model: STM32F103
Bootloader
Bootloader offset: 28KiB bootloader
Clock
Clock Reference: 8 MHz crystal
Communication
Communication interface:
Serial (on USART2 PA3/PA2)
Baud
230400
Stepper Optimization
[*] Optimize stepper code for 'step on both edges'
VERY IMPORTANT — this removes your warning.
Then:
make
Flash normally via SD card.
Keep your printer.cfg exactly as:
[mcu]
serial: /dev/ttyUSB0
baud: 230400
restart_method: command
Do not change it.
Why This Is Now Definitive
We are no longer:
We now have a working firmware binary that encodes the answer.
And that answer is:
USART2 (PA2/PA3) + 230400 baud + 28KiB bootloader
What Will Happen After Flashing
When done correctly:
-
Deprecated warning disappears
-
MCU version matches host version
-
Printer connects instantly
-
No change needed in printer.cfg
If you want, next I can give you a flash verification checklist so we confirm the firmware actually updates (because sometimes people think they flashed when they didn’t).
You’re very close now. This is no longer mystery territory.
I replied:
IT WORKED!!! Final settings selected when compiling were the 28k and the USART2. We had been going on with fucken 8k all this time.
And ChatGPT said:



LET’S GOOOOOOOO.
That 28K bootloader was the villain the whole time.
You were flashing perfectly built firmware… just into the wrong memory offset. The MCU was basically like:
“Cool story bro, but I’m not executing that.”
Switching from 8K → 28K means the firmware now lands exactly after Creality’s bootloader — where it actually gets executed.
And pairing it with:
That’s the real DNA of your board.
Now go:
-
Confirm no warnings in console
-
Run FIRMWARE_RESTART
-
Print a test cube
-
Sleep like a king
If anything else even breathes wrong, we now know your board inside out.
Victory unlocked. 
Thank you so much for helping me and thanks fuck for Creality naming the firmware something that could be made sense of!!!