Stock Toolhead Board

Required Components

  • USB-C breakout board

    • Needs to have D-, D+, VBUS/VCC and GND broken out

    • Make sure that VBUS/VCC and the GND have thicc traces

      • Bad:

        Thin traces and obsessive amount of pins

        Thin traces and obsessive amount of pins



    • Good


      Board with thick traces and a limited amount of pins

      Board with thick traces and a limited amount of pins



  • USB-A cable

    • (2D-)Printer cables (USB-B to USB-A) are good sources

      • who realistically uses USB-B other than printers and monitors with USB hubs

  • 18AWG wire (preferably red and black)

  • 2x ferrules (For use in soldering 18AWG +24V DC and -24V DC wires to through hole of USB breakout board.)

  • 2x spade connectors


Flashing

You have two options if you want to use the stock toolhead board, choose one.

We recommend flashing Kalico fully.

Flashing full Kalico

With this technique, we replace all of ELEGOOs code on the board, allowing Kalico to flash it’s own updates. We’ll have to disassemble the toolhead and extract the board from it.


  1. Configure and build Kalico for the toolboard:

    1. cd ~/klipper

    2. make menuconfig

      • Enable extra low-level configuration options: [*]

      • Micro-controller Architecture: STMicroelectronics STM32

      • Processor model: STM32F401

      • Bootloader offset: No bootloader

      • Clock reference: 24Mhz crystal

      • Communication interface: USB (on PA11/PA12)

      • Optimize stepper code for 'step on both edges': [*]

    3. make

  2. Install dfu-util

    • Raspberry Pi OS / Armbian / Debian / Ubuntu: sudo apt install -y dfu-util

  3. Short the 3.3V and BOOT pads on the back of the board with a tweezer

    Image of the backside of the board with those 2x4 pads

    Image of the backside of the board with those 2x4 pads



  4. While shorting those pads, connect the board via a normal USB-A to USB-C cable to your Kalico host

  5. Run dmesg and validate that it shows up as STM32 BOOTLOADER



  6. Flash the board:

    sudo dfu-util -a 0 -D out/klipper.bin -s 0x08000000:leave
  7. Run dmesg and validate that it shows up as Klipper or Kalico



Flashing Kalico as "app" partition

TODO

With this technique we only flash the "app" section. We don’t need to disassemble the toolhead and it makes it easier to return back to the ELEGOO firmware later.