Updating Klipper on the Sovol ZERO toolhead running on the SV08

This guide is for those of us that have converted the ZERO Toolhead to run on the SV08 ONLY!!

I have modified Rappetor’s SV08 MCU update script to allow easier updating of Klipper to the MCUs for the Host MCU and the ZERO Toolhead MCU.

You have the option of updating Klipper prior to running the script or let the Script update Klipper for you.

Please read the guide over very carefully as always. If anyone has any questions please feel free to ask.

There is also a link in the guide to bearclaw92’s guide to converting the ZERO Toolhead over to the SV08.

HAPPY PRINTING!!

Blenky

3 Likes

Hi @Blenky, i have some problem to find tool head zero UUID (CAN0)?

It is always 0 UUIDs found.

I tested a lot of things.

Thanks in avance for your help.

Regards


Did you find the UUID when you first flashed the toolhead MCU following the guide? That is the number you would put into your printer.cfg. Once you complete the flashing and loading klipper onto it you will not see it again. At least on mine I don’t see it and it works perfect all the time.

1 Like

Yes i find it just One Time. And after never.

After that, I redid the whole procedure and since then I haven’t seen him anymore. I think i make a lot of mistake. Sorry i am a noob.

That is what it does the UUID does not appear after you finish the guide. It will still work. So as long as you used that correct UUID number in the printer.cfg then you should be good to go. Do you have the toolhead working? If not show a mainsail screen shot of the error you are getting.

1 Like

That is the default UUID when the MCU is in boot mode. During the flashing process you should have seen a different UUID number. If you do not have the actual UUID then you will need to reflash it again with the ST link. That is why you are getting that error.

1 Like

I didn’t flash with ST-LINK. I need to find the .bin file of the head. Thanks

If you are following the guide it shows you how to build the klipper.bin file.

The guide assumes you know how to use the ST Link. Which you should if you installed Mainline.

1 Like

biqu@BTT-CB1:~/klipper$ python3 ~/katapult/scripts/flashtool.py -i can0 -q
Resetting all bootloader node IDs…
Checking for Katapult nodes…
CANBus UUID Query Complete
biqu@BTT-CB1:~/klipper$

I am really BAD :exploding_head:

Hi, sorry it is me again :downcast_face_with_sweat: , i could not flash the toolhead.
I find the UUID → 8e2d08372b8f

AUTOMATIC MCU UPDATER for ZERO Toolhead Only…
Which device do you want to update (build & flash)?

  1. UPDATE KLIPPER TO HOST
  2. FLASH HOST MCU
  3. FLASH ZERO TOOLHEAD
  4. Quit
    Please enter your choice: 3

Cleaning and building Klipper firmware for TOOLHEAD MCU Set for STM32F103, 8MHz crystal, CAN bus on PB8/PB9.

Check on the following screen that the parameters are correct for the
TOOLHEAD
firmware. Press [Enter] to continue..

Creating symbolic link out/board
Loaded configuration ‘extruder.mcu’
Configuration saved to ‘extruder.mcu’
Creating symbolic link out/board
Building out/autoconf.h
Compiling out/src/sched.o
Compiling out/src/command.o
Compiling out/src/basecmd.o
Compiling out/src/debugcmds.o
Compiling out/src/initial_pins.o
Compiling out/src/gpiocmds.o
Compiling out/src/stepper.o
Compiling out/src/endstop.o
Compiling out/src/trsync.o
Compiling out/src/adccmds.o
Compiling out/src/i2ccmds.o
Compiling out/src/spicmds.o
Compiling out/src/pwmcmds.o
Compiling out/src/buttons.o
Compiling out/src/tmcuart.o
Compiling out/src/neopixel.o
Compiling out/src/pulse_counter.o
Compiling out/src/lcd_st7920.o
Compiling out/src/lcd_hd44780.o
Compiling out/src/spi_software.o
Compiling out/src/i2c_software.o
Compiling out/src/thermocouple.o
Compiling out/src/sensor_adxl345.o
Compiling out/src/sensor_lis2dw.o
Compiling out/src/sensor_mpu9250.o
Compiling out/src/sensor_icm20948.o
Compiling out/src/sensor_hx71x.o
Compiling out/src/sensor_ads1220.o
Compiling out/src/sensor_ldc1612.o
Compiling out/src/sensor_angle.o
Compiling out/src/sensor_bulk.o
Compiling out/src/sos_filter.o
Compiling out/src/load_cell_probe.o
Compiling out/src/stm32/watchdog.o
Compiling out/src/stm32/clockline.o
Compiling out/src/stm32/dfu_reboot.o
Compiling out/src/generic/crc16_ccitt.o
Compiling out/src/generic/armcm_boot.o
Compiling out/src/generic/armcm_irq.o
Compiling out/src/generic/armcm_reset.o
Compiling out/src/stm32/stm32f1.o
Compiling out/src/../lib/stm32f1/system_stm32f1xx.o
Compiling out/src/generic/armcm_timer.o
Compiling out/src/stm32/gpio.o
Compiling out/src/stm32/adc.o
Compiling out/src/stm32/spi.o
Compiling out/src/stm32/i2c.o
Compiling out/src/generic/canserial.o
Compiling out/src/../lib/fast-hash/fasthash.o
Compiling out/src/stm32/can.o
Compiling out/src/generic/canbus.o
Compiling out/src/stm32/chipid.o
Compiling out/src/stm32/hard_pwm.o
Preprocessing out/src/generic/armcm_link.ld
Building out/compile_time_request.o
Version: v0.13.0-395-gf04895f5
Linking out/klipper.elf
Creating bin file out/klipper.bin

Extruder MCU firmware building complete. Press [Enter] to set bootmode..

Get into bootloader …
Connecting to CAN UUID 8e2d08372b8f on interface can0
Sending bootloader jump command…
Bootloader Request Complete
Resetting all bootloader node IDs…
Checking for Katapult nodes…
CANBus UUID Query Complete

Extruder UUID query complete. Press [Enter] to flash..

Connecting to CAN UUID 61755fe321ac on interface can0
Sending bootloader jump command…
Resetting all bootloader node IDs…
Attempting to connect to bootloader
ERROR:root:Flash Tool Error
Traceback (most recent call last):
File “/home/biqu/katapult/scripts/flashtool.py”, line 840, in run
await flasher.connect_btl()
File “/home/biqu/katapult/scripts/flashtool.py”, line 275, in connect_btl
ret = await self.send_command(‘CONNECT’)
File “/home/biqu/katapult/scripts/flashtool.py”, line 407, in send_command
raise FlashError(“Error sending command [%s] to Device” % (cmdname))
FlashError: Error sending command [CONNECT] to Device

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/home/biqu/katapult/scripts/flashtool.py”, line 1104, in main
await sock.run()
File “/home/biqu/katapult/scripts/flashtool.py”, line 850, in run
await flasher.finish()
File “/home/biqu/katapult/scripts/flashtool.py”, line 493, in finish
await self.send_command(“COMPLETE”)
File “/home/biqu/katapult/scripts/flashtool.py”, line 407, in send_command
raise FlashError(“Error sending command [%s] to Device” % (cmdname))
FlashError: Error sending command [COMPLETE] to Device

Thanks very much for your help

It sounds like you may have a corrupted Katapult on the toolhead and you may need to reflash it. That would explain why flashtool.py cannot communicate with it. That happened to me when I first set mine up. Reflash katapult with the ST Link then try again.

1 Like

It is me once again sorry,
I have the same problem,
I think the problem is that the toolhead isn’t in DFU mode to flash. I can only get the U2C into DFU mode.
I am so sorry with all my questions and problem, i am not a Champion.
Thanks for your help