via DFU

Should You Be Using DFU?

  • DFU mode should be used to flash if you dont have access to CAN in order to change from CAN to USB or if for some reason Katapult isnt available.

Whats Required?

  • Host device (RaspPi/Manta + CB1 etc)

  • Cartographer Probe

  • Two pairs of conductive (Metal) Tweezers

  • USB-A to JST-PH Cable

Using the scripts below, you may need to use the Install Prerequisites option first to make sure everything is configured prior to flashing.

DFU Updating

What is DFU

  • DFU Mode (Device Firmware Upgrade Mode) is STM's bootloader thats apart of the STM32 chip included on cartographer probes. Its next to impossible to make this mode fail. For the STM chip to enter DFU mode all that needs to happen is to have the boot pin pulled high when the chip itself starts up.

Step 1. Enter DFU Mode

image
  • Entering DFU mode is simple in theory but a bit more fiddly in practice. With the cartographer plugged in via USB, first short the two pads of the BOOT0 set (marked 1 on the photo). With BOOT0 still shorted, briefly short the RESET pads (marked 2). This will put the device in DFU mode.

  • You can also just short the BOOT0 pads and NOT the RESET pads, whilst plugging in the device via USB which should be easier to enter DFU.

  • This process can be tricky and take some time, so listed below are two ways to make it simpler.

Make-it-easier option #1: printed tweezer guide

  • You can use the PCB cover designed by MakerMylo to help with the fine-motor work of shorting pads. It clips onto the PCB and helps you to align tweezers accurately for shorting pads.

Make-it-easier option #2: solder-bridging the BOOT0 pads

  • Soldering a bridge on the BOOT0 pads can make this process much easier. You will still need to briefly short the RESET pads, but you won't have to coordinate two sets of tweezers.

  • Once you've flashed by using DFU mode, remember to de-solder the bridge.

Step 2. SSH into Host & Run Script

Via SSH, use the command lsusb to determine whether the device is in DFU Mode OR This can now be entered and automated using the script below and using lsusb from option #2 which loops the lsusb command while you attempt to tap the pins.

lsusb should look like this if DFU mode is found.
~/cartographer-klipper/scripts/firmware.py -f dfu
Screen #1
Screen #2

On the next screen it will attempt to find your DFU device. This will loop for 30 seconds while you put your device into DFU mode if it isn't already. You do this by either bridging the boot0 pins and plugging in the USB or by plugging in via USB and then bridging both boot0 and reset pins.

Choose FULL_CARTOGRAPHER_CANBUS for using Cartographer via CANBUS.

Choose FULL_CARTOGRAPHER_USB for using Cartographer via USB

Screen #3

Step 3. Done

Once flashed, you will see the image below. This is a successful flash and youre all finished.

Screen #4

Step 4. Now What?

  • If you flashed for canbus, unplug cartographer and plug in via canbus

  • If you flashed for usb, power cycle your device.

Last updated