"Printing" starts before nozzle target temp reached

I upload my gcode from S3D to Octoprint through the browser. As soon as the heat bed gets to target temp, the print will start before the tool even starts to heat up. I've tried with multiple slicers, and the same thing always happens.

I'm printing on a Qidi X-one2. Octoprint is up-to-date.

First thought: there is something wrong with your start gcode.
Could you post a snippet from your gcode that shows the lines before printing starts.

That's odd. In previous iterations of Octoprint, the tip and bed would start heating at the same time. This latest version, the tip waits until the bed gets to target before starting to heat. Which is much more efficient, because the tip heats much faster.

Is the tip target listed on the temp screen in Octoprint ?

My first thought is the printer profile and/or startup GCODE in S3D. I would suggest showing us the first 20 lines from the GCODE file produced/uploaded...

...and your OctoPrint -> Settings -> GCode Scripts -> Before print job starts settings.

Glad you posted about this here, as opposed to mentioning it in the FB QIDI group. Not sure if this same issue can be replicated on my Tech 1's, but I'll try once QIDI gets me the board I need and/or I fix that other SD card slot or the problem preventing USB printing for me right now. That is, of course, unless you can get it solved first :wink:

Ahhh, I see. I've got an M190 S.65

I thought that Octoprint was going that. Ok, I guess I was wrong

The tip target temp should still show on the Octoprint temp screen. I think. Or did a plugin do that ? Now I can't remember

I'm just gonna go stand in a corner and play with my brand new fidget spinner

1 Like

The bed and tool target temps will show on Octoprint. 80 for the bed and 230 for the tool.

M106 S0
M140 S80
M190 S80
M104 S230 T0
M109 S230 T0
G28 ; home all axes
G1 Z0.25 ; position for priming
G92 E0 ; zero extruded length
G1 X100 E10 F600 ; prime
M201 X1000 Y1000 ; slows acceleration
G92 E0
G1 E-1.1000 F2400
G1 Z0.293 F1200

Lol. I figured the first place to try is in a group with people that have the same printer manufacturer as me.

I didn't put any start scripts in Octoprint, since it should all be in the gcode from the slicer.

So I got a test print done earlier with the Tech 1 I refurbished, and I didn't have this problem. I sliced it in S3D, too. Is the X-one2 an X3G printer?

You most likely need to fix your S3D preprint script. If it is running Sailfish like the Tech 1, you are missing the commands to tell it to stabilize the temperature before printing.

Below is part of mine, for example. Don't use this directly, as it is for another printer and could do bad things to your printer! Instead, try using the console to see if it even recognizes the stabilization commands. If so, then you can try adding just those lines and see if it helps. X3G printers use M134 instead of M190 and M133 instead of M109.

M73 P0 ; Enable build progress
G28 ; Home all axes
G162 X Y F3000 ; Home XY maximum
G161 Z F1200 ; Home Z minimum
G92 Z-5 ; Set Z to -5
G1 Z0 ; Move Z to 0
G161 Z F100 ; Home Z slowly
M132 X Y Z A B ; Recall home offsets
M135 T0 ; Load right extruder offsets
G1 X-110 Y-80 Z30 F9000 ; Move to wait position off table
G130 X20 Y20 Z20 A20 B20 ; Lower stepper Vrefs while heating
M127 ; Set fan speed
M140 S60 T0 ; Heat buildplate 
M134 T0 ; Stabilize bed temperature
M104 S200 T1 ; Heat left extruder
M133 T1 ; Stabilize left extruder temperature
G130 X100 Y100 Z40 A110 B110 ; Set stepper Vrefs
G92 A0 B0 ; Zero extruders

I know the gcode works perfect when I print from SD card when slicing from S3D. It heats the bed first, and then the tool is heated. But, in Octoprint, the bed is heated, and then it tries to print without heating the tool.

I've tried gcode sliced in Slic3r and the Qidi slicer it comes with, and I still have the same issue.

Do you put .gcode files or .x3g files on the SD card? I ask because I can only advise on X3G printers for this particular issue, as I'm not using any non-X3G QIDIs at present, and the quirk above is an X3G thing.

Ok, question. Are you doing a slice in s3d, and a different slice in Octoprint ?

Just the slice in S3D. I only upload to Octoprint and press print, since my start and end script are in S3D.

My printer only reads .gcode as far as I'm aware.

When I was using Slic3r, I'd load the .gcode file on the SD card, print it, and everything worked great. I'd take that same object, upload it to Octoprint from Slic3r, hit print, and have the same issue with it trying to print before reaching the tool target temp.

0.65 C is the look you get from the cute blonde at the bar when you ask her if she's here alone.

Here's what I'm seeing:

G90                 ; Abs positioning           
M82                 ; Abs mode extruder
M106 S0             ; Fan OFF
M140 S80            ; Quickly set the bed temperature to 80C
M190 S80            ; Wait for bed temperature to reach 80C
M104 S230 T0        ; Quickly set the first extruder to 230C (non-blocking)
M109 S230 T0        ; Wait for extruder temp to reach 230C (blocking)
G28                 ; Home all axes
G1 Z0.25            ; Prepare for priming line, etc

That just seems a little odd to me, to be honest.

I think I would do something like:

G90                 ; Abs positioning           
M82                 ; Abs mode extruder
M140 S80            ; Quickly set the bed temperature to 80C
M104 S230 T0        ; Quickly set the first extruder to 230C (non-blocking)
M106 S0             ; Fan OFF
G28                 ; Home all axes
M190 S80            ; Wait for bed temperature to reach 80C
M109 S230 T0        ; Wait for extruder temp to reach 230C (blocking)
G1 Z0.25            ; Prepare for priming line, etc

This assumes that the bed takes about three times longer to heat up than the extruder (typical). All nonblocking commands are thrown first then we block for the bed then the extruder.

You can tweak this if you ooze too much hot filament while you're waiting but since you're doing a priming line, it shouldn't matter.

Knowing QIDI printers, I'd probably suggest moving the M104 to after G28. It will reduce drool and I'd expect you'll still hit your hot end target before your bed. Heck, I'd try it both ways, personally :slight_smile: I'd also move the nozzle off the bed before heating it, so you know exactly where the drool will be, and so the priming line holds the drool free of the printing area.

With S3D, the script that you can enter yourself only starts after the temperatures are reached. The only way I could do it to have it before the temperatures are initiated is to edit the gcode after slicing. Lol, I'm too lazy to do it for every single print.