Stepper driver change for no-noise bot

Jepp, mine are still working flawlessly. It was one of the best mods that I could do! :metal:

In case anyone needs this as well, sharing a guide how to replace stock drivers with TMC2208.

I haven’t tested them long enough, but they are absolutely quiet, which is cool and that makes a lot of difference :slight_smile:

So some good resources to go to:

  • video how to replace old drivers with TMC2208, most important takeaway - pay attention to their orientation - i.e. make sure DIR and GND pins get to same pins as with previous drivers. Replace when farmbot is powered off.

this table shows jumper configuration for various microstepping setups for both old and new drivers - I went for 2 microsteps per step

my settings before:

my settings now: (you need to set microstepping properly and invert motors)

so far so good, although I have some things to test & followup:

Torque (vs microstepping)

  • I suspect the new drivers might have a bit less torque. I have more issues to dig into soil with weeder tool - but - other factors might be influencing this - (soil was more wet and I have changed the tool to bear only the largest blades so it takes more power to put it into soil) Does anyone know (is there a tradeoff between torque and microstepping?)

Thermal management

  • TMC2208 have bigger heatsinks and get more hot than the old drivers. Many sources on the net suggest usage of fans. No issues so far, but not enough testing either - and hot season is still about to come. For the time being I kept minimum microstepping (not sure if more microsteps lead to more heat though). Also the voltage is not higher than 1.1 V - not sure if I can set it all the way up to 1.9 V as with the old driver (and if that would create better torque)

if someone knows answers to the above questions - it would be lovely to hear your suggestions :slight_smile:


1.9 Volts sounds like a dead driver soon. My drivers are set to 0.8 to 1V, can’t even go much higher, because my motors start to stall when its set too high.
My TMC drivers are in duty since december (1/2 stepping) and I havent had any issues yet with overheating or similar and they are not cooled yet. But my electronics box is not in the direct sunlight what could be a big difference.

There is, as Loveny approved in this post.

Thanks for sharing your experiences and also thanks for sharing your information sources. This might be really helpful if someone wants to change the drivers as we did :slight_smile: .

I’ve replaced the drivers on my 1.4 Farmduino and it seems not that there isn’t enough power to move anything. The motors make sounds like they want to move, but do not. Any advise? I’ve measured voltage at the screw and they are at ~1.1v

I had them set too high. all good now :slight_smile:


Hey Justin,

What voltage did you set them to in order to get them back to work?


I currently have them set to ~.88 volts and they are working really well. Using these drivers, farmbot is fast and quiet. I really like them.

@jschneck this behaviour is usually the same when using a4988 drivers.
Glad you still got it :slight_smile:

Pictures of the TMC2208 drivers - notice the orientation of the driver on the RAMPS board has the driver potentiometer low, closest to the green power connector.

Farmbot-9614.jpg3024×4032 925 KB

Heat sinks are to be mounted on the “flat” side, not on the chip - apparently, this a better way to conduct the heat off the chips. A couple of hours of testing and the heat sink for the Z axis never got too hot to touch. The square hole pattern in the center (under the white MC22 and Step ink) is where the heat sink should be mounted.

Farmbot-9615.jpg847×1129 116 KB

Farmbot-9619.jpg763×1017 114 KB

1 Like

Here’s a link to the amazon TMC2208’s I ordered.

Link to the manufacturer’s page on the chip.

1 Like

Did anyone have to implement the jumpers under the drivers on the RAMPS board? I struggled with my 2208 drivers all morning. I used EIDE’s settings, but got “CS Failed: [move_absolute] - :firmware_error” almost every move. After putting the A4988’s back on the X axis, I could easily calibrate.

Symptoms with the 2208s are the error above, especially when relatively moving long (1000mm) movements. The stepper moves super slow. I’ve set the driver VREF to .88 and monkeyed with the settings, but really never got the silent drivers to go. Super quiet for the short durations though!

Any thoughts appreciated. . .cd

Sure, MS1 is set on mine to get the motor running on 1/2 step. If you didn’t set any jumper it is set on 1/8 stepping, as you can see in the table a few posts earlier.

Ok, thx - I read somewhere you didn’t have to jumper them, but that may have been for a software config on the 2208. . . Wanted to be sure as my FarmBot build is in a barn about 30min away. Thanks again. . .cd

Found this pic of the jumpers here:

Ramps jumper.jpg

I guess nobody tried to use the TMC2208 drivers in UART mode?
Seems like you need to add a lot of coding in arduino to get them work but it should give more torque to your steppers

Hi All, especially @Klimbim and @Ascend,
last year i successfully installed a TMC2208 stepper driver for my z-axis motor and the result was fantastic! The z-axis moves very silent and smooth now.
AS my Y- and X-axis movements are now louder than the Z-Axis movements, I wnted to do the same thing last week, and I tried to exchange the A4988 by TMC2208, first on the Y-Axis, then for the X-Axis.
Surprisingly the motors on X and Y did not work after the exchange. They only try to move a bit, and then stall. I played around with Vref between 0,8 and 1,6 V, but it didnt change anything.

Does someone has an idea, why it worked so easy for me for the Z-Axis motor but not for the others? I tried several of the TMC’s but none of them worked correctly.
I don’t know what causes this problem or how to figure it out.
Any help is appreciated!

Make sure that your hardware settings are properly set. TMC2208 do not support full step, if you don’t plug any jumpers/Dip-switches its set to half stepping. The axis are probably stalling because the stepper are on 1/2 stepping and the encoder value is still set to the original value that only works on full stepping motors.

So simply try to change the hardware setting “MICROSTEPS PER STEP” to 2.

My settings are already correct I guess as I already had micro stepping 2 configured with the original stepper drivers, too.
They are exactly equal to the settigns of the z-motor, and that one works. Also the DIP switches are the same.

Can you try to move the axis with disabled encoder? If this works then measure the traveled distance roughly.

ok, i will try tomorrow, thank you.
I just dont understand, why it works for the z-axis motor without any problems, and i have trouble now with x- and y-axis motors…
What Vref would you recommend?