Latest Firmware for TAZ5 - advanced development version

I want to start a new thread here to seperated this Marlin version from the official preconfigured Marlin releases posted in the main thread. This version here is based on RCBugFix branch of Marlin, which means it has more bugs fixed than the RC releases, but there may be also new bugs in there. Plus, I added my advance feature already calibrated for the TAZ5 extruder. This leads to a significant print quality improvement in certain areas, see the pictures here for a comparison:
Picture 1: No active advance on the left, active advance feature on the right side - you can see the bleeding edges on the left one, while the right one is much more straight and has sharper corners. Second, you can see the rough area in the top infill in the left one, where the infill lines changes direction at the line ends. The right one is much smoother, have a look at the shiny areas.
Picture 2: Same thing, but with a metal ruler for comparison.
Picture 3 and 4: 3 is the one without active advance, 4 is with enabled advance. You can see the dimensional error due to the bleeding edges in 3, where 4 is damn close to the 20mm.

Both squares were printed with the exactly same gcode, all speeds set to 50mm/s and with 500mm/s² acceleration. Have in mind that your results on a stock TAZ at these speeds may vary as I have done the Openrail X & Y axis mod.

One important thing for all testers:
.) Be sure to disable all pressure control system in your slicer! For example: Extra start length after retract, coast at end, pressure advance and simmilar.

Changes to stock Marlin:
.) Advance feature integrated and calibrated for PLA
.) TAZ specific values added (steps/mm, …)
.) New value in 1.1 “Travel acceleration” set to 1200
.) Enabled FW retraction with my best values for that
.) Enabled SD Support (of course…)
.) Reduced extruder acceleration from 3000 to 2400. 3000 is TAZ 5 default, but thats to high. Extruder is missing steps, resulting in blobs when unretracting. 2400 is the highest safe value for my extruder.
.) Enabled filament change possibility

.) No “Lulzbot-specific” changes in this release (Boot logo and another font) - this is code where a lot of things are changing in a short time, it’s too much affort to implement this “unnecessary” extra code every time.

Have fun, try it at your own risk as always :slight_smile:

OK, here is the .hex file now. Download it and rename the .txt to .hex.

Very interesting! I’ve always wondered why my Taz struggles with certain shapes while my R2 handles them perfectly. It never occurred to me that the problem lies in the firmware.

I use mostly ABS, will the fact that this is tweaked for PLA hurt my results with this firmware?

You will be the first ABS tester as far as I know - find it out :wink:
But most likely no. At last it should be much better than without advance at all, if you want to have it perfect you may want to calibrate the K factor. I wrote how to do that here.

You can set the k factor by sending M905 k50 for example. When you are satisfied by the results, the easiest way to set it without changing the value in the FW is to iclude the M905 command with your k value in the start code of your slicer.

Well this is really excellent. My prints have improved quite a bit with this firmware.

One thing I had to do was go through e-steps calibration again. It was under extruding quite a bit from the esteps that was calculated using the stock Taz 5 firmware. I had to increase my esteps from 832 to 849. Not sure why this happened.

Where can I find out how to use all the advanced features? Are they worth it? What is autotemp? And why would you use the firmware for retraction and setting filament diameter when you can control this from slicing software?

I haven’t run the k calibration for ABS yet. I bet when I do that my prints will get even better. I am still getting tiny about of bad behavior but 100x better. I suspect I need to tweak the k for ABS and that will get it even closer to perfect.

Thanks again for doing this.

The FW shouldn’t affect the esteps, it was part of the development to be 100% shure that the advance feature isn’t changing the absolute amount of filament laid down. You may have the feeling that it is changing the esteps, because depending on the way you calibrated the esteps before you may have “compensated” for the lack of the advance feature with a higher/lower estep value…
If you calibrate the esteps with this firmware, I strongly recommend the set K to 0 before doing the calibration (disabling the feature). This is done by sending M905 k0.

Autotemp tries to compensate the fact that you need a higher temperature for fast extrusion than for a slow one. As far as I know, it looks into the Marlin buffer and sets the extruder temp. based on the highest print speed. I can’t imagine that this works well, because Marlins buffer isn’t big and changing the nozzle temperature is a slow thing…
FW retract has two main advantages: First, you can change the retract settings on the printer, which is very useful if you try to find the best settings in a calibration print. No reslice and reprint necessary. Second, it allows you a more detailed control than the most slicers give you. For example you can select a different prime speed than retract speed. Works very well for me.

If you do a calibration for ABS, I’m interested in the K value you end up with. Please post pictures of you test cube then :slight_smile: It should be possible to improve your prints further, as ABS should need a slightly higher K value. If you are not shure which one is the best, post some pictures like the one I did for a reference in the 1st post with K values written on them and I will help you.

Yes that’s it exactly. The calibration procedure for the Taz without advance per the instructions leads to over extrusion as an end result. So I did compensate for that by reducing the esteps. Interestingly enough my old Esteps before I compensated and made it lower was 866. I bet if I went back all the way to 866 the prints would be even better, because even at 849 it still seemed a bit underextruded.

Very interesting.

I will try the firmware retraction. This is really awesome firmware. I think I finally have the Taz printing the way I wanted it to from the beginning. Lulzbot needs to get this into their stock firmware that they offer for the 5 and the 6.

Last question. Auto leveling. What does that do? Does it mechanically change the level or does it do it by applying offset to the z as x and y change during a print in real time? I realize this is a silly question because everyone in the world seems to know what it is but me.

It’s completely software, so no mechanical changes will occur. First, there are two ways of software bed leveling corrections:
ABL (Auto bed leveling): Used in most cases, also for the TAZ Mini. You define 3 or more points. After probing, the software tries to find a plane that fits as good as possible through all probed points. It then corrects each print move by adjusting the Z axis according to the plane.
MBL (Mesh bed leveling): Was introduced to compensate for very big print beds that are often slightly uneven. So this one probes a grid of points, dividing the bed in square areas where each area has it’s own plane that can be tilted. If your print move happens within one square, it works comparable to ABL. If your print move crosses one or more square boundaries, it splits the print move into segments on each boundary. In worst case, that means that a line ends up in multiple lines with slow downs due to yerk limitations at each line end.

Thanks for the info.

I am getting some gaps in smaller areas where I have to slow the print down. Fine detail is not getting filled. e.g. I am printing a trex skull and some of the smaller teeth are essentially porous. This is similar to what I have seen when using other pressure control solutions in my slicer, such as coasting and negative restart. Small details suffer. The larger volumes print beautifully.

I was printing the small t-rex skull 2 days ago with great sucess :slight_smile:
3 possibilities:
.) It has to do with not the not calibrated k factor with your ABS. I don’t believe that because you have problems with low speed, where the influence of advance gets nearly 0. But it might be possible.
.) You are missing steps due to some not good settings. That’s the most probable one in my oppinion.
.) Some other slicer settings are bad, or at last doesn’t work with enabled advance feature.

Which slicer are you using, can you post the config?

How risky would this be, or rather how crazy would you have to be to try with a titan extruder / e3d-v6 hot end vs just grabbing the stock 2016Q2 firmware and updating the config to fix the reverse extruder?
This is all considering I’ve never compiled / flashed the firmware on my Taz 5 before and that I’m a professional software engineer, just starting to get my feet wet with arduino platforms?

Edit: Eh, this seems easy enough…let’s do it!

Alright, spent the entire weekend fine tuning the slicer and stock firmware settings before jumping into this new firmware. Here’s the before results: Pimples from retraction, Z-Wobble, Overhang blobs, but over all one of the best prints I’ve gotten from my TAZ 5.

Tomorrow will be new firmware testing time. I’ve got to sleep sometime!


One note for your test, with your modified extruder your free filament length between the hobbed bolt and the nozzle seems to be shorter than with the stock Gregs wade. This means your best k factor may be a little bit smaller than the 75 I set for default for PLA.

Hmm, not sure if I did something wrong or the K value isn’t needed with the Titan extruder. From left to right (preview rotated bottom to top): Stock, K0, K15, K30 printing now but looking identical to these three.
Using Simplify3d, 0.2 layer height, 205 temperature, 50 mm/s print speed, 1.5mm retraction (not firmware). Thoughts?

It’s very likely the Titan helps with bleeding edges, but that much. .?
Two ideas:
Are the outer perimeters really printed with 50mm/s or only the inner ones?
Is the print speed slowed down due to cooling settings?

Forgot to come back and say I have gotten rid of the gaps I was originally getting in fine detail by turning on firmware retraction and getting my esteps properly tuned. This firmware is great. Nice job Sebastian. My Taz is finally printing things correctly.

Ah, that might be it. I’ll turn off cooling speed reduction and have everything print at the same speed and reprint.

Thanks, it’s always good to have feedback :slight_smile:

sigh I’ve got good news and bad news:

The Good:
Updated the gcode to print entirely at 60mms, was working great. Got K0 and K25 test prints done and was working on a K50 print.

The Bad:
My TAZ 5 has released the magic smoke and no longer works. =( The Z-Axis driver burnt to a crisp, and I found the heatsink that should have been on it with some black smoke around one edge.

Time to go cry into a beer.

That’s bad! :frowning:
The “good” news: that’s not due to the fw change, i changed non of the xyz stepper code and i paid attention to keep the current settings at stock level (all axes,bed and nozzle)

This problem can be found too often in this forum, maybe Lulzbot should check their used glue… Or was your printer inside a box or heat chamber?

Edit: even when the heat sink comes down, the driver should be ok because it has a built in over temperature protection. It disables the stepper until the temperature goes down again. Do you tried reattaching the heat sink, let it cool down and try again?