Here it is April 2nd/2020 and I am just getting around to setting up Linear Advance. I have an old Geeetech i3 pro X heavily modified. I am using Marlin 1.1.9 and set up linear advance as per your instructions. Turns out my printer needed a K value of 0.25. WOW! I can't believe how well my prints have improved! Thank you Chris. Keep up the great videos. Thanks from Canada.
It's refreshing having a channel that actually takes the time to improve our skills in 3D printing without forcing us to watch 1 hour long live stream torture. Keep up the good work
Another excellent video! Let’s hope that team started to have enough spare cycles to pull in the upgraded LA code from Marlin. This overview and example was excellent!
Chris, this is an *excellent* explanation of linear advance. I thought Linear Advance had something to do with X Y or Z movement, when it was really about managing filament pressure in the extruder. Thanks! 👍
Superb explanation Chris, thank you. Been using LA v1 for a while, so I know what it's all about, but since I upgraded to Marlin 1.1.9 I've been keen to try LA v1.5. I now know a lot more thanks to you.
@@ChrisRiley Just to keep you updated, as you know, when I tried LA 1.5 on the CR-10S4, the first time, it wasn't as good as it should have been. I suspected hardware so did a few upgrades. Micro Swiss hotend, Bondtech extruder and even Capricorn tube. I have just re-run your configuration and my K value is now 0.45 (was 0.9 last time) and it's working perfectly. The printer even sounds happier, no really it does. BTW, I've also got a Keenovo bed on order (yeah, extravagant I know) so planning to install that when it arrives. I forked out for expedited delivery so hope it won't take too long. Are you planning a video on installing the Keenovo? I'd love to see your process. I'm not sure if I'm going to install the SSR inside the control box, or house it in a separate one.
@@spikekent This thing is going to be a beast! :) Yeah, I would like to give a Keenovo setup a try, I have to find something to put it on. It would be a good how to video I think.
@@ChrisRiley Yeah I've got a habit of going overboard with projects (link below) But this one is useful too :-) I'm seriously considering mounting the SSR on the PSU inside the control box (if it will fit) and bringing the connections out via the existing aviation plug (I think they are rated for 240v) A couple of years ago I decided to build a "slightly" bigger RC vehicle than I had previously built, this was the (rather excessive) result. I often gets called a beast too :-) ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-WpLxhS6jK0M.html
Oh man, I love youtube. Thank you for your great video and precise communication. Incredible for a rookie like myself. Take care in these unclear COVID-19 times. Best regards!
Good video and explanations, but I would suggest that you demonstrate everything with a bowden extruder. Indeed direct drive extruders have very little filament compression and the flaws are not so obvious. K0.1 is almost negligible and it looks like a lot of hassle for not a huge improvement. With a bowden setup I found K1.3 for PLA at 80mm/s and the result was spectacular. I went from 6 mm to 2 mm retractions with zero stringing and the corners of the print became super sharp.
Thanks for the info. I have better understanding LA. I always like your ongoing support. It was nice meeting you at ECR Fest 2018. When is the next one in Maryland - Mike T.
I ask if I could get your baseline printer settings. And I like to use Simplify3D to Slice. But, I think you like to use Cura. I never was able to get good results with Cura.
Here you go, this is a prusa gcode, I just removed the movements. I used petg, but it shouldn't make a difference. drive.google.com/open?id=1uyZ28xPp1FKdJDIepIaFMj_oMM-UGdka
Great video Chris thanks for taking the time to share your knowledge with the maker community. I have a problem that I am hoping that you can help me with. Firstly I must point out that I am a complete novice to 3D printing, I have an Anycubic I3 Mega S which is less than a month old, but already I have migrated to Marlin 1.1.9 and installed TMC2208 drivers and a BLTouch, which caused me quite a few headaches in getting it to work correctly, (thank heavens for RU-vid!). My problem is this, after homing (centre of the build plate) when I start a print job the print head travels to the front centre of the build plate at an unbelievably slow speed (you can actually hear the feint ticking of the Y stepper motor as it traverses. When it eventually gets to the front centre position, it zero’s the Z axis then travels back to the centre of the bed and starts printing normally. I have inspected my configuration in Marlin but I can’t seem to find a setting that would correct my problem. Can you help me please? Thanks.
Hey Fred, thanks. So you do Z safe homing in the center? It sounds like something isn't setting the feedrate correctly. Anything interesting in your start gcode?
Hi Chris, thanks for your reply. Yes there is something not quite right (I think???) in my start G-Code in Cura, I can't see a speed number for travel, but like I said I am still learning. Here is my start script, please tell me what you think. G21 ;metric values G90 ;absolute positioning M82 ;set extruder to absolute mode M107 ;start with the fan off G28 X0 Y0 ;move X/Y to min endstops G28 Z0 ;move Z to min endstops G1 Z15.0 F{speed_travel} ;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 F{speed_travel} G0 Y20 F{speed_travel} M117 Printing... G5
@@m0gga That's in the slicer, look for travel speed under the speed section. You might have to enable that setting to have it be shown. You can do that in preferences then settings and just check all.
Don't go over a value of 2 for Bowden setup? But Marlin's own generator suggest starting in values of between 30-100 for bowden tubes. "Starting value for the K-factor. Usually 0 but for bowden setups you might want to start higher, e.g. 30" "Ending value of the K-factor. Bowden setups may be higher than 100"
I've recently adopted the Flex3Drive flex shaft direct extruder which exhibited exactly the phenomenon you showed in the video. Since this extruder has a 40:1 gearing, I had to change the e-steps to 3800 from the original value of 95, and the E jerk to 0.1 mm/s. With this setup, the printer slowed down to a crawl as the K-factor increased incrementally from zero. Thanks to someone's suggestion who employs a similar flex shaft extruder, I bumped the E jerk to 30 and was able to arrive at a K-factor of 0.07 and printed a perfect linear advance test at 150mm/s. It appears the jerk value is used in the linear advance calculation. Do you have additional insight on this topic in relation to the flex shaft extruder? Thanks again for an excellent presentation.
You're welcome! You know, this is very interesting. I never really thought about a flex shaft extruder and how that might affect things. I don't currently have any experience with them, but I would like to learn more for sure.
@@ChrisRiley Yes obviously. The thin is that if Like me, you have set E acceleration low just to avoid that bounciness it wont have any effect. Further tge blobs at the corners are not just caused because of the pressure buildup in the nozzle. I had experimented really, really a lot when I was coding around SFACT. (Yes the ACT is me). I tried to disable steppers before retracting for example so the pressure would be released so you have actual consistent retraction. What I found was that the pressure does not increase linearly but the increase is wavy and also dependent on the duration of the extrusion. I used to have videos on RU-vid about them but I deleted them some time ago.. So the blobs at tge corners are also similar to the kerf phenomenon that laser, and even worse waterjet cutters experience. İmagine a rope hanging in your hand that you try to maneuver through a corner path. It will swerve out. That is what happens...
Great and informative video! I hope you can get the time to answer a couple of quick questions. I have a Prusa MK3 and the K values used there are in the 30+ range. Not the 0 to 2 in your video. Is it because Prusa uses a different lin advance version? Or can I use the same K factor generator you used on my MK3? Thanks again for the informative video!
Thank you! Thanks for watching! Until Marlin 1.1.9 the K value was just a number. K30 was pretty common for PLA. Pursa is still currently using that older linear advance scale. Now the K values in LA 1.5 are much smaller increments that represent a volumetric value. Until Prusa brings in LA 1.5, you will need to stick with the older K value range.
Nice video man. I had enabled linear advance on both my printers. For the test though, wouldn't it make more sense for the slow speed to be 20 and the fast speed to be more than 70 since you are printing faster than 70?
Thanks Mike! That's a good point. It really depends on the printer. I went with the defaults because I thought that might be closer to what would work for everyone else. 60 has been kind of the unspoken speed limit for a while now, so that's my guess why default is 70. If you want to print faster it would probably be a good idea to move to a faster speed and retest, even the slow speed might need a bump depending on the speed array for different part of the model you are using. I think you would want to avoid a print speed jump more than 50.
I did all this and the calibration print showed that a K-Value of 1.2 is the best. But when i tried to print a calibrationcube at 80mm/s it pushed the filament out like crazy! It made a 5 mm thick sausage which got pushed onto the printbed, stopped at the corners for a while and kept pushing out the filament.
Thanks a lot for watching! I have a Patreon only video out there available on this now. www.patreon.com/posts/power-off-resume-20697160 I will also include it in the 1.1.9 video that will be out in the next couple of weeks.
Great explanation, and examples Thanks! Curious - was there a reason you didn't run another test with a (for example) an Starting Value for K at around 0.80, an Ending Value for K around 1.02, with a K Factor Stepping of around 0.01 or 0.02? Just to see if you might have wound up with a K Factor of 0.9 like you've speculated? Or, is that just taking the test too far for final adjustment?
Thanks Ron! Mostly it was to save on video time, it is a bit redundant to go through a 3rd round of testing, but to get things 100% dialed in, it's probably a good idea. If you went down to that level you might not be able to see the difference in between the lines, but it would be worth a look for sure. Thanks for watching!
Interesting point, you could set it up to use a .8mm nozzle or something like that. As you say, if the exturder could keep up. I would like to see the results on that.
@@ChrisRiley Hi, Which of next lines referes to acceleration that you recommned to lower: #define DEFAULT_MAX_ACCELERATION {2000,2000,100,10000} #define DEFAULT_ACCELERATION 500 #define DEFAULT_RETRACT_ACCELERATION 600 #define DEFAULT_TRAVEL_ACCELERATION 1000 I guess it should de "#define DEFAULT_MAX_ACCELERATION {2000,1000,100,10000}" Is that correct? Best regards
@@ChrisRiley HI, I already have changed extrusor spring as old one grinded so much filament (K value was 0.22). New spring force is less. Now I have tried again LA and looks that best K values is arround 0.6. I am in doubt about such value as k values shared from several 3D printer users is around 0.2 (0.1 to 0.28). I know that range pattern goes from 0 to 2. In my case only manly change is spring. FYI: Just changed power supply too that ajusted to same voltage 13.5V What do you think about such value? spring can influence so much?
Dos the K value change with Layer height , for example if you do your Test pattern at 0.2 layer height (where its Easy to pick winner) will it alter if you then drop your prints to 0.1 ??
honestly faster prints is misleading! I love it so much and I keep my print speed at 35mm/s I mainly used it for buldged corners and better print quality and now something I didn't know but is awesome is less retraction values!
Eh, I don't know about misleading. If you add it all up, your print time will decrease. I too share your excitement for this feature, it is really awesome.
Sorry, my bad. What I meant to ask is: What would help more with linear advance, if I would higher or lower the acceleration / jerk value on the E stepper motor in the Marlin firmware? So, would it be beneficial to have a higher acceleration and jerk (on the E stepper) for linear advance, as long as the motor don't overheat and don't miss steps? I don't mean extreme values just a bit more than what I normally use (500 acc, 5 jerk), like 2000 acc, 10 jerk? Thanks in advance.
Hello Chris Riley, incredible explanation, good work, thank you, I wanted to ask you a question, I did the steps that you teach in the tutorial adapted to my 3D printer, but the size of the pieces was reduced, which could be the solution to that problem. The same thing happens in the video, the piece becomes smaller.
Hey, thanks for the great video, Chris. Question for you though... I'm running an Ender 3 Pro with a BTT SKR Mini E3 v2 and just started playing with Linear Advance. When it's enabled, the extruder makes a horrible grinding noise for every move. If it's disabled, no noise. Any ideas?
@@ChrisRiley I downloaded the latest firmware from BTT's GitHub page, which has it enabled. I set Linear Advance K=1.1 based off of my experiments using Marlin's calibration gcode generator (it makes the grinding noise when printing that as well). The K value is set in my Prusaslicer filament profile. When I print another gcode file without the K value set (so set to 0.0), no issue.
@@ChrisRiley Doesn't seem to do anything. Looking at the configuration.h file, it looks like E-jerk is defaulted to 5.0. I've tried several values greater than that and it still makes the grinding noise. It's hard to tell if it's actually grinding the filament though. With K=0, I've haven't encountered any filament grinding and the extruder seems to be able to change direction and accelerate with no issues (visually looking at my extruder knob).
I can confirm I print really fast with linear advance and no quality lose, sadly I cannot use the new version since I have the Y axis aka bed homing issue that some people have on the CR-10s and some other models, when that happens triggers a printer halt, since for me lose accuracy its not an option (1 fix is activate noise filters in firmware) capacitors didnt fix it to, I just cannot use 1.9 im stucked on 1.8
I'm a little late to the linear advance party. I have cr10 with Bowden. Tried this yesterday and struggled a little. I have S curve acceleration and junction deviation enabled. Would it be better with standard acceleration and jerk?
@@ChrisRiley well, after a little messing around I'm matching the quality of the previous prints. This time no clattering of the extruder and much better infill. There's light at the end of the tunnel!!
Hi, can you help me please ? I did it on 8 bit board, working well, but i have a 32 bit board with Marlin 2,0. I set the Advance_lin on and set to 0, and the Extruder motor do Nothing... like disabled. the test will be printed, and i see the acceleration fifferent, but comeing no material out... thx.
Just out of curiosity. I’ve been using an Ultimaker for quite a while now so I’ve just been going with default settings. I did own a Prusa machine and when I was using LA I think my number was K35 or something like that. This was almost a year ago. Has something changed that the numbers have decreased so much? You used K0.1, mine was K35 and it worked as well as yours did.
Correct, until Marlin 1.1.9 the K value was just a number. K30 was pretty common for PLA. Pursa is still currently using that older linear advance scale. Now the K values in LA 1.5 are much smaller increments that represent a volumetric value. Thanks you both for watching!
My linear advance calibration looks good except for the restart, at the start of each line (on both the calibration print and any model) it’s a little thin. On models you’ll notice gaps in the seams, or poor adhesion between the walls on starting locations (because the wall is too thin at start). Any suggestions? I thought maybe retraction is too high but i’ve tested between .2 & .8, retraction speeds between 20-70mm, no skipping of steps everything is calibrated perfectly on extrusion (bmg dual feed direct drive). Only thing I haven’t tried is adding extra restart distance - but everything i’ve read says don’t use restart distance. Your thoughts?
I would check through your Gcode, it sounds like the slicer is adding some retraction somewhere. Maybe like retract on layer change. What E driver do you use? What is would K value?
@@ChrisRiley made sure all the retraction on layer change and stuff was gone it is fairly good about retraction use but everytime it uses retraction the restart pressure just isn’t there. I use the TMC2209s, k0.13. All the corners and speed changes look amazing, but those darn restarts...
@@ChrisRiley - do you know why it would go thinner on every pass from 0 up to 2.0 on Marlin 1.1.9? Even on a bowden setup, CR-10? It's almost like it's BEST at 0 on a bowden setup - it almost seems like a negative value would be best (no joke) - and that's confusing to me. I can't seem to find the accurate info on this as the test creation page on Marlin references up to 150 which clearly isn't right on 1.1.9 with 1.5.
@@cschwehr I have seen that, it's usually because the grid isn't granular enough. Try running the test set to 0-0.5 My guess is you will end out with a setting of around 0.3 or 0.4.
Hey George! No, you should be all set to use the same K value for different layer heights. As long as you are staying with in that 75% layer height to nozzle size ratio and assuming your extruder can keep up with the output if should be roughly the same on the same types of filament.
Hello, A question? (problems problems problems .... sigh!) Could it be that if the nozzle is too close to the heated bed, the extruder will no longer print? not against it, but too close to the bed that the extruder no longer sprays PLA??? I do not know if the nozzle is blocked ??? I do not know it anymore at the moment, a riddle! if I have the nozzle up (the Z up) and manually extrud then does it work? I now use the new Cura 3.4.1 (the old Cura is still on the PC) Regards Rob.
Hello again, I found it! it was indeed so low (maybe against it) and therefore nothing came out of the nozzle !!! you do not hear much about this problem. but I'm glad that The DIY Prusa does work again! ( I am amazed every time that machine is finished with a workpiece ) Kind regards again from here! Rob.
i heard that you can extract the best settings from your printer form the gcode files provided on teh samples ( provigind the samples printed perfectly for you ) how do you do this.. video please:) its a feature in that pay slicer software but not in cura or slic3r ... it may make it easier.. also why does not slick3r have calibration gcodes built in .. ie configuring extruders steps and first layer z offset setups for bed levlling. or a manual bed level code where you move the bed to co ords then punch the extruder down .01 at atime tillit grabs paper and then figure out mesh bed level manually that way ? sorry about my dyslexia
@chris Riley, Would you know how to configure linear advance for 4 extrudes, the configuration tool doesn't have a setting for them, ie T0, T1 etc, cheers jason
Hey Jason, are they all different types or all the same. If they are all the same you can just enter your M900 command in the filament gcode settings and on tool change it will use that setting.
Hello, thanks for the video. I tried to repeat the test with my printer. Unfortunately, when it start to print, the extruder doesn't not work. the printed is moving according to the design without filament. If I do not activate this function with marlin, it works again. Any idea ?
In the newest versions on firmware for the MK2 and MK3 it is enabled, but it is the v1.0 of linear advance currently. So a K value for PLA will probably be somewhere around 30.
I don't think that your explanation of the effect is correct. When you are extruding the filament is pushed hard down the nozzle. Now you are pushing it a certain distance from the nozzle - say, ~5cm for a direct drive, or even 30cm for a bowden. The filament is a bit loose in the tube and also is a bit flexible, so it acts as a spring. Your extruder does compensate for accelerations and stops, but when you have this "spring" the filament keeps extruding for a bit, even after you have stopped the extruder motor. You explained it like your extruder runs at a constant speed - which it doesn't. It accelerates and decelerates with the x/y axes, but it does not account for that "pressure build up" as some are calling it. Some slicers had options to try to compensate for this, called by different names, but i remember something like "coasting" - which stops the extruder just before the line ends so the built pressure can finish it.
It is still a little hard for me to wrap my head around. I was worried I didn't explain it 100%. Hopefully it's enough to get people up and going with it.
I have a mk2s and looking in Slic3r PE most of the filament preset k values are 30-45ish? Has this changed with an update or is the decimal just moved in newer versions of marlin? Straight from Slic3r M900 K{if printer_notes=~/.*PRINTER_HAS_BOWDEN.*/}200{else}30{endif}; Filament gcode
@@ChrisRiley I thought so too. As the latest slic3r pe profiles indicate. I have ran this same test as this video and my results are more like yours with values under 1 and anything over 10 is exactly the same. I have only had the printer for a little over a week and the prusa online help chat didn't even know linear advance was enabled. I'm on firmware 3.1.0 r10. I have sent an email to prusa support but honestly don't have high hopes as you content has a higher technical reasoning behind your answers.
@@ChrisRiley I'm getting values of 0.3-0.4 for PLA and 0.7-0.9 for PETG but I'm having a hard time getting the PETG sticking to the bed not to mention it's a translucent color makes judging really hard. Here are my examples 0-150 in PLA photos.app.goo.gl/ypssDd8f1ZVtSB5w8 Then 0-0.5 PLA photos.app.goo.gl/tcT76DnMNR1r7bWW7 I'm just looking for a sanity check. Like I said I've only been at this for about a week and messing with linear advance settings less than day. How could I be the first one to catch this on a firmware that has been out for a year next month? I must be misunderstanding something somewhere.
Ive been trying to get this setup on my cr10 but it seems theres not enough space left on the board when i enable lin advance. I get this error message: Sketch uses 130816 bytes (100%) of program storage space. Maximum is 130048 bytes. Global variables use 15331 bytes (93%) of dynamic memory, leaving 1053 bytes for local variables. Maximum is 16384 bytes. Sketch too big; see www.arduino.cc/en/Guide/Troubleshooting#size for tips on reducing it. Error compiling for board Sanguino. Any ideas on how i can get this to upload?
do you need Linear Advance with Prusa MK3s? or is it auto in there software. just looking at the Pretty PETG profile thing and it said something about Linear Advance so then i decided looking into that was needed