TMC2130 experiments

TL;DR: They are neat, and require a lot of work! The FYSTEC ones especially.

If you don’t know what a TMC2130 driver is, then check out this:

and (sponsered video for them):

I was excited to try something new (DRV8825s are just not fun anymore, they just work!) and I’m working on a new 3D printer (the MP3DPV2) so I thought this might be a fun thing to play with.

There are several variants, the watterott’s are made in Europe, or by a company in Europe, I think. I bought mine from AliExpress, and they claim to be a “FYSTEC” brand. They can be used in standalone mode, or you can communicate with them via SPI. I bought the FYSTEC ones, and I didn’t mess with the standalone mode for more than a few minutes.

First off, why would I want them? Features I like for a 3D printer:

  • Quiet, which gives me a sense of calm, and I can hear problems with the printer’s motion easier.
  • StallGuard, which lets me use the motors themselves to detect endstops. Useful only for X and Y.
  • Software configurable current limits. No more messing with potentiometers.
  • Maybe better thermal dissipation, due to the heat sinking through the PCB, instead of through the die.
  • Error feedback, if a cable comes loose, they can monitor that, and report an error (and reset Marlin).
  • 1/256 microstepping. The signal from Marlin is still 1/16th steps, but the driver interpolates 16x more than that, which could be smoother, or maybe quieter, IDK.

Things that don’t matter for the CNC stuff:

  • StallGuard, Unless you’re using dual endstops, there’s no point in endstops
  • Quiet, I can’t hear anything when my CNC is running, besides the vac and the bit, and sometimes the router.

Negatives compared to DRV8825s:

  • They are a lot more work to set up, especially if you buy the FYSTEC ones.
  • The require soldering, electronics, and software skills.
  • On paper, they can’t sustain as much current as the DRV8825s. I haven’t done any experiments with this. They will do plenty for a 3D printer, but they have a sustained max current of 1.2A, and peak current of 2.5A (I think). We usually set the DRV8825s to 0.7V, which is 1.4A. That’s about the most they can handle. So on a CNC machine, we’ll need some good, scientific experiments to tell which works better. My gut is that they will both work, and they will both sometimes fail when you jam the bit into the work.
  • They require a lot more wires running across your controller.
  • The rambo/mini-rambo doesn’t come with them, and those are two awesome boards.

The FYSTEC rework:

The ones I bought came already soldered in stand alone mode. I have a decent “rework” station (it costs about $150, and has hot air, adjustable temps, and different solder tips). There are several things you have to do to get these into working order:

  • You have to remove all the pins from one side. This requires heating up all 8 solder points at once, and pulling them out while they are still hot. It’s a little easier to just destroy them, and pull them out one at a time, but you can damage the PCB when you go destroying them. I found the best thing that worked for me was clamping the board down, hot air in the left hand, and fat-tip soldering iron in the other. I would try to heat the pins with the soldering iron, and keep them molten with the air, and I used the solder iron tip to push the pins out.
  • You have to remove a small SMD resistor that makes it standalone (The blue box in the image above). This is easiest to do when you have those pins removed.
  • You have to short two little configuration pins (the green and red boxes above). This was the hardest part. I could heat them up, get plenty of solder on there, but when I removed the iron, the solder would just come with the iron. Also, they are super small. I have pretty good eyes, so if you don’t some magnification is required. Also a small small soldering iron tip is needed.
  • You solder on some of the pins downward, some upward, and one extra pin on the diag1 hole, which is the one closest to the potentiometer.

I bought a 5 pack, and I did this to all of them, even though I only wanted the endstops on two, and I only ended up installing 4.

I don’t think I saved enough money to justify that much work, but hey, it’s a hobby, it’s supposed to consume hours, right? The watterlott ones won’t have that rework, the pins even come loose.

The story with SPI:

SPI is pretty neat, the arduino is the master, and it chooses which thing to talk to by select it with the CS pin. The MISO, MOSI, CLK are all common for everything that uses SPI, including the LCD. All these need those pins joined together, and connected to the right spot on the RAMPS board.

The CS or chip select pins, however need to have one digital pin on the arduino for one motor driver. There are a few spares, ones like D40, D42, D44, and if you’re not using E1, there is an enable, step, and dir pin there. If you don’t use D53 (which IIRC, is for SD card support), then you can still use our bittersweet REPRAP_FULL_DISCOUNT_ALL_CAP_BIG_DISPLAY_WITH_A_CRAPPY_ENCODER. I didn’t look for hours, but I couldn’t find 5 spare pins without cutting into the display pins, so I decided to not use E1 with Z2, which gives me 3 more pins, and requires one less CS.

So, I don’t have the permanent wiring set up, but I have the SPI pins all jumpered, and that little thing took close to an hour to do. I hate soldering wires to wires. Someone would make me really happy to just sell me a cable that does that for like $10. The CS pins and endstop pins are just female/female premade wires for now.

The weird thing is that now that there are SPI cords all over the place, I’m worried that this improves thermal dissipation is going to go to crap, because the air can’t get to the heatsinks with all these cables all over the place.

<TODO get a pick of my beautiful wiring.>

Software/Marlin config:

Oh god, Just look through the Configuration_adv.h and see what you want to turn on. I used STEATHCHOP, the monitoring and X/Y stall guard. I am not messing with Hybrid at all, yet. Tom’s video is a pretty good overview. Also, this is a moving target. There is a flag that lets you do M122, and that is awesome.


M122 prints a table with a bunch of stats about the drivers, and the most useful is, at the bottom, it prints the registers for each driver. If it’s 00:00:00:00:00, then you don’t have the SPI right, and it’s just reading zeros. Mine were something like 80:00:C0:00:00 or something like that. It also prints things like the mode, the sensitivity and the current, if you are worried the settings aren’t making it to the driver.


If you turn on the monitor feature, and you have a single coil disconnected when the driver tries to move, it will set a flag, and Marlin will see that, and abort the print. It will have a warning message on the screen telling you that you need to reset, and at least the serial port will tell you which coil on which motor is busted. I would love to have this on my CNC machine for that rare time when something comes loose, and you are wondering why did it fail, and you wished it hadn’t just trashed your workpiece.


I spent the most time trying to figure this one out. The first problem was that I didn’t solder those super tiny jumpers. The second thing was that I wasn’t getting SPI communication (00:00:00:00:00) and the third thing was that one of the motors I had (I was testing on my desk by just grabbing the axle) stalled as soon as it started moving. But, it’s pretty cool when it’s working. I don’t know why, but I really like the idea of fewer switches, and fewer cables on my printer. That’s really the only reason I care.

For the record, I am pretty sure this feature trips when the steppers are about to lose steps, and it doesn’t actually lose any steps.

Installed on the printer:

I installed this new control board, and all 4 drivers on my MP3DPV1, and it’s working quite well. I had to adjust the sensitivity of X because this version can stretch X a little if it jamms in. And I’ll say again that I was able to use the LCD, without changing it’s pinout, just by remapping the pins_RAMPS around to get the CS pins to unused spaces.

I didn’t print anything, because I took my Z probe off for another project. :(. But I will be using these on my MP3DPV2, because I’ve already invested so much time.

They make the printer feel smoother, and after working with steppers for so long, I really like the idea that they know when there are open coils, or when they skip steps. It is measurably better than the DRV8825s.

But they are a lot of work, and smashing them into a ramps board is a pain, and it ends up looking ugly. The skills required to do this means it’s still probably an advanced technique, until someone comes up with a rambo like board with them and Ryan takes the time to configure Marlin for you.

If I knew then what I know now, I would probably still do this, but if they give me trouble in a few months, after the honeymoon has warn off, I’m taking them out. If you’re on the fence, don’t sweat it.

1 Like

Oh, and these are two more great resources for info:

(google translate does a good job with this).


1 Like

Here is a capacitor you need to add to that board when they are back in stock.

People who already use them keep going back to buy then when they get in stock. It’s a supply chain paradox.

Thanks for the info. I am planning to build an MP3DPV2 and I am considering the new Einsy Rambo board who have the TMC2130 on board. At least I will not have to mess with the hardware but there still Marlin to take care of. Like you said, we are hobbyists so spend time on this is the goal :wink:

I have also been eyeing the Einsy Rambo board, it looks pretty sweet and I also like the idea getting rid of the endstops and the skipped steps detection.



I have been trying to decide on which electronics board to replace on my Folger Tech Kossel. With this new option out now, I was starting to ponder the Einsy Rambo as well as the Rambo Mini, or MKS v1.4. With Ryan’s comments on the tuning of the TMC2130, I might take that out of the lineup.

I was looking thru some of the epilog challenges from the past on the instructable site & came across this DIY Flux Capacitor.

Since you’re considering new options, the TMC2660 has similar features and can also handle 2 amps of current.

1 Like

Very interesting.

If I get these TMC2130’s from aliepress would assume I don’t have to do any rework. Do these look like the right thing (im just looking for x and y)? I am plugging into a ramps1.4.,searchweb201602_2_10152_10065_10151_10344_10068_10130_10324_10342_10547_10325_10343_10546_10340_10548_10341_10545_10696_10084_10083_10618_10307_5711215_10313_10059_10534_100031_10103_10624_10623_443_10622_5711315_10621_10620_10810_10811_5722415,searchweb201603_41,ppcSwitch_4&algo_expid=0756b3a4-f0ec-4b6a-aa75-c6c75433e03e-8&algo_pvid=0756b3a4-f0ec-4b6a-aa75-c6c75433e03e&priceBeautifyAB=0


1 Like

Those still need the underside jumpers fixed. You’ll have to remove the resistor and jumper the two configs. Funny that these pics show the SPI pins up, but they are configured in standalone mode.

What do you think of these smoother addon driver boards that go between the motor the driver board. They are only $14.35 for 4.,searchweb201602_5_10152_10065_10151_10344_10068_10130_10324_10342_5722912_10547_10325_10343_10546_10340_5722612_10548_10341_10545_10697_10696_5722812_10084_10083_10618_5722712_10307_10059_10534_100031_10103_441_10624_10623_10622_10621_10620_5722512,searchweb201603_25,ppcSwitch_2&algo_expid=ba4256d3-1377-4efd-8fa7-9ad72333f18a-0&algo_pvid=ba4256d3-1377-4efd-8fa7-9ad72333f18a&priceBeautifyAB=0

I’ve never seen those. Seems like it would be a reasonable solution. I’m suspicious of the before/after photos, but I can imagine something like that working. Have you seen any reviews from people who aren’t selling them?

Check the board you already have. Most likely it already has flyback diodes on it, and so there would be no benefit to adding more.

I mentioned these smoother board addons earlier & just found a video showing reducing or eliminating the Salmon skin pattern with these. . He modified those addon boards to use 8x of the 1N5404 diodes & his results were quite noticable. I found this link that shows on the schematic drawing they are using 1N5404 diodes instead of the S3G’s. Looks like it might be worth trying these. What do you think?

These really smell like snake oil, but that video shows the difference quite well. I appreciate that. I might try these on my wanhao, which uses the melzi board and has integrated drivers.

I’ll get a set and try them on one of the ZenXY setups. If the reduce the noise significantly it should show up the easier than on the printer.

They seem a bit fishy to me as well, for a little different reason though. The China vendors all keep pushing them on me. They don’t push anything else but these things.

I have two of them here. I will drop them in a box if you guys have anything else you need to buy, first come first served. If they do work…that would be cool. They are just one of those for a problem I haven’t needed to solve. I did not the patterns on a round part recently but that was the first time.

I went ahead and ordered 4 of them from the link I gave. I can’t tell for sure whether those come with the short cables like the other ones I have seen. The description seems to say they do, but did not see them in any of the photos. I liked those more than the others I have seen since they have the better diodes. I will probably try them on my Delta printer 1st that has the MKS Gen board. My Makerfarm Prusa has a Rambo board on it & I do not want to take a chance on hurting that board.