Ender 3 printing the same file in different places and at different sizes

I have an ender 3 that is giving me a lot of trouble calibrating. so I’m making a lot of offset adjustments and re homing frequently.

I’m always using the same calibration file which I sliced with cura for Ubuntu.

sometimes the file prints in the center of the build plate at 100% scales with a brim.

sometimes it prints about 1/4 scale right on the very front left of the plate which is the 0,0 position for the ender 3. it prints the model on the exact edge of the plate and doesn’t print the brim at all.

i am not re slicing the model each time, and don’t k ow which change i am making might be causing it to print differently.

I’ve already checked that the build plate size is correct and that the 0,0 position is correct in cura.

Are you using Octoprint or Klipper? Is is a stock board or by others?

I would stop printing and triple check the connections, the tramming and the G-code setup/calibration before printing anything. Then I would go back to the basic cure settings. Then delete the G-code for any stray files from your SD-card. At that point you can have half of your diagnosis complete. If you are using a .stl file from Thingaverse, delete your original and re-download it, and re-slice it in the new settings…

it’s stock, no clipper or octoprint

I’ve not made any modifications to the g code other than to change command 28 for command 29 to allow for a cr touch.

The problem will likely be in your Start or Begin Code and your Stop or End Code since it’s not restarting with a completely new configuration. ie, something is being carried over from the previous machine setup.

1 Like

I’ve not modified anything except adding I can the cr touch, and the machine has been powered down several times without any consistency in when this error happens.

I will revert to the 28 and see what happens.

I don’t see anywhere where you stated the machine worked fine before you added the BL Touch and added G29 to the start gcode. But ya, if it worked before with G28 and all went wonky with the change to G28 then reverting back and verifying would be a good first step.

1 Like

it is built from old parts and I’m setting it up for the first time as a complete printer , so it has never run successfully, but or at least reliably.

all of the individual parts were OK where they came from, but getting them together is the problem. it’s a creality board on a voxelab chassis with stock Creality firmware.

changing 28 to 29 is the only change that I made to the gcode in cura.

OK, I am going to presume you had a Z endstop and added a CR-touch in your upgrading. If that is the case and you are running Marlin you will have to compile a new firmware. ALSO being that you added the touch screen, you will need to re-compile your firmware for that…

the z stop is physically unplugged and the screen came with the correct firmware installed, the touch ran without error once I set the offset correctly.

my problem is that it’s printing in the wrong place at the wrong scale sometimes but the right pace and scale at other times. same source file.

I’m trying to find the reason for the inconsistent output.

Ok.
Then ‘I’ would delete the G-code file and re-slice it with ‘basic’ Cura settings, and see if it does the same thing. Then I would add a start and end G-code in machine settings.. something like :

; Ender 3 Custom Start G-code
;Nozzle diameter = {machine_nozzle_size}
;Filament type = {material_type}
;Filament name = {material_name}
;Filament weight = {filament_weight}
#; M191 S{material_chamber_temprature_layer_0}
; M190 S{material_bed_temperature_layer_0}
; M109 S{material_print_temperature_layer_0}
G92 E0 ; Reset Extruder
G28 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first 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 the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish.

END G-CODE:

M141 S0 ; Turn_off chamber heater
G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positioning
G1 X0 Y{machine_depth} ;Present print
M191 S35 ; chamber temp wait for 35c
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z
1 Like

do i need to provide values for the sections in the curly brackets?

No, the correct numeric values are substituted in from your current print settings when the gcode file is generated.

No. That is a “Reference only”. It is from my Ender3 that is running Klipper firmware… Sorry, I didn’t think it through before I posted it…
I would use this as a start G-code:

G92 E0 ; Reset Extruder
G28 ; Home all axes
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position
G1 X0.1 Y200.0 Z0.3 F1500.0 E15 ; Draw the first 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 the second line
G92 E0 ; Reset Extruder
G1 Z2.0 F3000 ; Move Z Axis up little to prevent scratching of Heat Bed
G1 X5 Y20 Z0.3 F5000.0 ; Move over to prevent blob squish.

And End G-code:

G91 ;Relative positioning
G1 E-2 F2700 ;Retract a bit
G1 E-2 Z0.2 F2400 ;Retract and raise Z
G1 X5 Y5 F3000 ;Wipe out
G1 Z10 ;Raise Z more
G90 ;Absolute positioning
M106 S0 ;Turn-off fan
M104 S0 ;Turn-off hotend
M140 S0 ;Turn-off bed
M84 X Y E ;Disable all steppers but Z

Your machine might need something different but this is a good “REFERANCE” to check. You can find more relative info on googlilllle.
And to be honest Doug is much more “code” savvy than I am…

Edit. Just reverted my previous edit..

Note that I would personally omit all the start gcode from the line G1 X0.1 Y20 Z0.3 F5000.0 ; Move to start position on, since you already use a skirt which performs the same 'prime the nozzle ’ function.–

He’s right.. I never thought about it. Omiting that will eliminate the ‘Prime line at the edge. Which in THIS case would force the printer to define the left edge.. If it squirts filament off the bed, or if it prints too far to the right then your offset is wrong.. The prime line should be app. 2-3 mm from the left edge.. for "referance’.

As a back to basics thought, If you are using the same SD card, same file, same etc… and the prints are differing any, You may have a bad SD card, or a bad board.. With the said, the E3V3 boards are pretty good, I used one for a few years, and I have it shelved because I wanted to operate my enclosure with the E3EZ board