Information about the TMC2130 and TMC5160 stepper drivers
These instructions apply to using the SilentStepStick TMC2130 and TMC5160 stepper drivers in SPI mode on OnStep Axis1 and Axis2. If using SPI mode stepper drivers it is required that both Axis1 and Axis2 use them. You cannot have, for example, a SSS TMC2130 for RA and a DRV8825 for Dec.
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.
The choice of the driver version depends on several factors, including whether you are using a specific PCB. In other words, one version of the driver can work with the MaxPCB and STM32, but will not work fully with the MKS Gen-L board.
The following make, model, and version drivers are known to work as described, use others at you own risk.
MaxPCB, MiniPCB and STM32:
If you are using one of MaxPCB, MiniPCB and STM32, you need an SPI version with the pins down.
The Watterott brand TMC5160 modules distributed through Digikey, etc. (v1.3) need the CLK pin grounded and also cut off so it doesn't plug in. These are tested and known to work.
The Watterott brand TMC5160 modules (v1.4) need the DCO pin cut off so it doesn't plug in. These are expected to work but are untested.
The FYSETC brand TMC5160 v1.2 should have the correct configuration.
The Watterott brand TMC2130 modules distributed through Digikey, etc. (v1.0 and v1.1) are always reported to work with the above boards, and are HIGHLY RECOMMENDED for those.
The FYSETC brand TMC2130 v1.2 are available from eBay, AliExpress and Amazon with pins pointing down are cheaper and available to more countries. This version has been verified to work.
Note: There are ways to get the FYSETC TMC2130 v1.1 to work with a MiniPCB, MaxPCB, or STM32. You can un-solder, and remove, the UP pins and resolder them to be DOWN instead. This requires a relatively advanced soldering skills and the proper tools available.
As we make it clear above, we recommend that you use v1.2 since there is no extra work involved and therefore it is not as error prone.
The BigTreeTech TMC2130 V3.0 SPI variant will also work with these boards. Do not get the DIY version! They have pins that point both up and down. You could snip off the ones that point up.
MKS Gen-L and RAMPS:
For the MKS Gen-L and RAMPS, the drivers mentioned in the previous section (MaxPCB, ...etc) will not work (actually, the Watterott brand ones supplied without the pins soldered can work if you solder the SPI pins so they are up and use jumper leads similar to the FYSETC v1.1 arrangement.)
Instead, you must use the FYSETC TMC2130 v1.1 on eBay and AliExpress that come with SPI enabled, and the pins pointing up. The package also includes jumper wires that you will use according to the Wiki page on the MKS Gen-L.
The BigTreeTech TMC2130 V3.0 SPI variant will also work with these boards. Do not get the DIY version! They have pins that point both up and down. You should snip off the ones that point down.
The FYSETC TMC2130 v1.0 modules are not recommended, since they come with SPI disabled, and OnStep can only support TMC2130 that have SPI. Some members were able to get these to work in SPI mode after de-soldering a jumper, and soldering two connections. This requires fairly advanced soldering skill since the jumpers are really tiny. Here is a photo of the driver after modification. There may be other brands and variations out there so be sure to read-up on the brand you end up with!
- TMC2130 stepper drivers have somewhat more limited current handling than, for example, a TI DRV8825. This isn't a problem for the typical OnStep user but it's often a good idea to choose stepper motors which the TMC2130 can fully power, such as ones with a current rating of about 0.9A. It's ok (and 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.)
- The older Pololu A4988 stepper driver module often serves as an example of how to wire one of these drivers up should you want to design/wire it yourself instead of using a RAMPS, MiniPCB, MaxPCB, etc.
- The Watterott drivers have extensive documentation, etc.