1 / 19
Creatbot D600 Klipper upgrades — image 1
1 / 19

Creatbot D600 Klipper upgrades

Order a print of this model

We calculate the final price from your selected file. You review and accept it before payment.

Saved on this device.

Model information

License
Creative Commons — Attribution

The project:


I got an awesome printer renovation and conversion project from a colleague at work. 

Converting and upgrading a Creatbot D600 industrial 3D printer.
It has a massive 600x600x600 build volume and dual extruder with 5KG spool holders on ball bearings.

Originally, the printer comes with a Marlin v1 firmware with no network connectivity, no bed levelling nor webcam monitoring. This is quite old school nowadays when we have klipper.

Several objectives:

  1.  Convert to Klipper

    1. Write the full klipper config for the printer

    2. Brings network connectivity

    3. Webcam monitoring

    4. Remote control

    5. Flexibility for upgrade and multi-mcu support

  2. Add bed levelling probe

    1. CR-touch

  3. Improve part cooling fan solution

  4. Support dual extruder setup

  5. Create Orca Slicer profiles

    1. For PLA

    2. For PETG

 

Conversion to klipper:

Here is the hardware we are playing with:

  • Creatbot mainboard is V9.2.1 (common to many models)

  • 4x 110/220VAC to 24V DC power supplies

  • 4x solid state relays for 4 heating pads 30x30cm driven by 1 output

  • 1x temperature probe on the bed

  • 2x extruders on the toolhead (0 and 1)

    • 2x AD597 nozzle temperature probe

    • 2x Heater cartridges

    • 2x NEMA17 extruder stepper with gearbox

    • 2x filament runout sensors

    • 2x heatbreak fans 

      • driven by a common output

  • 3x TB6600 external stepper drivers with fan cooling

    • one of each X,Y,Z axis steppers, they are huge so I guess Creatbot needed something stronger than TMC2209s ?

I based my work around the reverse engineering of kForth on github for the F430 model.
Many thanks for the work done here ! 
https://github.com/kForth/CreatBot-F430-Info#creatbot-f430-information
 

Klipper Host:

For the Klipper host, I used a BTT-PI V1.2 and designed a clamp to attach it on the machine edges. One of the 24V PSUs provides the power for it on the 24V power plug.

I used this case:
https://www.printables.com/model/863832-bigtreetech-btt-pi-12-case-for-wall-mount-or-2040/files

 

Software installation:

You can follow kForth's instructions to backup the original firmware eeprom and install the klipper binary using AVRDude. Works like a charm ! 

Compiled Klipper for Atmega2560 in make menuconfig and I flashed the hex file using avrdude.

Stepper drivers:

Stepper drivers fan control:

The stepper driver fans are extremely noisy.
In order to reduce the noise, I used an LM2596 DCDC buck module and desoldered pin 5 to use it as a PWM fan control. I also put a pull down of 100kOhms to have the fans ON by default.
I cut the fans off of the stepper drivers and connect them to the DCDC module with a small breakout for JST terminals.
I used Extruder3 port on the mainboard to pin the 24V and enable signal with a small breakout PCB.
In Klipper, using controller_fan on stepper_x,y,z the fan will only turn ON when the steppers are active. On idle the printer is 100% silent.

Stepper drivers signals:

When I first tried to have klipper print a cube I had some missed steps. I figured out it was due to the “Step pulse duration” in Klipper. Since we use external stepper drivers and not onboard ones, the signal integrity constraints are not the same (wire length). A pulse time of 16us (for x/y/z only) was necessary to get the steppers to work properly. With microstepping of 16, we can only reach around 120mm/s before getting the “Stepper is too far behind” error from Klipper.

Actually the ATMEGA 2560 is too slow for 120+mm/s. By reducing microstepping to 8 on the TB6600 microswitches, you can reach 250mm/s. With acceleration of 3000mm/s2 the speed is now decent. 

Microstepping/Resolution/Max Speed

x16 → 9.35um → 120mm/s

x8 → 18.75um → 250mm/s

Bed levelling probe:

I couldn't find a nice way of connecting a CR-Touch probe to the mainboard without struggling a lot with cable routing. I couldn't use the existing wires either. I used a RP2040 Pro micro as toolhead MCU which I connected to the BTT-PI using a 5m long USB-C 2.0 cable. 
I installed klipper on the RP2040 and connected the CR-Touch to it. 

I attached the CR-Touch where the stock (shitty) part cooling fan was installed with a small 3D printed bracket. The probe is nicely centered and far enough from the hot ends.

Part cooling fans:

For the part cooling fans, I have decided to have 2x custom designed radial fans with ducts attached to each extruders steppers. This way, they suck air farther away from the heated bed and are not taking too much space. 
They are designed from older ASUS radial fans B6015L12F NF1 on which I scavenged the motors/wires and designed an enclosure around them. The duct is then spraying cool air on the 2 nozzles providing good part cooling. 

The 2x fans are controlled by the stock 12V port on the toolhead PCB, I just added a small breakout board to allow connecting the 2 fans.

Fans here:
https://www.aliexpress.com/item/32984671832.html

You must move the X-axis end switch with the spacer to make sure the ducts don't collide with the Y axis rails.
 

Config files:

Klipper config files are separated into several blocks:
 

  • printer.cfg

    • Top level to include different features based on how you made the upgrades

    • General printer configuration hardware agnostic

  • mcu_creatbot.cfg

    • Mainboard I/Os and configs

  • mcu_toolhead.cfg

    • Config for RP2040 toolhead MCU

    • I will probably add a ADXL345 config later too

  • probe_crtouch_toolhead.cfg

    • Config for the cr-touch on RP2040 MCU

  • probe_crtouch_linux.cfg

    • Config for the cr-touch connected on the BTT PI board (untested, I prefered the toolhead MCU instead)

  • mcu_linux.cfg

    • Config for the host MCU in case you use the I/Os on the BTT Pi itself (unused in my case, just compiled the linux-process according to the klipper docs)


MAD: Modular Air Duct and BIQU H2V2S REVO upgrade

I decided to give up on the stock dual extruder and 3mm filament to move to a single extruder using the BIQU H2V2S Revo and I therefore customized the excellent MAD design to fit the Creatbot D600.

Thanks for @Predy for the excellent work !


BOM for the upgrade:

Part

Qty

Link

EBB42 CAN no max31865

1

https://www.aliexpress.com/item/1005004243282918.html

Fysetc StrideMax Dual FD TMC5160

2

https://www.aliexpress.com/item/1005006352033580.html

Creality CRtouch

1

https://www.aliexpress.com/item/1005009048728793.html

BIQU U2C 2,1

1

https://www.aliexpress.com/item/1005004242828520.html

BIQU V2,0 Smart filament sensor

1

https://biqu.equipment/products/btt-sfs-v2-0-smart-filament-sensor?_pos=3&_psq=smart+fil&_ss=e&_v=1.0

BIQU H2V2S Revo

1

https://biqu.equipment/products/biqu-h2-v2s-revo-extruder?variant=40066234908770

BIQU PI V1,0

1

https://www.aliexpress.com/item/1005006042755049.html

5015 blower fan 24V

1

https://www.aliexpress.com/item/1005007663373681.html

Tronxy 600x600 bed

1

https://www.aliexpress.com/item/1005008598901397.html

You'll need some various M3 screws for the MAD kit, some M3 heatset inserts and some wires and crimping pliers to make the wiring.


 

Tags