Marlin 1.1 config for TAZ6?

Hey all,

I’m hoping to get the latest Marlin 1.1 working on my TAZ6. I’ve been going through the config files, comparing options between the lulzbot 1.0 Marlin and the TAZ example config in the Marlin repo, but there is a bewildering array of options. Has anyone already done this and gotten something working?

Edit: I have something basically running, except it does not detect the bed probe. Anyone know how this should be set up? I tried

#define Z_MIN_PROBE_ENDSTOP
#define Z_MIN_PROBE_PIN 22

which is the pin defined in the Olive Marlin RAMBO board, but it never triggers.

Ok, got probing working. Pin 22 is correct, the trick was to make sure the Arduino IDE had “RAMBo” selected as the board, not the generic ATMega.

However, it appears this version of Marlin doesn’t have any probing failsafe. If gunk on the nozzle prevents electrical contact with the table, it will happily continue running into the table indefinitely. The Lulzbot 1.0.x Marlin has a check that it only attempts to run the Z-axis to a certain point and if it hasn’t stopped at that point it triggers the probe_failed function that does the rewipe. But this code is completely absent in 1.1.x. I added a simple check so it only runs to a predefined point and then aborts if it hasn’t stopped before that point, which works, but does anyone know whether the probe_fail/rewipe is a lulzbot-specific mod to the Marlin used on the TAZ6? Otherwise I’m confused why it would be removed.

My guess is that it has never been a part of stock Marlin but a Lulzbot feature. I’ve been looking into 1.1 for my Mini and observed the same omission. I still haven’t compiled anything (got through merging the config files so far) but planned combining the probe_failed with the new G12 clean nozzle code and try to accomodate G12 to what wipe nozzle is in Lulzbot Marlin.

Hi Lutorm,

I am a relatively new employee at AlephObjects and I have been working on a Marlin 1.1.4 branch for TAZ 6 and Mini. There are indeed a bewildering number of options and making your own 1.1.4 firmware is not trivial, mostly because of the use of the Z endstops for auto-leveling and a few tweaks that were done for EMI prevention.

I have a preliminary version of Marlin 1.1.4 that works on the TAZ and Mini. Although at present it does not support reprobe/rewipe or e-step tuning of the FlexyStruder, it does print. If you want to try out the new firmware, the code is in the “devel” branch here https://code.alephobjects.com/diffusion/MARLIN/browse/devel/. Be sure to read the “README_LulzBot.md” to learn how to configure it for different printers and toolheads and warning about using firmware that is under development.

– Marcio

This indeed is something that is not in upstream Marlin, but probably should be. My “devel” branch does not do this check yet, so at the moment you are one step ahead of me :slight_smile:

– Marcio

This is great news! :wink:

Rewipe is now implemented on the “devel” branch. Enjoy! :slight_smile:

Cool, I will give that a try!

As the default Marlin probe behavior is very unsafe, I hacked in a simple abort that only attempts to run the probe to a set z-height, not indefinitely like the default does. It doesn’t do rewipe, but is safe. (I’ve found that the rewipe rarely helps, anyway. I’ve been printing a lot of Nylon, and when the nozzle gets gunked up it basically needs to get scraped off with a razor blade to get the probe working again.)

The current devel branch, Marlin 1.1.4.17 protects against this and does the rewipe. It’s also come a fairly long way since my last post, so should work really well for you.

Give it a go. Any feedback would be appreciated :slight_smile:

– Marcio

Do you have a Mini hex binary that I can download somewhere, or source only for the moment? Eager to try, a bit weary to get my build env correctly setup for the purpose.

Any chance of getting some love for the Taz 5?
There are some features of 1.1 that would be very useful to us.

Yes, I’ve just recently added support for the TAZ 5 and have started testing. Got a good print out of the standard toolhead, but haven’t tested anything else. You can check out the “devel” branch and it should be version 1.1.4.37 or later.

One big change is that there are no longer individual preheat settings as in the old TAZ 5 firmware. Now heat-up should be done using start GCODE as it is done in the TAZ 6. At some point, Cura 2 Beta will be updated with new TAZ 5 profiles to support that.

@mrvanes: I apologize for not seeing your request earlier. I haven’t been checking the forums much unless someone else pings me.

There are now compiled versions of the new Marlin here:

https://devel.lulzbot.com/software/Marlin/1.1.4.37/

But please be aware that this is still experimental, so use with caution (and in particular, keep an eye on your prints, just in case).

– Marcio

Yes! :smiley:
And I will be careful… :unamused:

btw, does the Marlin_Mini_SingleExtruder_1.1.4.37_c53fed2.hex have LIN_ADVANCE enabled?
Guess not:

//#define LIN_ADVANCE

Update: found three problems.

  • Probe structuraly fails at second washer, i.e. it touches the washer but disregards the probe and starts wipe, returns to second washer, touches it (correctly) and bails out.
  • Without reset a genuinely failed first washer probe leaves Z approximately an inch too high for a new probe. So I had to reset the printer to correctly start a new probe (which eventually fails at second washer, see first problem).
  • Home offset is not shown in M501 output (I need -1 on Z because of e3d nozzle)

Reverting to 1.1.0.11

Working well on my Taz 5 so far. Would we be able to get a version with LIN_ADVANCE enabled or the source files so we can compile one ourselves?

The code is here: https://code.alephobjects.com/diffusion/MARLIN/browse/devel/
Could you give a short heads-up of the steps of selecting the right printer and target? I assume you’d use Arduino to compile?

https://ohai.lulzbot.com/project/firmware-flashing/firmware-flashing/

I used this to help me figure that out. Though I’m no sure if we use Arduino Mega 2560 or Mega ADK since they’re separated in the new version of Arduino.

:Update:
After looking at their source I don’t think they use Arduino to compile.

Hi mrvanes,

Probe failures are often caused by dirty nozzles, but if you are sure that it is clean there is one thing you can try to test the electrical connectivity. Manually bring the nozzle down on a probe washer and then type “M119”. Ensure that the Z-Min endstop is triggered. If it is not, then the probe will fail in the manner your describe. Sometimes I test this by using a jumper wire to short the bed washers to the nozzle, but I would only run that test with the extruder cooled down so you don’t burn yourself.

As for the home offset, I’m not sure what you mean by this, but Marlin 1.1.4 does have something called workspace offsets. This has been disabled in our firmware because it modifies the behavior of G92 in a way that was incompatible with some of our start GCODE for certain toolheads. If you were to need that for an E3D toolhead, you would need to comment out the line “#define LULZBOT_NO_WORKSPACE_OFFSETS” in Conditionals_LulzBot.h and recompile custom firmware for that particular nozzle.

The second possibility is that you are referring to a Z-Probe Offset. This is set using “M851” (http://marlinfw.org/docs/gcode/M851.html). The default value is -1.5 in our firmwares. Follow this by M500 when you are satisfied to save the values to EEPROM.

– Marcio

Hi Menissalt:

You can compile the FW using arduino-1.8.3 IDE. Select “Arduino/Genuino Mega or Mega 2560”. Then modify “Marlin/Configuration_LulzBot.h” and set your printer and toolhead there.

TAZ users will need to install the U8G library in their Arduino libs for the LCD support (https://github.com/olikraus/u8glib).

– Marcio

Actually, easiest is probably simply to copy the contents of “Marlin/ArduinoAddons/arduino-1.8.3/libraries” in the repo to your Arduino SDK libraries directory. That way you’ll be sure you are getting the right version.