Ender 3 Pro Cura Start GCode - Preheat and Load Bed Mesh

I tested this GCode both with and without CR Touch. Other GCode I've found has been inefficient, or would drip filament in the center of the bed after auto homing with CR Touch or BL Touch

This start profile solves both those issues.  Of course, everything you use is at your own risk. You know your printer better than I do. I have an Ender 3 Pro, with a 4.2.2 Motherboard, CR Touch, PEI Spring Steel Sheet, and typically connected to Octoprint. I print exclusively with PLA.  

How Do I Set the Cura Start Gcode?

You need to go to Settings -> Printers -> Manage Printers first.

Then select your printer, and click Machine Settings

Finally on the left side, on the bottom, you can copy and paste this Gcode to replace the default GCode that is already there. Hit close, and you're all set.

Note that this will not change any settings in any files you have already sliced - whatever GCode has been generated is set in stone. This will be used for your start settings *after* you slide a new file

With those disclaimers out of the way, here's the Cura Start Code

Note: You must have a bed mesh saved or this will fail.  If you want to instead probe on each print, you'll need to use a semi-colon ( ; ) to  disable ("comment out") The lines from 

M117 Load Bed Mesh to M420 L0 S1 ; Loading the bed mesh and then also delete the semi-colons from the two following lines.


; Ender 3 Custom Start G-code
M117 Heating Bed
M140 S{material_bed_temperature_layer_0} ; Set Heat Bed temperature
M117 Preheat e to 160 and Autohome
M104 S160; start warming extruder to 160
G28 ; Home all axes
M117 Load Bed Mesh
G4 P1500 ; Dwell for 1 & 1/2 second
M420 L0 S1 ; Loading the bed mesh
; M117 Auto bed-level GO!
; G29 ; Auto bed-level (BL-Touch)
G92 E0 ; Reset Extruder
G1 X0.1 Y.1 Z3.0 F5000.0 ; move to off the edge
M117 Heat E to temp
M104 S{material_print_temperature_layer_0} ; Set Extruder temperature
G1 X0.1 Y20 Z3.0 F5000.0 ; move to start-line position
M190 S{material_bed_temperature_layer_0} ; Wait for Heat Bed temperature
M109 S{material_print_temperature_layer_0} ; Wait for Extruder temperature
G1 Z3.0 F3000 ; move z up little to prevent scratching of surface
G1 Z0.3 F3000 ; move z back down a bit
M117 Draw Line
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; draw 1st line
G1 X0.4 Y200.0 Z0.3 F5000.0 ; move to side a little
G1 X0.4 Y20 Z0.3 F1500.0 E30 ; draw 2nd line
G92 E0 ; reset extruder
G1 Z2.0 F3000 ; move z up little to prevent scratching of surface
M117 Begin Print
; End of custom start GCode