Tri-State for Silent Stepper Drivers TMC2100 / TMC2130


Main question: Does somebody already have some experience with using tri-state mode in a sketch? It seems to be possible, changing pinMode() - see this link.

Background information: I am just planning to set up some testing with Trinamic's silent stepper drivers (TMC2100 and 2130). They are generally pin compatible with commonly used A4988 / DRV8825, but imho they have some advantages by automatically reducing the coil current down to 34% when the motor stands still - thus reducing energy consumption by ca. 90%.

In my most recent project I am currently using 2 DRV8825 for driving two stepper motors. While stepper2 is only activated every 10 sec or so for about 1-2 seconds and then disabled (no torque required in the idle period), stepper1 has to be always on to ensure enough torque all the time.

Result: Heating problems as all the electronics, buttons, display, rotary encoder, connectors incl. power supply are housed in a rather small DIN rail cabinet.

My options so far:

  • Active cooling is NO option (due to some restrictions I have to follow).
  • The current is already at its lowest end (around 1.0A) where still enough torque is available for stepper1.
  • Shutting off stepper1 is no option - due to the required torque all the time.

One might say that 1.0A with passive cooling is ok for a DRV8825 looking at its specs, but the device gets pretty hot and in general it's no good on the long run for the device itself plus the other electronics (e.g. capacitors) in the cabinet. It's set up for an industrial environment where it has to work at least 2-3 years on a 12 hours shift 6 days a week.

-> That's why I came to silent steppers which are the only ones at the given size, but I was not sure if I could use them due to the TMC tri-state settings (at this point in time I want to use the current pcb design which is set up in a way that I can modify the settings of DRV8825 by an Arduino sketch). So I want to replace stepper1 driver with a TMC and see if the heating problem goes away.

Is my idea ok, or did I overlook something?

Hi, Just looked at spec sheets.

A quick look and very interesting, if you were starting at prototype stage I'd use the 2130 with SPI. But as you say you are trying to do an IC replacement with current pcb, so 2100, the quasi Tri State should work. You can only try it.

Tom.... :)

This board will drop standby current to 20%, uses Toshiba TB6560 chip.

Thanks @TomGeorge,

so I will give it a try and see if I can solve my problem that way. Once I have found the appropriate setup of the TMC2100 I will modify the next generation pcb so it will either be "hard-wired", or maybe it will carry a "Tri-State Dip switch" on board - just to make sure that I am prepared for modifications (e.g. higher/lower microswitching etc. - you never know...).

@outsider: Thank you for the link; I know that little board as I have already experimented with it. Unfortunately it is way too big as I have only about 20 x 20 x 10cm (8 x 8 x 4") in the cabinet for housing all the above mentioned devices. That's why I use the drv8825 today and want to replace driver1 with the TMC.

rpt007: Hi,

Main question: Does somebody already have some experience with using tri-state mode in a sketch? It seems to be possible, changing pinMode() - see this link.

I'd hardly call writing pinMode (pin, INPUT); something that needs much experience!

Anyway this is all moot, those inputs to the trinamic controller aren't needed for microprocessor control, they are to make it easy to avoid microprocessor control entirely. With a microcontroller you can set everything up using SPI. See section 24 of the datasheet "Standalone Operation"

From what I remember trinamic are expensive chips.


using the Trinamic chips that way (I mean modifying tri-state mode on software basis) is just for the testing phase and for my convenience; i.e. not having to modify wiring on a breadboard.

Maybe I skip it and go with a tri-state dip switch (didn't know until last week that tri-state switches even existed). I have to undergo very intensive tests to find out what the optimal configuration for my project looks like and with tri-state programming I wanted to give me a bit of comfort.

After having found out the optimal set up of the Trinamic driver I plan to modify my current pcb such that the configuration will be hard coded.

I know, the TMC chips are about 2x the price of my currently used DRV8825, but it's the only way to get my heating problem solved at my given restrictions (no active fan, limited cabinet space).

But as the electronics is just 10% of the overall costs of the end product and the TMC chip will increase those electronics cost maybe to 10,3% - that won't matter at all.