Last edited · 70 revisions  

 


TMC SPI Driver Configuration and Selection

These instructions apply to using the SilentStepStick (and clone) TMC2130 and TMC5160 stepper drivers in SPI mode on OnStep and OnStepX.  If using SPI mode stepper drivers it is required in OnStep that both Axis1 and Axis2 use them.  You cannot have, for example, a SSS TMC2130 for RA and a DRV8825 for Dec.  In OnStepX you can have a mix of a drivers, but often the hardware design prohibits it anyway.

Please review the StepStick Driver Summary to learn about limitations with regard to current handling, voltage, and micro-step mode switching with these drivers.  Note that version 3 and later of OnStep allows setting the driver current using the SPI interface from Config.h settings.  This is often desirable for the TMC2130 but is required to use the TMC5160.

  • Reminder -  upload the properly configured OnStep firmware and do the following before any motor is connected:
    • Read the Stepper Driver Adjustment Wiki page.
    • For the TMC2130 if you choose to set stepper driver current (in mA) with AXISn_DRIVER_IRUN (etc.) set the Vref pot. at its highest level ~2.5V, instead of by motor current as usual.
    • For the TMC5160 you must set stepper driver current (in mA) with AXISn_DRIVER_IRUN (etc.)

The following make, model, and version drivers are known to work as described, use others at you own risk.  In the case of the MKS Gen-L and Mega2560/Ramps14 (and similar) it's best to get drivers that come in kits where a lead set (one set of four socket jumper leads per driver) is included.

These drivers are available from eBay, AliExpress, Amazon, Digikey, etc.

TMC5160:

These drivers come with pins either loose (you solder them) or both up and down so will work with any OnStep. Some versions may require some modifications to work.  They all come with the SPI interface enabled.  Also, they usually don't require any heat-sinks. 

The Watterott brand TMC5160 v1.3 drivers need the CLK pin grounded and also cut off so it doesn't plug in.  Distributed through Digikey in the US (without pins installed.)  They are tested and known to work.

The Watterott brand TMC5160 v1.4 and v1.5 drivers only need the DCO pin cut off so it doesn't plug in.  These are expected to work but are untested.

The BigTreeTech TMC5160 v1.2 drivers only need the CLK pin cut off so it doesn't plug in.  A few users have reported that they work without any other modifications. Only one user reported that he still had to use a wire to connect CLK to GND.

The FYSETC brand TMC5160 v1.2 drivers need the CLK pin grounded and cut off so it doesn't plug in.  These are expected to work but are untested.

TMC2130:

These drivers require no modifications to work.  They all come with the SPI interface enabled.

The Watterott/Trinamic brand TMC2130 drivers distributed through Digikey in the US (both with pins installed and without.)  Just remember to buy some heat-sinks to go along with them (if required) since they are not included in this case.  Version with pins installed is NOT compatible with the MKS Gen-L v1 or Mega2560/Ramps14 since the pins are all down.  For the version without pins installed you can orientate the pins as required so they can work with any OnStep. 

The FYSETC brand TMC2130 v1.1 drivers, pins pointing up only.  ONLY compatible with the MKS Gen-L v1 or Mega2560/Ramps14 (and a good choice for it!)

The FYSETC brand TMC2130 v1.2 drivers.  This version has been verified to work.  NOT compatible with the MKS Gen-L v1 or Mega2560/Ramps14 since the pins are all down.

The BigTreeTech TMC2130 V3.0 SPI drivers.  They have pins that point both up and down so can work with any OnStep board.

  • Do not get the DIY version!
  • These are not the best choice for my Max and Mini designs due to the heat transfer block design interfering with the current trim pot etc.

Miscellaneous Notes:

  • TMC2130 stepper drivers have somewhat more limited current handling than, for example, a TI DRV8825.  This isn't a problem for the typical user but it's often a good idea to choose stepper motors which the TMC2130 can effectively power, such as NEMA17 and smaller size with a current rating not exceeding ~1.4A or so (with effective cooling.)  It's sometimes desirable to pick stepper motors with a higher current rating (which will likely be capable of higher RPM's vs. a lower current rating stepper) but be aware that the TMC2130 might not be able to fully power them and this should be taken into account.
  • Using these SilentStepStick drivers be aware that there's a power up sequence requirement: "When using an external supply, make sure, that VCC comes up before or in parallel to 5VOUT or VCC_IO, whichever comes up later."  I design my controllers (MiniPCB and MaxPCB) so they can't be powered from a USB connection and the stepper motor supply provides VIO to satisfy this requirement.  There are also SilentStepStick Protectors available on eBay that solve this problem for other hardware (like a MKS Gen-L for instance.)
  • These use the legacy StepStick driver pins for SPI with MOSI, SCK, and CS (in OnStep these connect to the AXISn_M0_PIN, AXISn_M1_PIN, AXISn_M2_PIN respectively.)  If the AXISn_M4_PIN (SPI MISO) connection is also present OnStep can query the drivers for status info.
  • The Watterott drivers have extensive documentation, etc.