Support for HDSC chips (HC32F460)

Wondering if support for this chipset can be built? The Anycubic Kobra and Kobra Max both use these chipsets but they seem to be unsupported as of this time. Thanks.

2 Likes

There was some work done a couple of months ago at Add mcu HC32f460 common to Voxelab Aquila, X2 and 1.03 mainboard by SteveGotthardt · Pull Request #5208 · Klipper3d/klipper · GitHub . I don’t know what the current state is.

-Kevin

Any Updates on this? I’ve got some projects for the Anycubic Kobra Max that the stock Firmware is holding me back on. I’ve been in contact with AnyCubic and they say they will release their branch of Marlin for it “in 2-3 months”. So I’m not holding my breath.

1 Like

Anycubic released the Marlin source code for all the Kobra line. So, please Klipper devs, implement support for the HC32F460 because the Marlin version on those printers is super old and very buggy…

I have support for HC32F460 working (since Jan 2022) for the Voxelab aquillas that use it:

further dev info: Voxelab Aquila HC32 Klipper · GitHub

I could do more if I had the mainboards for the other vendors - anyone have a leftover (some have given up and replaced them)

I have not pursued another PR since the Voxelab interest seems low, but now if Ender (Pro 2) and other more mainstream manufacturers are using HC32F460, I can start the process.

S

1 Like

So, why the main Klipper just doesn’t merge your changes? :frowning:

My original PR had a lot of library baggage and the interest (at that time) was low.
I have since lightened the library and a few Aquilla users (original and C2) have tested it.

1 Like

Which branch is the one that you recommend me to try?

1 Like

Cool! I made a quick pull request I am testing that merges the latest Klipper code into it.

1 Like

Hmmm, unfortunately no dice. The firmware compiles and flashes fine, and the “dev” shows up:

ls /dev/serial/by-id/
usb-1a86_USB_Serial-if00-port0

But the connection cannot sustain:

mcu 'mcu': Timeout on connect
mcu 'mcu': Wait for identify_response
Traceback (most recent call last):
  File "/home/pi/klipper/klippy/serialhdl.py", line 68, in _get_identify_data
    params = self.send_with_response(msg, 'identify_response')
  File "/home/pi/klipper/klippy/serialhdl.py", line 259, in send_with_response
    return src.get_response([cmd], self.default_cmd_queue)
  File "/home/pi/klipper/klippy/serialhdl.py", line 317, in get_response
    cmd_queue)
  File "/home/pi/klipper/klippy/serialhdl.py", line 251, in raw_send_wait_ack
    self._error("Serial connection closed")
  File "/home/pi/klipper/klippy/serialhdl.py", line 61, in _error
    raise error(self.warn_prefix + (msg % params))
serialhdl.error: mcu 'mcu': Serial connection closed

I tried all combinations: 32KiB and 48KiB booltloaders, forced the baud rate to 115200 (I know that this is the rate on Marlin for the Kobra board).

Here is the Marlin pinout for this board: Kobra/pins_AC_TRI_F1_V1.h at master · ANYCUBIC-3D/Kobra · GitHub

Thanks!

I ordered a mainboard for the anycubic kobra - It will arrive later this week. After getting that board working I’ll put in for another PR for klipper.

2 Likes

Thank you so much, you didn’t need to. I could totally test myself if you instructed me :smiley:

1 Like

I already did some of the work, but i abandoned it for a while. There are major issues with TMC drivers. The bootloader is 32kb and they use uart2,

you need to use a diffrent uart. You can find it here:

e.g.

1 Like

Hey @bebu , why did you reduce the CLOCK_FREQ to 1/10 of the original value? Is that necessary?

It was a typo, my next commit reverted it.
The marlin sets it to 12Mhz and i tried that value because of broken TMC communication, but it didn’t change anything. I also set corresponding values in system init.

I can’t imagine it’s a bitbang problem though, uart is terribly slow, and i even tried to set baud to 4800 for TMC.

Thanks for the work and offer to help! Since I will only have a board and no Kobra I can test thermistors, motors, heaters (light bulbs), etc. I will need help to complete the config file.

1 Like

I have a complete working file. When I patch the TMC python file I get x and y stallguard working. The inductive z Probe is working fine, as is bed and extruder heater. I tested everything beside the beeper.
I am on holidays till next week, maybe I can send you the config tomorrow.

1 Like

Here it is, i found some time :slight_smile:

2 Likes