STM32F401 unable to flash generated firmware Ender 3 S1 pro

Hi
I’m tring to install klipper on the new Ender 3 S1 PRO.
The motherboard for this new printer use an STM32F401 which seems to be unable to be flashed with an sd card, also i’ve tried to flash it from USB type C… Same…

I used also the bin file inside STM32F4_UPDATE, still not returning anything after "ls /dev/serial/by-id/*
I have checked the cable and is good.

Any ideea how i can flash the bin file generated by klipper? Or how i can use klipper with ender 3 s1 pro?

P. S. GitHub issue STM32F401 unable to flash generated firmware Ender 3 S1 pro · Issue #5454 · Klipper3d/klipper · GitHub

Thanks

I believe someone has achieved flashing this board over on the Discord in the #creality-boards channel, he used a 64kib bootloader offset if it helps any?

Thanks
James

I can post some logs now:

mcu ‘mcu’: Starting serial connect
webhooks client 1968715136: New connection
webhooks client 1968715136: Client info {‘program’: ‘Moonraker’, ‘version’: ‘v0.7.1-561-g94a11ff’}
mcu ‘mcu’: Timeout on connect
mcu ‘mcu’: Wait for identify_response
Traceback (most recent call last):
File “/home/pi/klipper/klippy/serialhdl.py”, line 69, in _get_identify_data
params = self.send_with_response(msg, ‘identify_response’)
File “/home/pi/klipper/klippy/serialhdl.py”, line 258, in send_with_response
return src.get_response([cmd], self.default_cmd_queue)
File “/home/pi/klipper/klippy/serialhdl.py”, line 316, in get_response
cmd_queue)
File “/home/pi/klipper/klippy/serialhdl.py”, line 250, in raw_send_wait_ack
self._error(“Serial connection closed”)
File “/home/pi/klipper/klippy/serialhdl.py”, line 62, in _error
raise error(self.warn_prefix + (msg % params))
error: mcu ‘mcu’: Serial connection closed

Just to add to my reply, the F401 needing a 64kib bootloader offset, this is not a standard option in the make menuconfig, so will need to be added to the kconfig file manually

cd ~/klipper
nano src/stm32/Kconfig

then under Bootloaders add || MACH_STM32F401 to the 64kib option line

Thanks
James

2 Likes

it seems to me that the main problem is the connection between connecting Klipper to STM32 via serial port!!!
did you try
ls /dev/serial/by-id/*
and check its respond

Were you able to solve the issue? I have the same error but have Ender 3 S1.

I was able to solve the issue. It was due to my mistake. At make menuconfig, I chose USB as communication protocol. It should have been Serial. And then rebuild and reflash firmware fixed the issue for me. Writing here for anyone who has similar error.