Taz pro keep rebooting

This could be several things … including a defective machine. But before we go there… usually what a 3D printer does… is whatever it was told to do. So often the mysterious behaviors can be explained by looking at the actual G-code that was controlling the printer.

If everything checks out on the software end (and we’re not at that point yet) then possibly it’s a hardware issue. But I would not recommend doing anything to the hardware of the machine until we check out the software to make sure it’s not just ordering the machine to do something it shouldn’t be doing.

What software are you using to prepare the print jobs?

Are you using the recommended “Cura LulzBot Edition 3.6.21” and is that software configured to know that you are using a LulzBot TAZ PRO with the proper Start G-codes?

There is traditionally always some “Start” g-code and also “End” g-code. On the PRO, there’s a series of actions that are handled by the “Start” g-code. If you are using Cura LulzBot Edition 3.6.20 or 3.6.21 then this should be handled by the software (as long as it knows you have a TAZ PRO).

If you are using any other software to prepare your print jobs, then it would be a good idea to look at the “Start” g-code.

Another possibility … when software “connects” to the printer, it is normal for the firmware to restart (it will look like the printer is rebooting). But this would only happen if you are controlling the printer from a computer (e.g. using a USB cable to send jobs to the printer). If you are copying the jobs to the USB memory stick and printing from that … then would not apply (running jobs from the memory stick should not cause cause a printer reset.)

Here’s a sample of the TAZ PRO start codes and you can see by reading the comments what each “G-Code” command is doing (called “G-Codes” because most codes start with “G” but you’ll see a fair number start with “M”.)

There were lots of G-codes that wipe the nozzles along the wiper-pads and I removed those to shorten the post … but your Start G-codes should include those.

Also note that when you see something inside curly-braces { } it means that is a variable which is substituted by some value. The value is set by your printing profile. e.g. the Cura material profile tells it what the “material soften temperature” is … so wen you see things like:

M104 S{material_soften_temperature_0}

What it really does is replaces the "{material_soften_temperature_0} with whatever the material profile says to use. E.g. if it’s PLA then it’s probably going to substitute it with “170” because 170°C is probably the material soften temp for PLA. But variables are used so that as you change the type of filament you are using you do not have to go edit the G-codes … it will just pick up the correct values from the print profile.

; This profile is designed specifically for the LulzBot TAZ Pro with Dual Extruder Tool Head
M73 P0                                    ; clear GLCD progress bar
M75		                                  ; start GLCD timer
M107                                      ; disable fans
G90                                       ; absolute positioning
M420 S0                                   ; disable previous leveling matrix
M140 S{material_bed_temperature_laye r_0} ; begin bed temping up
M104 S{material_soften_temperature_0} T0  ; soften filament
M104 S{material_soften_temperature_1} T1  ; soften filament
G28                                       ; home
M117 Heating...                           ; LCD status message
M109 R{material_soften_temperature_0} T0  ; wait for temp
M109 R{material_soften_temperature_1} T1  ; wait for temp
T0                                        ; select this extruder first
M82                                       ; set extruder to absolute mode
G92 E0                                    ; set extruder to zero
G1 E-10 F100                              ; retract 10mm of filament on first extruder
G0 X50 F1000                              ; move over to switch extruders
T1                                        ; switch extruders
M82                                       ; set extruder to absolute mode
G92 E0                                    ; set extruder to zero
G1  E-10 F100                             ; retract 10mm of filament on second extruder
M104 S{material_wipe_temperature_0} T0    ; set to wipe temp
M104 S{material_wipe_temperature_1} T1    ; set to wipe temp
M106                                      ; turn on fans to speed cooling
T0                                        ; select first extruder for probing
G1 X-16.5 Y100 F2000                      ; move above wiper pad
M117 Cooling...                           ; LCD status message
M109 R{material_wipe_temperature_0} T0    ; wait for T0 to reach temp
M109 R{material_wipe_temperature_1} T1    ; wait for T1 to reach temp
M107                                      ; turn off fan
G1 Z 1.0                                  ; push nozzle into wiper

[a lot of moves which which ‘wipe’ the left-side nozzle on the wiper pad. I’ve removed these for brevity but they will be in your Start g-codes.]

G1 X -16.5 Y19 Z20 F1000                  ; raise extruder
M106 S255                                 ; turn on fan to blow away fuzzies
G4 S5                                     ; wait 5 seconds
M107                                      ; turn off fan
G0 X50 F1000                              ; move over to switch extruders
T1                                        ; switch to second extruder
G1 X296.5 Y100  F5000                     ; move E2 above second wiper pad
G1 Z 1.0                                  ; push nozzle into wiper

[a lot of moves which which ‘wipe’ the right-side nozzle on the wiper pad. I’ve removed these for brevity but they will be in your Start g-codes.]

G1 X 296.5 Y19 Z20 F1000                  ; raise extruder
M106 S255                                 ; turn on fan to blow away fuzzies
G4 S5                                     ; wait 5 seconds
M107                                      ; turn off fan
G0 X247 F1000                             ; move over to switch extruders
T0                                        ; switch to first extruder
M109 R{material_probe_temperature_0}      ; heat to probe temp
M204 S100                                 ; set accel for probing
G29                                       ; probe sequence (for auto-leveling)
M420 S1                                   ; enable leveling matrix
M204 S500                                 ; set accel back to normal
M104 S{material_print_temperature_layer_0_0}  T0  ; set extruder temp
M104 S{material_print_temperature_layer_0_1}  T1  ; set extruder temp
G1 X100 Y-29 Z0.5 F3000                   ; move to open space
M400                                      ; clear buffer
M117 Heating...                           ; LCD status message
M109 R{material_print_temperature_layer_0_0}  T0  ; set extruder temp and wait
M109 R{material_print_temperature_layer_0_1}  T1  ; set extruder temp and wait
M117 Purging...                           ; LCD status message
T0                                        ; select this extruder first
G1 E0 F100		    	                  ; undo retraction
G92 E-30				                  ; set extruder negative amount to purge
G1 E0 F100				                  ; purge XXmm of filament
G1 E-3 F200                               ; purge retraction
G1 Z0.45                                  ; clear bed (barely)
G1 X100 Y10 F4000                         ; move above bed to shear off filament
M106 S255                                 ; turn on fan
G4 S7                                     ; wait 7 seconds
M107                                      ; turn off fan
G1 X180 Y-29 Z0.45 F3000                  ; move to open space
T1                                        ; set extruder
G1 E0 F100                                ; undo retraction
G92 E-30                                  ; set extruder negative amount to purge
G1 E0 F100                                ; purge XXmm of filament
G1 E-4 F200                               ; purge retraction
G1 Z0.35                                  ; clear bed (barely)
G1 X180 Y10 F4000                         ; move above bed to shear off filament
T0                                        : set extruder
M190 R{material_bed_temperature_layer_0}  ; get bed temping up during first layer
G1 Z2 E0 F75                              ; raise head and 0 extruder
M82					                      ; set to absolute mode
M400                                      ; clear buffer
M117 TAZ Printing...                      ; LCD status message

If you use any other software (e.g. Simplify 3D, Prusa Slic3r, Ultimaker Cura, etc.) then that software will NOT know to use these start g-codes. You could copy them from the Start G-codes of Cura and paste the into the Start G-codes for the other software, but… the other software probably will NOT understand those variables in curly braces (which is mostly to do with changing temperatures) and that means the temperatures will probably got be set correctly (and could cause problems when the extruder is trying to force filament to move through a cold nozzle that never heated up.

The lesson here is that if you use any other software other than Cura “LulzBot Edition”, you probably have to go edit the start G-code to hard-code your values (unless that other software also supports the variables.) BTW… Ultimaker Cura 4.x does NOT support these variables (it supports some variables, but most of the variables in the Start G-codes used here will not be recognized.)

If you see G-codes and wonder what they do, you can always look them up in the Marlin reference: https://marlinfw.org/meta/gcode/

I wrote a bit of a primer on G-codes which you can find here: Demystifying G-codes & Why you might care