Stepper driver change for no-noise bot

Hoi zäme,

I just got the tip from @Ascend to change the stepper drivers to TMC2208 ones and this works perfectly, thanks again @Ascend. I can recommend this to everyone who likes to have a no-noise farmbot. This is such a drastic change, I would even recommend to ship them with the farmbot @roryaronson @Gabriel. I cannot even hear the bot anymore :slight_smile:

The drivers are availble for the same price as the old ones if this is correctly displayed in the farmbot BOM with 30$ for all 4



Quick question @Gabriel: When I would like to enter the encoder scaling for currently set 1/8 steps I would need to insert Encoder scaling = 10000 x motor resolution x microsteps / encoder resolution = 10.000 x 200 x 8 /360 = 44444,4. When I try the webinterface says that max. is 32000, would you be able to adjust this in an upcoming update?

That sounds great, thanks for sharing. I’ve increased the encoder scaling limit, so it should be possible with the next FarmBot OS release.


The increased limit should now be available (in FarmBot OS v7.0.1).


Hello there,
I’ve recently replaced the A4988 stepper driver with the TMC2208 ones and it indeed works great. Thanks for sharing :slightly_smiling_face:.
I was wondering if you could assist me with an issue due to encoder and motor settings in the web app. I’ve accidently set wrong values for the encoder scaling factor and the steps per mm. I’ve inserted the TMC2208 correctly and set MS1 (low), MS2(low) and MS3 (high). So that would be 8 microsteps per fullstep (Datasheet).
I’ve set 10 steps per mm (was 2 microsteps before) and a scaling factor of 11112 (also 2 microsteps).

As soon as I enter the correct values for 8 microsteps (40 steps per mm) and a scaling factor of 44445, my raised bed dimensions decreased.
Perfoming an manual calibration fails because after the the end is reached it starts moving to the home position really slowly while the message ‘calibration idle’ is shown.
So I was wondering why does the settings for 2 microsteps are working perfectly fine while the calculated values for 8 microsteps are causing trouble.
Any idea would be highly appreciated.

Glad to hear that it works for you!

Enter the values for 1/8 stepping and disable the USE ENCODERS FOR POSITIONING setting.
Now run an axis for 100mm in the controls tab and measure the moving distance, but also keep an eye on the SCALED ENCODER (MM) box. If your settings are right, then your encoder output should be almost 100mm and the measured distance aswell.


Thanks for your reply. I’ve run a few tests and my encoders and motors are working fine now. The measured distance is 100mm and the values seems to be correct either.

I was also able to adress the issue with the raised bed dimensions. I totally forgot that I had enabled the dynamic map size setting, since I don’t use the entire length of the Y axis. I disabled it, entered the axis length parameters manually and my raised bed in the FarmDesigner is now displayed correctly. :smile:

Despite of that the manual calibration process outputs negative values every time. Also if I use the corrected values.

Since I use 8 microsteps it appears that an overflow occures during the calibration process.
Correct me if I’m wrong but with 40 steps per mm, FarmBot has to count 1200mm x 40 steps = 48 000 steps for the Y axis during calibration. Since there was a limit with the value 32 000 in the web app, I’m not sure if the calibration process is affected by it. But that would explain why the 2 microstep settings worked since the don’t exceeded the value 32 000.
Unfurtunately when I use these setting FarmBot doesn’t accelerate and deccelerate anymore. It doesn’t matter if use encoders for positioning is enabled or not. I know these are just asthetic things and don’t impact the functionallity at all, but it would be interesting to know what it is caused by.

Thanks again @Ascend for helping me and have a great weekend!


The value for acceleration/deceleration was set in or steps in the past, as you can see in the picture of your hardware settings above. There was an update in the last few days that changed those values in millimeters.

So your motors take 4 times more steps to move the axis a millimeter. That means that you would also have needed to multiply the speeds and acceleration with 4.

I’m not sure if this was already been published to the webapp when you tried it, now it should be up for sure. Please let us know if this issue still persists, maybe there might be something that gabriel missed :slight_smile:

Can someone share a link to the site they used to purchase the TMC2208, please?



those of you who are using TMC2208, can you share settings of microsteps, encoder scalin, steps per mm and other device settings etc that works for you?

i plan to install them this weekend, it would be great to save a lot of time by just getting inspired by what worked for you :slight_smile:

With other words you’re too lazy to do the math yourself, heh? :slight_smile:

No prob, here are mine:

and I should have 1/2 stepping if I am right, I believe I choose the smallest stepping possible for this

is this setup working well for you? My understanding so far was that TMC2208 does microstepping always and minimum is 1/2 step. I see in your settings “microsteps per step” set to 1 - should it not be set to the microstepping sum used?

So whenever microstepping is used, is it just the 2 settings that need adjustment - steps per mm and encoder scaling?

thx a lot for replys, I had some troubles getting micrtepping set up well with the stock drivers also :slight_smile:

You are absolutely right, the minimum step division is 1/2 step.

When we did these modifications, there was no setting for microstepping so we adjusted the STEPS PER MM and ENCODER SCALING with the provided formula in the software docs.

Thanks to Gabriel, we are now able to make these changes via sotware :+1:

Absolutely right! But its much easier to change the MICROSTEPS PER STEP.

Can you post a video to show us how quiet your FarmBot is with the new stepper drivers?


You really will not hear anything except some mechanical noise from the belts and such… absolutely quiet, comparison like night and day :wink:

All of my axes recently started to make a ticking sound, two times a second. No matter what speed and if the belt is connected or loose … coincidentally every time the sound appears, the RX LED on my MKS Gen board turns on for a few milliseconds.

@Klimbim yours still working as expected?

Thanks for all the answers. One more question - did you set jumpers somehow on the board? I have farmduino 1.4…

found this guide for jumper settings:

Check your Farmduino board, there should be a small red box with dip switches next to the stepper drivers. Each switch is labeled with “MS X” which corresponds to the MS1-3 on your guide table.

We had to set jumpers directly below the drivers, which made it necessary to unplug the driver. Your board seems to be much more comfortable :slight_smile: