Another MCU not connecting post

Basic Information:

Printer Model: ender 3 V3 se
MCU / Printerboard: original ender MCU
Host / SBC creality sonic pad running Debian
klippy.log I don’t have a log from Klippy but I do have one from moonracker:

moonraker.log (187.8 KB)

Fill out above information and in all cases attach your klippy.log file (use zip to compress it, if too big). Pasting your printer.cfg is not needed
Be sure to check our “Knowledge Base” Category first. Most relevant items, e.g. error messages, are covered there

Describe your issue:

Basically the same as the post vendor this one but with one caveat.

I was never able to update the firmware by compiling it myself.

So I used the firmware what the original sonic pad created and charged things in the print.cfg to get it running.

Now I updated and I’m getting the following message

Klipper warning
MCU ‘mcu’ has deprecated code (it is
missing feature
‘STEPPER_STEP_BOTH_EDGE’
Recompiling and flashing is recommended
(MCU version ‘1.3.0.40-16-g5c8bef4fde’,
host version 'v0.13.0-562-g7a4472649")

Now my issue is that every time I try to compile it just won’t connect.

I’m at a loss as I don’t want to run the original sonic pad software because it is quite old.

Any guidance would be take appreciated

Here is the Klippy.log

klippy.log (3.6 MB)

I can’t think of anything else. I tried to flash in different ways. I tried different cards. nothing.

For what is worth my board and processor have these codes: the motherboard has this code cr4ns200320c13, the processor gd32f303 ret6 auhr871 az2223 arm

I hope someone with a bit of a better braincan help me out. As it was sort of working until the update

Loaded MCU 'mcu' 116 commands (1.3.0.40-16-g5c8bef4fde / gcc: (15:9-2019-q4-0ubuntu1) 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] binutils: (2.34-4ubuntu1+13ubuntu1) 2.34)
MCU 'mcu' config: ADC_MAX=4095
CLOCK_FREQ=120000000
INITIAL_PINS=PC7,PB0
MCU=gd32f303xe
RECEIVE_WINDOW=192
> RESERVE_PINS_serial=PA2,PA3
SERIAL_BAUD=230400
STATS_SUMSQ_BASE=256
STEPPER_BOTH_EDGE=1

As far as I understand, it is a clone of STM32F103.
Probably, your config should look like so:

[*] 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 (8KiB bootloader)  --->
    Clock Reference (8 MHz crystal)  --->
    Communication interface (Serial (on USART2 PA3/PA2))  --->
(250000) Baud rate for serial port (NEW)
[*] Optimize stepper code for 'step on both edges'
()  GPIO pins to set at micro-controller startup

Where you have configured it like so:

[*] Enable extra low-level configuration options
    Micro-controller Architecture (STMicroelectronics STM32)  --->
    Processor model (STM32F103)  --->
[ ] Only 10KiB of RAM (for rare stm32f103x6 variant)
[ ] Disable SWD at startup (for GigaDevice stm32f103 clones)
    Bootloader offset (28KiB bootloader)  --->
    Clock Reference (8 MHz crystal)  --->
    Communication interface (Serial (on USART1 PA10/PA9))  --->
(230400) Baud rate for serial port
[*] Optimize stepper code for 'step on both edges'
()  GPIO pins to set at micro-controller startup

So, I guess, at least the UART pins are wrong here.

Hope that helps,
-Timofey

As far as I understand the: Ender-3 V3 SE - my way to klipper - Schnoogs' landing place
and GitHub - bootuz-dinamon/ender3-v3-se-full-klipper: Configuration files for Klipper for Ender3 V3 SE.

for connection via type-c connector (USART1 PA10/PA9).

So, PA10/PA9 is used for USB connection with: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0

1 Like

Hello.

Thank you very much for your guidance.

I will give it a go tomorrow. I pulled an all nighter trying to get it working.

I would love to know how could I check these details in the original creality firmware to see how they get it working as I sort of used part of the printer.cfg to get it to communicate with the pad.

I would do it now but if I start and it does not work then it would be two nights without sleeping. I only managed to sleep on hour this afternoon after all that.

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.


:magnifying_glass_tilted_right: :one: 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:

  • STM32F401 → much larger

  • 8KiB bootloader → layout would differ

  • Native USB → additional USB stack present

So this strongly supports:

:white_check_mark: STM32F103
:white_check_mark: 28KiB bootloader offset


:magnifying_glass_tilted_right: :two: The Filename Is Actually Extremely Telling

The file name:

3V3SE_PA23_2304_28K.bin

This is not random.

It almost certainly encodes:

  • PA23 → PA2 / PA3 (USART2)

  • 2304 → 230400 baud

  • 28K → 28KiB bootloader

That matches exactly what we suspected.

And more importantly:

This firmware connects on your machine.

That means it matches your board wiring.


:magnifying_glass_tilted_right: :three: 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.


:brain: 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 :cross_mark: Not used
Stepper both-edge :cross_mark: Missing (hence deprecated warning)

This explains everything.


:bullseye: 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.


:hammer_and_wrench: 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.


:fire: Why This Is Now Definitive

We are no longer:

  • Guessing from a guide

  • Debating USART1 vs USART2

  • Debating 8K vs 28K

We now have a working firmware binary that encodes the answer.

And that answer is:

USART2 (PA2/PA3) + 230400 baud + 28KiB bootloader


:white_check_mark: 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:

:joy::joy::joy:

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:

  • :white_check_mark: STM32F103

  • :white_check_mark: 28KiB bootloader

  • :white_check_mark: USART2 (PA2/PA3)

  • :white_check_mark: 230400 baud

  • :white_check_mark: Stepper both-edge enabled

That’s the real DNA of your board.

Now go:

  1. Confirm no warnings in console

  2. Run FIRMWARE_RESTART

  3. Print a test cube

  4. Sleep like a king

If anything else even breathes wrong, we now know your board inside out.

Victory unlocked. :trophy:

Thank you so much for helping me and thanks fuck for Creality naming the firmware something that could be made sense of!!!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.