Creality Ender 3 Pro Creality Ender 3 Pro - START & END gcode for Cura These are my custom start and end gcodes for Cura slicer to be used with the Creality Ender 3 Pro with BLTouch/3DTouch installed. Why this and not some other custom gcode I found on Reddit? Well, that's what I was using for a long time, but I wanted to address some isues: heat up the printer as quickly as possible don't heat up the extruder all the way until just before nozzle priming (to prevent oozing from the nozzle during auto bed leveling, which takes 60 seconds) print quick and efficient, Prusa-like, priming line of filament after finishing the print, retracting the filament plenty back so that I can change it while the printer is cold, if need be. present finished print ASAP It does all of this somewhat nicely, took me two hours and 12 test prints. :D Disclaimer Take this as-is, I take no responsibility in breaking your printer if used incorrectly. Test it couple of times with your finger on the PSU shut off switch. It works for my setup, which is: Ender 3 Pro with 4.2.7 silent board Marlin 2.0.9.1 firmware 3DTouch installed on Satsana Cura slicer (the macros like {material_print_temperature_layer_0} would need to be adjusted for other slicers accordingly, for Prusa Slicer see their docs on Macros) Start code ; Ender 3 Pro – Cura Custom START G-code ; NOTE: ; This is for Ender with auto bed leveling probe. ; For printers without it, remove the line with G29 (I have not tested this, though!) ; Preheat bed fully M140 S{material_bed_temperature_layer_0} ; Preheat extuder half way to 160 C to prevent oozing during auto bed leveling. M104 S160 ; Home X and Y axes G28 X Y ; Absolute positioning G90 ; Move to homing position for Z axis G1 X168 Y126 F5000 ; Wait for bed to be at printing temperature and then... M190 S{material_bed_temperature_layer_0} ; ... home Z axis... G28 Z ; ... start heating up the extruder all the way and meanwhile do... M104 S{material_print_temperature_layer_0} ; ... automatic bed leveling G29 ; Move to start position for priming G1 X5 Y5 Z10 F5000 ; Wait for extruder to fully heat up to set temperature M109 S{material_print_temperature_layer_0} ; Reset extruder G92 E0 ; Extrude line of filament G1 Z0.8 F500 G1 X45 Z0.8 E40 F750 G92 E0 G1 X65 Z0.8 E10 F500 ; Reset extruder again G92 E0 ; Move quickly away from prime line to prevent blob squish G1 X75 F5000 End code ; Ender 3 Pro - Cura END G-code ; If making any changes here, change them BOTH in Cura (End G-Code) AND OctoPrint (GCODE Scripts -> After print job is cancelled) ;Relative positioning G91 ;Retract 30 mm and raise Z +2 mm G1 X-10 Z10 E-30 F3000 ;Absolute positioning G90 ; Put away X and present print G1 X3 Y225 ;Present print ; Shutdown fan, hotend and bed M106 S0 ;Turn-off fan M104 S0 ;Turn-off hotend M140 S0 ;Turn-off bed M84 X Y Z E ;Disable all steppers Creality Ender 3 Pro - My setup Hardware parts Printer: Creality Ender 3 Pro (AliExpress) Motherboard: Creality OEM Silent Board 4.2.7 (AliExpress) Bed leveling sensor: Trianglelab 3DTouch v3 (AliExpress) All metal hotend: Trianglelab Bi-Metal Heatbreak (AliExpress) Belt tensioners: no name (AliExpress) Print surface: Creality PEI Metal Sheet (AliExpress) Metal extruder: noname (AliExpress) Stronger springs: yellow noname (AliExpress) Filament runout sensor: generic (AliExpress) Heatbreak cooling: Noctua 40x40x20 mm fan with stepper down 3D printed upgrades Satsana with 3DTouch mount (Thingiverse) Cable clips for cable management (Thingiverse) Spool holder with ball bearings (printed by the first owner) Some LCD display cover Software Marlin firmware OctoPi for remote control on Raspberry Pi 3B Enclosure 2x IKEA Lack table 6 mm birch plywood acoustic foam (more for looks than anything else) Upgrades to do Noctua fans for PSU and motherboard enclosure ventilation system (by summer)