z steps issue on a modified TAZ 3


While installing the hexagon hotend on my TAZ 3, I got instructions to install Marlin TAZ 5 firmware.

Now when I try some test prints I see them squashed and smaller than they should be. Also, the nozzle pushing and running through previous layers.
When I looked through some posts about Z axis issues, I realized there are different values in Z for TAZ 1-3 than in later versions. Something about different rods (thread count)

What can I do about this? Should I install some modified firmware or just change those Z steps

The Taz 5 and the Taz 3 have different leadscrews. One will not work with the other. Your choices are to modify the hardware, or modify the firmware. It will probably be easier to go with the stock Taz 3 firmware and modify that to accept the Hexagon hotend values.

fortunately there is a firmware for TAZ 3 with hexa-

Somewhere down says TAZ3 single extruder with hexagon - it’s fangtooth version

I have new problem after flashing it through CURA-
Left Z axis motor is grinding and stopping. Sounds awfully painful :confused:

Any advice on this?


Your Z axis may be out of level now after the previous print attempt to print with the other firmware. If you are even 1 or 2 threads off, the carriage can be at too far of an angle and bind on one or more of the rods while the other one keeps turning and makes it worse. To fix this, find something flat and rectangular that will fit in between the Z motor mount and the bottom of the Z carriage on either side at about the same point. With the printer powered off and the motors decoupled, manually turn the threaded rod until the X motor mount and X idler mount are just touching your temporary spacer. Then reconnect everything and see if it moves correctly now. Be aware that a stepper motor when turned acts as a generator, and will send a pulse of electricity out and back into your board, which can toast your fuses.

I have done what you instructed-
Used a ruler with the distancer (one that comes with the lulzbot tool box)
Measured the distance from Z motor mount, to the undersite of the X carriage (both sides)
I’ve managed to level it at about 0.5mm precision

Still grinding in left motor when moving Z

I was sure this would solve it :frowning:

Hmm, post a picture of how it looks currently? Maybe we’ll see something. Also check that the motors are both still connected to power, aren’t plugged in backwards (which would possibly reverse one of them?) and the motor mount screws and X end spacing on the rods is still correct. None of that should have changed though. Since you would have had to run additional electrical fittings to make a Hexagon work with a Taz 3, i’d suspect a loose motor cable inside the box, or one that got unplugged and plugged back in incorrectly. Check out the assembly guides in the Ohai kit thingy https://ohai-kit.alephobjects.com/group/taz_3/ and verify all the cables are going where they should be going, and with the correct pinouts.


It looks like it’s the firmware issue.
When I revert to TAZ 3.1 stock firmware it gives no problem in the Z movement. It just happens with the fangtooth.hex file for TAZ 3.1

Support said they were gonna test it on a TAZ 3 at their place. So we will se if they can recreate the problem.
I will update the thread if the solution si found.

Thank you for your interest and help!

We haven’t been able to find a solution and I have been instructed to try with the community :slight_smile:

So, I have made 2 videos.
-One is with the stock lulzbot TAZ 3 firmware showing the absence of problems in Z movement

-Second is with the hexagon lulzbot TAZ 3 firmware showing the actual problem (you will hear it)

My thoughts are that if the problem were hardware related, it would be with both firmware.
To give some previous info-
Support provided me with TAZ5 firmware and I tried printing, which led me to wrong Z heights for my prints. They were squashed
They probably forgot during our long correspondence that I am a TAZ 3 user, I won’t blame anyone of course. All this tempering is at my responsibility.

Also, please notice strange behavior in the videos-
the one with the trouble Z movement has a rather higher speed and I think it goes overshot! I keep giving it a 10mm movement and I think it moves more.

So here you are. Some leads if anyone would help.

I need to see both Z motors at the same time in both videos to be sure. Is it possible the nosie is coming from the right hand motor out of the picture?

Mechanically,the system looks fine on the left. It’s either the other motor, or a motor voltage difference that is just making things louder. The Taz 4/5 leadscrews are slightly more massive, so it makes sense the firmware for the hexagon hotend might have a higher stepper motor voltage in the firmware left over from the 4/5 firmware if they started with a 4/5 firmware and worked backwards to make it Taz 3 compatable.

Here is a video of them together-

The noise is coming from the left side I am pretty certain.
Also note that when I disconnect them I leave just the left one, it works without the noise.
And I never lose alignment in X axis. So they are definitely working together

Support said they tested it on the same printer as mine and everything worked fine.
Could something weird have happened from TAZ5 firmware installation, that sticks around even after I install other firmware?
Can I do a “clean” install somehow? Reboot the Rambo clean… I dunno because I am getting out of ideas…

The motors are both rotating in sync, so its not mechanical offset or a reversed motor. And it works on the old firmware so it isnt electrical. It has to be something in the firmware, but it doesn’t show up on the other test machine.

That’s really weird.

You are going to just have to add the hexagon values into the working firmware. The configuration.h file inside the non curia uploaded versions of the firmware (I really need to figure out how to extract things from the hex files one if these days) should have the values you need to change. You will want to alter the thermistor, heater core and maximum print head temperature settings. If you need help finding those, let me know

Funny you should mention this.
I got my hexa last year (from makerfarm), when Lulzbot was still developing the firmware.

So then I asked someone to give me the firmware when they had finished it. It was before they streamlined the flashing through CURA.
These were the lines that they gave me to integrate into stock firmware and I quote:

"The firmware changes you need to make are going to be found in the file Configuration.h. Find the blocks below in the file and change the values to this:

#define TEMP_SENSOR_0 5
#define TEMP_SENSOR_1 5
#define TEMP_SENSOR_2 0

// When temperature exceeds max temp, your heater will be switched off.
// This feature exists to protect your hotend from overheating accidentally, but NOT from thermistor short/failure!
// You should use MINTEMP for thermistor short/failure protection.
#define HEATER_0_MAXTEMP 305
#define HEATER_1_MAXTEMP 250
#define HEATER_2_MAXTEMP 250
#define BED_MAXTEMP 150

You’ll need to add an entry to the PID settings section, look for:

// PID settings:
// Comment the following line to disable PID and enable bang-bang.
#define PIDTEMP
#define BANG_MAX 127 // limits current to nozzle while in bang-bang mode; 255=full current
#define PID_MAX 127 // limits current to nozzle while PID is active (see PID_FUNCTIONAL_RANGE below); 255=full current
#ifdef PIDTEMP
//#define PID_DEBUG // Sends debug data to the serial port.
//#define PID_OPENLOOP 1 // Puts PID in open loop. M104/M140 sets the output power from 0 to PID_MAX
#define PID_FUNCTIONAL_RANGE 16 // If the temperature difference between the target temperature and the actual temperature
// is more then PID_FUNCTIONAL_RANGE then the PID will be shut off and the heater will be set to min/max.
#define PID_INTEGRAL_DRIVE_MAX 127 //limit for the integral term should be set under PID_MAX term
#define K1 0.96 //smoothing factor within the PID
#define PID_dT ((16.0 * 8.0)/(F_CPU / 64.0 / 256.0)) //sampling period of the temperature routine
// If you are using a preconfigured hotend then you can use one of the value sets by uncommenting it

and add:

// AO-Hex on 24V
#define DEFAULT_Kp 9.5
#define DEFAULT_Ki 0.63
#define DEFAULT_Kd 37.78 "

If you can tell me If this is what you meant? Because if it is, I had already tried it today as a last resort. Didn’t work…
The solution must be somewhere in the values though. If I am getting too much voltage or something…

One more thing I have noticed,

Since flashing through CURA, I lost capability to flash through ARDUINO.
For some reason it acts as though nothing happened. Eventhough it uploads the sketch to the printer…


just to notify that things are sorted out now.
Firstly this flashing issue not being able to flash with arduino anymore-
Just revert to your original arduino version when you had bought the printer.

Regarding my Z steps issue-

It seems long ago, when we flashed the wrong firmware (TAZ 5 rather then TAZ 3 I needed), we made some LCD changes and hit “store memory” option
Because of that, it keep the wrong z steps per mm inherited from TAZ 5. And no firmware ever overrode it. I had to manually enter LCD (by accident) and change those values manually to steps per mm which are adequate…

funny :mrgreen: