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
Good
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.
Configure and build Kalico for the toolboard:
cd ~/klippermake menuconfigEnable extra low-level configuration options:
[*]Micro-controller Architecture:
STMicroelectronics STM32Processor model:
STM32F401Bootloader offset:
No bootloaderClock reference:
24Mhz crystalCommunication interface:
USB (on PA11/PA12)Optimize stepper code for 'step on both edges':
[*]
make
Install
dfu-utilRaspberry Pi OS / Armbian / Debian / Ubuntu:
sudo apt install -y dfu-util
Short the
3.3VandBOOTpads on the back of the board with a tweezerImage of the backside of the board with those 2x4 pads
While shorting those pads, connect the board via a normal USB-A to USB-C cable to your Kalico host
Run
dmesgand validate that it shows up asSTM32 BOOTLOADERFlash the board:
sudo dfu-util -a 0 -D out/klipper.bin -s 0x08000000:leaveRun
dmesgand validate that it shows up asKlipperorKalico
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.