# CanBoot with USB to canbus bridge

**URL:** <https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661>\
**Category:** General Discussion\
**Created:** [February 13, 2023, 10:09pm UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661 "2023-02-13T22:09:11Z")\
**Posts on this page:** 6\
**Page:** 2

<div class="post-metadata">

**Author:** ![NAPCAL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/napcal/32/1794_2.png) [@NAPCAL](https://klipper.discourse.group/u/NAPCAL)\
**Post date:** [February 2, 2024, 6:00am UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/21 "2024-02-02T06:00:35Z")

</div>

How?  
Only if you set Katapult (CanBoot) for USB and not CAN bus since you will use the Klipper USB to CAN bus bridge, and the CAN bus will not be functioning until you get the Klipper firmware up and running.

If you set Katapult for CAN bus with no Klipper firmware (bridge), then there is no CAN bus, so you cannot connect to Katapult.

Using dfu-util, you can load Katapult, then load Klipper into its offset and be up and running quickly.

If you are flashing a lot of tool boards with the same firmware (Katapult & Klipper), this can be done with STM32CubeProgramer doing almost the same by loading Katapult.bin and then Klipper.bin into its offset. Select wipe & Auto, then plug in a board in DFU mode; it will detect it, wipe, load, and then wait until it detects a board in DFU on the USB port. You unplug the loaded board and plug in the next one in DFU mode, repeat until done with the boards.

---

<div class="post-metadata">

**Author:** ![yammaster](https://avatars.discourse-cdn.com/v4/letter/y/f9ae1b/32.png) [@yammaster](https://klipper.discourse.group/u/yammaster)\
**Post date:** [February 3, 2024, 5:05pm UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/22 "2024-02-03T17:05:41Z")

</div>

I’ve some trouble with another one of my mks\_skipr boards - I can’t enter the DFU Mode. So I have to flash the canboot and klipper with ST-Link. But I don’t know, which configuration is right in STM32CubeProgramer (the addresses). Could anybody help?

---

<div class="post-metadata">

**Author:** ![NAPCAL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/napcal/32/1794_2.png) [@NAPCAL](https://klipper.discourse.group/u/NAPCAL)\
**Post date:** [February 4, 2024, 2:48am UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/23 "2024-02-04T02:48:40Z")

</div>

When you run make menuconfig for Katapult and set the processor then bootloader offset will be your only options, write them down and then check the same for Klipper and just find a match.

---

<div class="post-metadata">

**Author:** ![jakep\_82](https://avatars.discourse-cdn.com/v4/letter/j/ea666f/32.png) [@jakep\_82](https://klipper.discourse.group/u/jakep_82)\
**Post date:** [February 4, 2024, 9:24pm UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/24 "2024-02-04T21:24:05Z")

</div>

If you set up Katapult for USB, and Klipper for USB to CAN, it is possible to use the bootloader for flashing. It just requires two steps instead of one. I prefer this because entering DFU requires physical access which is a pain. I generally flash the bootloader, then use flash\_can to flash Klipper and make sure everything is working so I never need to touch the board again. Just my preference.

This was [discussed a year ago](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661) by Kevin, but I don’t think anyone has taken on the task of automating this process so it can be done in a single step.

---

<div class="post-metadata">

**Author:** ![NAPCAL](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/napcal/32/1794_2.png) [@NAPCAL](https://klipper.discourse.group/u/NAPCAL)\
**Post date:** [February 5, 2024, 6:48am UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/25 "2024-02-05T06:48:33Z")

</div>

For everyone using Katapult.  
I only recommend DFU mode when initially getting Katapult on the board; after that, only if your board initially loses the ability to communicate.

To update Katapult, I use the depolyer option and use depolyer.bin instead of klipper.bin, this will load the Katapult update and also wipe the flash memory above Katapult for firmware loading.

With Katapult using the USB to communicate make sure to enable the double click reset to enter Katapult firmware loading mode.

Then load kipper.bin via the /dev/serial/by-id, make sure you have installed the Python serial before trying to update.

I recommend storing the /dev/serial/by-id for the boards Katapult as a comment in your printer.cfg

For tool boards I would suggest setting both Katapult and klipper to communicate via CAN bus

---

<div class="post-metadata">

**Author:** ![EddyMI3D](https://yyz2.discourse-cdn.com/free1/user_avatar/klipper.discourse.group/eddymi3d/32/1981_2.png) [@EddyMI3D](https://klipper.discourse.group/u/EddyMI3D)\
**Post date:** [April 15, 2024, 8:36pm UTC](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661/26 "2024-04-15T20:36:13Z")

</div>



[Previous page](https://klipper.discourse.group/t/canboot-with-usb-to-canbus-bridge/6661.md?page=1)
