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


February 13th, 2019 Update

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: