SKR 1.3 & TMC2130 on a Creality Ender-3
By: Damien Martin-Guillerez
Tags: 3d Printer, 3D Printing

A few month ago, I ordered a Creality Ender 3 with the intention to tweak it to be a better printer than the Prusa MK3 I have access at the maker space at my work.

One of the upgrade I wanted to do, was the silent stepper driver from Trinamic after hearing about them in YouTube videos from Thomas Salanderer and Teaching Tech. This requires a new card and Teaching Tech did a very good guide on how to install the MGS Gen L on a Creality Ender 3. Around the same time, Creality released a version of their board with TMC2208s. Those two options are easy to install but the Creality board is way too limited (especially very small memory) and both of those board are still using 8-bit processor (card derived from Arduinos).

A 32-bit card for the same price is the BigTreeTech SKR 1.3. It is compatible with the MKS Gen L but also include all the wiring for SPI and UART mode in the card, no need for fancy cabling to add those modes. I ordered mine from AliExpress with 4 TMC2130. I went for the TMC2130 over the TMC2208 because I want to play with setting crash detection on my Ender 3. If I weren’t not a coder and wanting to play with the stallguard feature, I would have gone for TMC2208, which gives better torque in silent mode. [EDIT] If I were to order it now, I would ordered with TMC2209 with get the best of both TMC2208 and TMC2130.

The only drawback of this card? Its lack of documentation! So here is my experience.

Preparing the SKR 1.3 for TMC2130

The hardest part on the SKR1.3 is to figure out what is the wiring. There is the official video by BigTreeTech but it is really fast and does contains much details. The documentation on Github is also hard to follow.

The main issue that troubled me was how to wire the TMC2130. I got the version 2 of the BigTreeTech TMC2130 breakout board which does not contains the diagnostic pin soldered (as far as I understand the version 3 does have them). So I was puzzled when I saw that board:

SKR 1.3 Stepper Driver breakout with extra pin for diagnostic

There is no corresponding pin on the TMC2130 breakout board:

TMC2130 breakout v2. without diagnostic pin.

After a few search on the internet, including a bug where the answer from BigTreeTech employee is pretty cryptic and the pinout of the original breakout board from Waterrott, I deduced that the pin can be safely connected:

The innermost pin of the breakout is the diag1 pin and in SKR is connected to a jumper to connect it to the correct endstop (a bit what is shown in that picture provided by BigTreeTech, except that that picture shows the incorrect pin). The second pin is either diag0 or V-REF depending on the breakout board and in the SKR board it is not connected anywhere. From the test I made, my stepper driver have the V-REF on that pin.

So it is safe to connect both pin even if you are not using sensorless homing since another jumper can be disconnected. Hence I recommend to always solder a pin to diag1. You can also connect the two pins, that is what I did:

The TMC2130 stepper driver breakout from BigTreeTech v2 with pin soldered to diag1 and vref.

My board came with the correct jumper for the SPI mode for the TMC2130, so no need to change that for me:

All the jumper on the stepper driver must be connected this way to enable SPI mode for the TMC2130.

Once I was there, only one step remained. I wanted to first do a replacement of the board while still using the endstop and the BlTouch. So I needed to not connect the diagnostic pin to the endstop. Happily, the SKR board is made for it, just remove XST, YST, ZST, E0S and E1S jumper:

Remove all the pin for disabling sensorless homing.

The final configured board with the TMC2130 drivers on:

At this point I did a last check, by following Teaching Tech advice, I powered the board using a 24V power supply (I had a stabilized power supply, if you don’t have one, you can use the Ender3 power supply) and verified the VREF on all stepper driver. It is fine to put them around 1V (+- 0.2V). The actual current setting is done in the firmware. Mine already configured correctly (most probably because I ordered them directly to BigTreeTech with the board).