SB CAN Toolhead Board (V1.3).

Flashing Firmware

In this guide i used a Catalyst V2 control board with a max baud rate of 500000 this may work at 1000000 but it is untested, I advise using 500K first to confirm functionality.

In this guide we're flashing Katapult (Formerly CanBoot) to the board with an 8KB Bootloader which will allow us to update/flash in the future without the need for a USB cable.

Cables

Start out by inserting your 24V Power, GND, CanH + CanL connections, these usually come pre-terminated as part of an umbilical with the board.

Next insert your Micro USB Cable and connect it to your host/Pi.

Enter DFU Mode

Hold the "Reset" button for 2 seconds (Thats 1 Elephant, 2 Elephants). the reset button is on the side of the board, between the USB and CAN Connections.

From your console you can now type lsusb and you should see a line like so:

Bus 007 Device 012: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

Your board is now in DFU mode and ready for flashing.

Download Katapult (CanBoot)

From your command line paste these commands

cd / git clonehttps://github.com/Arksine/katapult.git cd katapult make clean make menuconfig

Flashing Katapult

Once complete press ESC or Q to exit, press Y when prompted to save your changes.

Then compile the new firmware using the command make followed by the Enter key, this may take a few minutes but when successful you will see:

... Linking out/katapult.elf Creating bin file out/katapult.bin

At this point you are now ready to flash the device, do that using the following command, followed by the Enter key. sudo dfu-util -a 0 -D ~/katapult/out/katapult.bin --dfuse-address 0x08000000:force:mass-erase:leave -d 0483:df11 Once complete, you will see something like this:

Download [=========================] 100% 4212 bytes Download done. File downloaded successfully Transitioning to dfuMANIFEST state

You are now done with flashing Katapult, and you can find your canbus uuid using the following command, followed by the Enter key.

python3 ~/katapult/scripts/flash_can.py -i can0 -q

You should see an output like so:

pi@voron-02-pro:~/katapult$ python3 ~/katapult/scripts/flash_can.py -i can0 -q Resetting all bootloader node IDs... Checking for Katapult nodes... Detected UUID: c860602e72cb, Application: Katapult Query Complete

The UUID we want here is c860602e72cb paste this somewhere safe.

Unable to find the UUID?

If you are unable to find the UUID then your board may not be booted into katapult, to boot into the bootloader you simply need to double click the reset button twice within 500ms. Then run the command again and you should see your UUID.

Flashing Klipper

Flashing Klipper is a very similar proceedure to Katapult and is done like so, this guide assumes you already have Klipper installed on your machine.

Again, ensure that your settings are identical to those above, press Q followed by Y to Save & Exit, then type the command make followed by the Enter key.

You will see something like this when klipper has finished compiling the firmware:

Building out/compile_time_request.o Version: v0.12.0-179-g434770ea Preprocessing out/src/generic/armcm_link.ld Linking out/klipper.elf Creating hex file out/klipper.bin

You're now ready to flash Klipper onto the MCU. Flash klipper onto the MCU using the following command, followed by the Enter key. Pay attention to the UUID here, you will need to replace mine with your own.

python3 ~/katapult/scripts/flash_can.py -i can0 -uc860602e72cb-f ~/klipper/out/klipper.bin

Once the flash has been installed you will see a message saying Flash Success.

Provided you don't already have klipper configured for this UUID (this is a fresh install) you will be able to verify this by running the following command.

~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0

You should see the same UUID again, only this time with Application: Klipper. Found canbus_uuid=c860602e72cb, Application: Klipper Total 1 uuids found

And you're done! Pat yourself on the back and go ahead and configure your toolhead board in your printer.cfg.

Why not buy me a coffee to say thanks?

Last updated