# Nozzle always “randomly” moves to 0 during print, then resumes

I recently bought an Anet A8 (https://pevly.com/anet-a8-3d-printer-review/). I've managed to get everything up and running, leveled the board, but am now running into a problem.

At the start of the print, the printer moves to 0,0,0, bumps into the switches a couple times (I assume to calibrate or so?), and then starts "printing". But the nozzle "randomly" moves to either an X of 0 or an Y of 0 before returning to the printing position. This movement seems to pull off any basis the printer managed to lay down, which then forms a nice "ball" on the nozzle, to which the rest gets stuck. (I'm still having some other issues with getting the filament to stick to the bed, but there's plenty I still have to try out for that.)

During one attempt of printing a very simple small cube, I carefully pulled the filament "ball" from the nozzle while it did one of those movements to X 0, and afterwards it managed to lay down the bottom layer perfectly fine. This causes me to believe those movements are the biggest problem I'm facing right now.

After it did the first layer, it moved up a bit, moved to X 0, back to the model, and got stuck on a piece of plastic that was standing upwards.

These movements seem to happen at around the same phase in the print, and happen quite consistently. Is this normal behavior? If so, how do I make sure the filament does not get pulled off during these weird movements? If not, how do I get rid of them?

(No, not a duplicate of Printer randomly moves to home during printing, then resumes as normal as I print directly from PC.)

I use Cura 3.0.4 for printing, the stock Anet A8 firmware, and am attempting to print the cube model that comes with Windows 10. (Yes, I've tried different models, same result.)

I seem to have more issues, in the video it's visible that the feeding does not seem to work too great, but I think the random movements are the most clear and biggest problem right now, so I should tackle that first.

In Cura I've used the Pruisa I3 printer, with the following G-codes:

G21 ;metric values
G90 ;absolute positioning
M82 ;set extruder to absolute mode
G28 X0 Y0 ;move X/Y to min endstops
G28 Z0 ;move Z to min endstops
G29
G1 Z15.0 F9000 ;move the platform down 15mm
G92 E0 ;zero the extruded length
G1 F200 E3 ;extrude 3mm of feed stock
G92 E0 ;zero the extruded length again
G1 F9000
M117 Printing...


and end

M104 S0 ;extruder heater off
M140 S0 ;heated bed heater off (if you have it)
G91 ;relative positioning
G1 E-1 F300  ;retract the filament a bit before lifting the nozzle, to release some of the pressure
G1 Z+0.5 E-5 X-20 Y-20 F9000 ;move Z up a bit and retract filament even more
G28 X0 Y0 ;move X/Y to min endstops, so the head is out of the way
M84 ;steppers off
G90 ;absolute positioning


(Yes, I added in the G29 in the start code manually, as I bought the official auto-leveling sensor. I'm not sure if it works though, but I read somewhere that I might need a different version of the firmware to support it properly.)

And here's a video showing what my printer does do exactly. It started printing from the center in this case, it seems to randomly either move to the middle or to 0,0,0 when I abort the print.

• Looks like a good question. Welcome to 3D Printing. It might help if you could post photos of the problem. It might clarify the statement "This movement seems to pull off any basis the printer managed to lay down," which I'm not visualizing. – cmm Dec 2 '17 at 21:11
• @cmm There is one thread of filament attached to both the nozzle and the laid down filament. When the nozzle moves away, this thread of filament pulls the filament that did stick away. I'm currently not able to make a video of it, that might even have to wait until Monday unfortunately. – Daniël van den Berg Dec 2 '17 at 21:15
• So, the print has started and there is some material deliberately and correctly attached to the bed? Some printers have a rubber edge the nozzle is rubbed against to remove the blob before it prints. – cmm Dec 2 '17 at 21:27
• @cmm There is indeed some material that is attached. My printer does not have this rubber edge, is there an easy way to disable this option or would it make sense to try uploading different firmware? – Daniël van den Berg Dec 2 '17 at 21:39

I see two problems in your video:

1. It looks like the first layer is built too much upwards. (The level calibration should be so that a Z-height of 0 can barely fit a sheet of paper under the nozzle. )
2. Your printer is not extruding at all. As you said, the extrusion has some problems. Extrusion problems will cause adhesion problems too.
• So you're saying the random movements are normal? – Daniël van den Berg Dec 4 '17 at 15:23
• I wouldn't say that they are normal. I just take them out of the equation. I see you answered your own question, so thumbs up for that. – Hacky Dec 8 '17 at 10:25

I switched to different firmware (the latest Marlin), now the problem has been resolved. So it seems to me that those random movements are not in fact normal, but a flaw in the firmware.

• What was the firmware that you switched to? Do you have a link? Or version? Was it an A8 standard firmware upgrade or something else? If you could provide a bit more detail your answer could probably help someone else with the same issue. Thx. :-) – Greenonline Aug 10 '18 at 11:37

The main problem shown in the video is because you are printing an oversized part, the random movements to X and Y is due the exceeded lines. Also the nozzle has a wrong Z0 and the part won't get adhesion to the bed.

• "(Yes, I've tried different models, same result.)" Did not seem to be the problem here. Sounds like you've had it with too big parts though? – Daniël van den Berg Dec 7 '17 at 6:05
• No, I haven't had this problem with my printer, but is normal if the printing area is not defined in your slicer program; this could be detected a firmware problem but is a problem related with printing area. Try to use slic3r or even cura with an small object. delete the lines G28 if you manually sets auto homing. <code> ;G28 ; home all axes G29 ; Autonivel M190 S32 ; set bed temperature G1 Z4 F240 ; lift nozzle M109 S195 ; wait for temperature G21 G90 M82 ; use absolute distances for extrusion M104 S210 ; set temperature G92 E0 G1 E-1.5000 F1800 G1 Z0.225 F240 </code> – Fernando Baltazar Dec 9 '17 at 7:12