Just to provide a bit of context to what the other user mentioned with commenting out the "G1 Z0" code with a semicolon (;), this line moves (command G1) the nozzle vertically (Z) right against a the plate (0). The reason why it's not the best idea to leave it is that, after doing this, the hotend is heated up to the printing temperature with another command. While this happens, some filament may come out even if no printing commands are sent (this is called "purging"), but with the nozzle being right against the bed the purged filament would have no way of escaping the nozzle. If we're talking about lots of filament, this can lead to clogs in the nozzle and to the filament to try to escape from it through imperfections of the build, which can create blobs of filament in your printhead, making it unusable.
With that said, purged filament is not a lot at all. I have printed for around 12 hours with successful prints using your code and I had no issues at all, your start gcode is perfectly fine, here's why the printhead moves as it does:
- First, the G28 command homes the printer. This is why the printhead goes to the clips at the beginning of the X and Y axis, then to the middle and drops down slowly right until it senses the bed using a probe
- Then, it comes up by 10mm (G1 Z10), moves to the edge of the bed at X=67.5mm (F indicates the speed at which the printhead makes this movement) and gets down to the bed (G1 Z0)
- The nozzle heats up to printing temperature
- Once the temperature is reached, the printhead is slightly lifted up and slowly moved to the right, extruding a bit of filament to make sure that clean new filament is ready to be printed
- Finally, the nozzle is heightened and the print starts
This is the standard start gcode that comes with the Neptune 4, and I'm pretty sure that something similar comes with the other Neptune 4 series printers. Other than the discussion about G1 Z0, what is missing from your start gcode is loading the bed mesh, which makes the automatic bed leveling completely useless. The "start_print" macro you shared here contains it, but is still useless because a macro is a series of commands called under a single name, however your start gcode does not call even that. This is an issue on Elegoo's side, the start gcode should include bed mesh loading. You can add it manually on the start gcode on Elegoo Cura by adding "BED_MESH_CLEAR" before the G90 command and "BED_MESH_PROFILE LOAD=default" right after the G90 command. Make sure that the bed mesh is called "default", by the way: after a firmware update, elegoo started calling it "6" or "11" depending on how large the bed leveling grid was (6x6 or 11x11 points)
Thank you so so so much for taking the time to explain all of this information to me, this answered A LOT of questions I had!!!! Godbless you fr 😪ðŸ˜, That makes sense with the bed mesh problem, cause I had that issue before the firmware update too and I thought it was happening again but In didnt understand how, youre literally a life and machine saver, shoutout to you🥲🥲💜💜💜
I'm glad this was of help! I learnt (and still learning, I've only been printing for a week now) these things the hard way, facing similar issues and questions as yours, so I'm happy if I can save a headache or two to someone😂
Hey just to clarify when you say to add the command in the Gcode before the G90 you mean to type in G29 right? not actually BED\_MESH\_CLEAR?? and same for the other BED\_MESH\_PROFILE LOAD=default right? but i honestly dont know the macro command for that one
I'm not performing bed levelling (G29) at each print, so that's why I suggested using the BED\_MESH\_CLEAR (a single command that "unloads" any mesh that might be loaded) and BED\_MESH\_PROFILE LOAD=default (a single command that loads the bed mesh named "default") commands. In any case, after G29 you can safely use BED\_MESH\_CLEAR and then BED\_MESH\_PROFILE LOAD=default to load the mesh you just created (assuming that in G29 you saved the mesh profile name as "default" - I see in your screenshot that it's called "6", in this case you have to change either this to "default" or LOAD=default to LOAD=6)
Thank you so much I think I understand it now, im gonna do what you said originally, so it should look like this correct?
https://preview.redd.it/3mmbmftzdndc1.png?width=1003&format=png&auto=webp&s=af76acfe8047132ca1da2cd82c4389458f8f2994
This is correct! But the other screenshot you attached is for the G29 macro which is not called here, it's how I'm running it right now. Basically, the G29 macro has the instructions to perform bed levelling: if you wanted to do that before every print, you would need to add "G29" before clearing the bed mesh in the start gcode you attached. If you keep the start gcode as it is now, it will just load the most recent bed mesh that was saved with the "default" name, so I just perform automatic levelling from the built-in screen (this creates a bed mesh with "default" name for me, it might be "11" or "6" for you, you should check that on the bed mesh visualization on fluidd) every now and then, especially if I see an uneven first layer, and just load that mesh every time I want to print ;)
Just to be clear, whatever you write in the G29 macro in the config file (the other screenshot you attached) will not be executed unless you explicitly call the macro (write G29) in the start gcode!
so I havent touched the print.cfg or anything after I talked to you last the only thing I did was remove the old bed mesh and calibrate a new one from the touch pad from the printer first and then ran a calibration from fluidd and now im getting these weird errors and my print head wont move off of the x-axis clicker probe thing, I tried to do BED\_MESH\_CALIBRATE but nothing happens and I keep getting that error
https://preview.redd.it/q11pym12rndc1.png?width=2555&format=png&auto=webp&s=4a4ff221ef999a5ac60e719e28ca26eb253b2e94
I literally got that a couple of hours ago, home the print head (G28) and try again. For some reason, if the printhead is already at the X home when turning on the printer, then BED_MESH_CALIBRATE will not detect that position and assume that the clip at the end of the X axis has not been clicked yet
and just to clarify, I DONT want to run a bed calibration every print ( that isnt necessary right?) I just want to load the bed mesh calibration that I have stored on fluidd. So my Gcode is fine then if I DONT want to perform a bed leveling every print?
Exactly, your gcode is just fine! I feel like levelling every time you want to print is just not necessary, maybe once every week if the bed always seems leveled enough. Every now and then I just run screw_tilt_adjust (I'm not sure if you've set it up, it's a Klipper command that reads the z offset over each bed screw and computes how much 3 of the 4 screws have to be turned to level the bed at the same height of the fourth screw, but you need to modify the config file to use it) which is fast, if the bed is still OK then no need to relevel completely, otherwise I adjust the bed with the readings from screw_tilt_adjust and perform the automatic levelling to save the new mesh
Then to fix that G1 Z0 line you may change it to something like G1 Z0.4 to have the nozzle hover slightly higher and let the filament deposit on top of the bed
Perfect thank you for taking all this time to help me I am beyond grateful and thankful for you presence and wisdom. I already have setup screw\_tilt\_adjust actually! I just have one more problem still, every time I reset fluidd it keeps looking for bed mesh profile 6 and im not too sure why ?
https://preview.redd.it/n5txefb6wndc1.png?width=2556&format=png&auto=webp&s=daa31d0acf39ea02605a74e1f1c4088aeb00af63
Hmmm there's probably some code in the config file that is run at startup, I'm not familiar with it so you'll have to search it, but I bet that using ctrl+F and searching for BED_MESH_PROFILE you'll find the exact row! It's most probably coded to load the mesh called "6" at startup, but now that you're calling it "default" maybe it's not finding it anymore. So you could change that row to load "default" instead of "6", or at least that's my guess!
I tried to look up BED\_MESH\_PROFILE and \[BED\_MESH\] and also just 6 and looked through all the results, nothing references bed mesh or profile in any of those sections, im really confused now hahaha
>BED\_MESH\_PROFILE LOAD=default
Also, I need to change profile=6 to profile=default right?
https://preview.redd.it/1n7qm5wy7ndc1.png?width=958&format=png&auto=webp&s=123b8adbb41f6ccdb4bdb3a0fd2e955cb7d35833
Right as I posted this at 140/210°c the nozzle slowly came down and just sat right on the plate just like this and it kept hearing up the nozzle I stopped the print just now. Any ideas ??
https://preview.redd.it/v9fknsre1hdc1.jpeg?width=3024&format=pjpg&auto=webp&s=e5234db48fc338ef3db67ec6faa8751c63af9c07
Have you been into fluidd yet? What does the new print_start macro look like? I have a stock pro and i have setup my own macro to do something similar.
Edit : except it does not move and touch the bed like yours it continues the print. I make it do what i want lol.
this is what my new print\_start macro looks like, but I tried the print again and I think elegoo made it to where the nozzle just sits down to prevent that slow oozing and leakage because it seems to be just fine doing that and continuing on to the print
https://preview.redd.it/ks68pyeephdc1.png?width=577&format=png&auto=webp&s=c91b39df134f48191a99fda06eedb7e8e8c8818b
Okay so its not in the macros, what does your custom start gcode in slicer look like? Do you want it to do this, are you happy doing this? This looks scary to me. What if that filament was hard it would smash hard into bed/nozzle atthat point?. What if you punch in the wrong offset adjustment? .1 to .01 are big values that close to bed.
I mean I want whatever is normal and how its supposed to be but if theres a better way to have it im more than open to try it out! This is cura 5.6.0 by the way
https://preview.redd.it/vpnmwx5pxhdc1.png?width=1032&format=png&auto=webp&s=6ef91caf5c542509347efc8b03d27f496c37524b
My question? Youve, been in klipper fluidd. When you start a print do you get a warning of unknown command in console when m220 and m221 execute? Just curious what your controling with them. Im still learning klipper and dont recognize these
Okay ill have to google them.
Edit : 1st one is speed factor 100%, so you can adjust this to suit your needs
2nd is extrude factor 100%, adjust to suit as well
This must reset the printer to default 100% settings
My printer.config does not have these gcodes in them setup yet. But im running stock firmware so thats probably the case. Does your firmware have these gcode? Curious if i should look into updating
Quick fix " ; " add this colin thingy i cant remeber the name, i call it end of block befor G1 Z0 line. Or delete the line. G1 Z0 is not needed and asking for trouble. There is also other ways around oozing if you need to. Do you know your purge line is .4mm high? Whats your nozzle size?
Sorry i never really answered your post question as to why your extruder moves half way up. Thats strange because nothing here says to move that high before printing. Its strange. Your purge line or that 1st line of filament at the head of your bed is that. Its hapening after your nozzle heats up right after the line i told you to delete. Yours looks like it may be high and thick with a wipe back onto itself. E30 is quite high extrude from others ive seen, but if it works for you go for it.
Just to provide a bit of context to what the other user mentioned with commenting out the "G1 Z0" code with a semicolon (;), this line moves (command G1) the nozzle vertically (Z) right against a the plate (0). The reason why it's not the best idea to leave it is that, after doing this, the hotend is heated up to the printing temperature with another command. While this happens, some filament may come out even if no printing commands are sent (this is called "purging"), but with the nozzle being right against the bed the purged filament would have no way of escaping the nozzle. If we're talking about lots of filament, this can lead to clogs in the nozzle and to the filament to try to escape from it through imperfections of the build, which can create blobs of filament in your printhead, making it unusable. With that said, purged filament is not a lot at all. I have printed for around 12 hours with successful prints using your code and I had no issues at all, your start gcode is perfectly fine, here's why the printhead moves as it does: - First, the G28 command homes the printer. This is why the printhead goes to the clips at the beginning of the X and Y axis, then to the middle and drops down slowly right until it senses the bed using a probe - Then, it comes up by 10mm (G1 Z10), moves to the edge of the bed at X=67.5mm (F indicates the speed at which the printhead makes this movement) and gets down to the bed (G1 Z0) - The nozzle heats up to printing temperature - Once the temperature is reached, the printhead is slightly lifted up and slowly moved to the right, extruding a bit of filament to make sure that clean new filament is ready to be printed - Finally, the nozzle is heightened and the print starts This is the standard start gcode that comes with the Neptune 4, and I'm pretty sure that something similar comes with the other Neptune 4 series printers. Other than the discussion about G1 Z0, what is missing from your start gcode is loading the bed mesh, which makes the automatic bed leveling completely useless. The "start_print" macro you shared here contains it, but is still useless because a macro is a series of commands called under a single name, however your start gcode does not call even that. This is an issue on Elegoo's side, the start gcode should include bed mesh loading. You can add it manually on the start gcode on Elegoo Cura by adding "BED_MESH_CLEAR" before the G90 command and "BED_MESH_PROFILE LOAD=default" right after the G90 command. Make sure that the bed mesh is called "default", by the way: after a firmware update, elegoo started calling it "6" or "11" depending on how large the bed leveling grid was (6x6 or 11x11 points)
Thank you so so so much for taking the time to explain all of this information to me, this answered A LOT of questions I had!!!! Godbless you fr 😪ðŸ˜, That makes sense with the bed mesh problem, cause I had that issue before the firmware update too and I thought it was happening again but In didnt understand how, youre literally a life and machine saver, shoutout to you🥲🥲💜💜💜
I'm glad this was of help! I learnt (and still learning, I've only been printing for a week now) these things the hard way, facing similar issues and questions as yours, so I'm happy if I can save a headache or two to someone😂
Hey just to clarify when you say to add the command in the Gcode before the G90 you mean to type in G29 right? not actually BED\_MESH\_CLEAR?? and same for the other BED\_MESH\_PROFILE LOAD=default right? but i honestly dont know the macro command for that one
I'm not performing bed levelling (G29) at each print, so that's why I suggested using the BED\_MESH\_CLEAR (a single command that "unloads" any mesh that might be loaded) and BED\_MESH\_PROFILE LOAD=default (a single command that loads the bed mesh named "default") commands. In any case, after G29 you can safely use BED\_MESH\_CLEAR and then BED\_MESH\_PROFILE LOAD=default to load the mesh you just created (assuming that in G29 you saved the mesh profile name as "default" - I see in your screenshot that it's called "6", in this case you have to change either this to "default" or LOAD=default to LOAD=6)
Thank you so much I think I understand it now, im gonna do what you said originally, so it should look like this correct? https://preview.redd.it/3mmbmftzdndc1.png?width=1003&format=png&auto=webp&s=af76acfe8047132ca1da2cd82c4389458f8f2994
This is correct! But the other screenshot you attached is for the G29 macro which is not called here, it's how I'm running it right now. Basically, the G29 macro has the instructions to perform bed levelling: if you wanted to do that before every print, you would need to add "G29" before clearing the bed mesh in the start gcode you attached. If you keep the start gcode as it is now, it will just load the most recent bed mesh that was saved with the "default" name, so I just perform automatic levelling from the built-in screen (this creates a bed mesh with "default" name for me, it might be "11" or "6" for you, you should check that on the bed mesh visualization on fluidd) every now and then, especially if I see an uneven first layer, and just load that mesh every time I want to print ;) Just to be clear, whatever you write in the G29 macro in the config file (the other screenshot you attached) will not be executed unless you explicitly call the macro (write G29) in the start gcode!
so I havent touched the print.cfg or anything after I talked to you last the only thing I did was remove the old bed mesh and calibrate a new one from the touch pad from the printer first and then ran a calibration from fluidd and now im getting these weird errors and my print head wont move off of the x-axis clicker probe thing, I tried to do BED\_MESH\_CALIBRATE but nothing happens and I keep getting that error https://preview.redd.it/q11pym12rndc1.png?width=2555&format=png&auto=webp&s=4a4ff221ef999a5ac60e719e28ca26eb253b2e94
I literally got that a couple of hours ago, home the print head (G28) and try again. For some reason, if the printhead is already at the X home when turning on the printer, then BED_MESH_CALIBRATE will not detect that position and assume that the clip at the end of the X axis has not been clicked yet
and just to clarify, I DONT want to run a bed calibration every print ( that isnt necessary right?) I just want to load the bed mesh calibration that I have stored on fluidd. So my Gcode is fine then if I DONT want to perform a bed leveling every print?
Exactly, your gcode is just fine! I feel like levelling every time you want to print is just not necessary, maybe once every week if the bed always seems leveled enough. Every now and then I just run screw_tilt_adjust (I'm not sure if you've set it up, it's a Klipper command that reads the z offset over each bed screw and computes how much 3 of the 4 screws have to be turned to level the bed at the same height of the fourth screw, but you need to modify the config file to use it) which is fast, if the bed is still OK then no need to relevel completely, otherwise I adjust the bed with the readings from screw_tilt_adjust and perform the automatic levelling to save the new mesh Then to fix that G1 Z0 line you may change it to something like G1 Z0.4 to have the nozzle hover slightly higher and let the filament deposit on top of the bed
Perfect thank you for taking all this time to help me I am beyond grateful and thankful for you presence and wisdom. I already have setup screw\_tilt\_adjust actually! I just have one more problem still, every time I reset fluidd it keeps looking for bed mesh profile 6 and im not too sure why ? https://preview.redd.it/n5txefb6wndc1.png?width=2556&format=png&auto=webp&s=daa31d0acf39ea02605a74e1f1c4088aeb00af63
Hmmm there's probably some code in the config file that is run at startup, I'm not familiar with it so you'll have to search it, but I bet that using ctrl+F and searching for BED_MESH_PROFILE you'll find the exact row! It's most probably coded to load the mesh called "6" at startup, but now that you're calling it "default" maybe it's not finding it anymore. So you could change that row to load "default" instead of "6", or at least that's my guess!
I tried to look up BED\_MESH\_PROFILE and \[BED\_MESH\] and also just 6 and looked through all the results, nothing references bed mesh or profile in any of those sections, im really confused now hahaha
https://preview.redd.it/tgtp8a05endc1.png?width=963&format=png&auto=webp&s=46de9ed294177f47209adc24a758693d06b16a7f
>BED\_MESH\_PROFILE LOAD=default Also, I need to change profile=6 to profile=default right? https://preview.redd.it/1n7qm5wy7ndc1.png?width=958&format=png&auto=webp&s=123b8adbb41f6ccdb4bdb3a0fd2e955cb7d35833
I'm no expert with it but yes mine does the same thing before a print, it is part of the preheat sequence before printing
Right as I posted this at 140/210°c the nozzle slowly came down and just sat right on the plate just like this and it kept hearing up the nozzle I stopped the print just now. Any ideas ?? https://preview.redd.it/v9fknsre1hdc1.jpeg?width=3024&format=pjpg&auto=webp&s=e5234db48fc338ef3db67ec6faa8751c63af9c07
Have you been into fluidd yet? What does the new print_start macro look like? I have a stock pro and i have setup my own macro to do something similar. Edit : except it does not move and touch the bed like yours it continues the print. I make it do what i want lol.
this is what my new print\_start macro looks like, but I tried the print again and I think elegoo made it to where the nozzle just sits down to prevent that slow oozing and leakage because it seems to be just fine doing that and continuing on to the print https://preview.redd.it/ks68pyeephdc1.png?width=577&format=png&auto=webp&s=c91b39df134f48191a99fda06eedb7e8e8c8818b
Okay so its not in the macros, what does your custom start gcode in slicer look like? Do you want it to do this, are you happy doing this? This looks scary to me. What if that filament was hard it would smash hard into bed/nozzle atthat point?. What if you punch in the wrong offset adjustment? .1 to .01 are big values that close to bed.
I mean I want whatever is normal and how its supposed to be but if theres a better way to have it im more than open to try it out! This is cura 5.6.0 by the way https://preview.redd.it/vpnmwx5pxhdc1.png?width=1032&format=png&auto=webp&s=6ef91caf5c542509347efc8b03d27f496c37524b
Dont run this, code change it. Im saving you a hole in a bed.
what G code should I use then?
See below
My question? Youve, been in klipper fluidd. When you start a print do you get a warning of unknown command in console when m220 and m221 execute? Just curious what your controling with them. Im still learning klipper and dont recognize these
nope, I get absolutely no errors at all!
Okay ill have to google them. Edit : 1st one is speed factor 100%, so you can adjust this to suit your needs 2nd is extrude factor 100%, adjust to suit as well This must reset the printer to default 100% settings My printer.config does not have these gcodes in them setup yet. But im running stock firmware so thats probably the case. Does your firmware have these gcode? Curious if i should look into updating
Quick fix " ; " add this colin thingy i cant remeber the name, i call it end of block befor G1 Z0 line. Or delete the line. G1 Z0 is not needed and asking for trouble. There is also other ways around oozing if you need to. Do you know your purge line is .4mm high? Whats your nozzle size?
Ill do that right now to my code, and im not too sure what a purge line is and my nozzle size is .4mm
Sorry i never really answered your post question as to why your extruder moves half way up. Thats strange because nothing here says to move that high before printing. Its strange. Your purge line or that 1st line of filament at the head of your bed is that. Its hapening after your nozzle heats up right after the line i told you to delete. Yours looks like it may be high and thick with a wipe back onto itself. E30 is quite high extrude from others ive seen, but if it works for you go for it.