tmc2209 notes

TMC2209 why are separate motor and logic voltages needed?

Ask QuestionAsked todayActive todayViewed 43 times1

Why do motor drivers require separate motor voltage and logic voltage?

I am looking to use a TM2209 stepper motor driver.

Below is a schematic of how I intend to power it. I’ll also be using a MCU, currently an Arduino but might switch to a 3.3V Teensy, connected to the controls pins shown. I’ve only included the relevant pins.

From this extract from the watterot website it seems to me like VIO is not actually needed. I’m sure I’m missing something.

On power-down the logic supply voltage VIO should turned off at first and then the motor supply voltage VM, because the internal logic of the TMCxxxx driver is powered from VM. ” https://learn.watterott.com/silentstepstick/faq/

Why would I need VIO at 5V or 3.3V if the internal logic is powered from VM? Can I run the driver with only 24V at VM?

If I wanted to power the MCU off the same 5V or 3.3V output of the voltage regulator (U3,) how would I protect the MCU from back EMF or if the motor is back driven?

Would it be better to have a separate voltage regulator coming of the 24V supply exclusive to the MCU?


simulate this circuit – Schematic created using CircuitLabmotor-controllerisolationlogic-levelShareCiteEditFollowFlagedited 4 hours agoJRE54.6k88 gold badges8484 silver badges145145 bronze badgesasked 5 hours agoWscott3533 bronze badges

  • 1If i do switch to a teensy ill still need to power it with 5v, some info of the PRJC forum mentions something to do with the proper power up of the teensy. In that case id need to switch U3 to a 3.3v regulator and also include a 5v regulator for the teensy. – Wscott 5 hours ago
  • (1) I have been using 3V3 Rpi Pico (powered by USB 5V) to control TMC2209. (2) I am using two PSU’s: (a) PSU1 = 200VAC to 12DVC 2A (cheapy AliEx SMPS), as VM (b) PSU2 = PSU1 stepped down by another cheapy SMPS LM2596, 12VDC input, 3V3 1.5A output as VIO. So far so good, nothing fried, yet. – tlfong01 3 mins ago    Edit   

Add a comment

1 Answer


Looking at the TMC2100 IC’s datasheet, VIO powers the IO drivers, at the very least. There is an internal regulator to regulate Vm down to 5V for use in the internal logic, but I guess they did not know whether you would be using it with a 3.3V or 5V MCU.

This is still odd however since they could have just derived the entire supply for the logic from the VIO pin whether you were applying 3.3V or 5V.

It’s at this point I would like to call your attention to the charge pump. It does not explicitly say what the charge pump voltage is, but reading it closely implies that the charge pump voltage is between 10 to 15V (they recommend a 16V charge pump capacitor). This is also the level I would expect for use in gate drivers to drive MOSFETs that can handle higher voltage MOSFETs. The IC supports 5V~46V so it uses such MOSFETs and would be unable to switch those MOSFETs if it was being powered from 5-15V if it did not have a charge pump.

Producing 10V to 15V from 3.3V takes a lot more stages than from 5V. To make a 10-15V charge pump that supports both 3.3V and 5V from VIO would require extra stages with some pain in the ass modulation or regulation, or disabling of the extra stages when 5V was at the input. Avoid all this means the charge pump cannot be powered off 3.3V. So my guess is that the 5V internal regulator is really there for the charge pump. If it powers anything else on the IC, that is secondary.

I wouldn’t be surprised if the VIO line powered a lot more of the internal logic than just the IO drivers.

enter image description here

If I wanted to power the MCU off the same 5V or 3.3V output of the voltage regulator (U3,) how would I protect the MCU from back EMF or if the motor is back driven?

This is something that is either dealt with internally with diodes (likely in the half-bridges) or you deal with it externally with diodes or snubbers. Check the TMC2100 datasheet.

Separate regulators will not protect from flyback unless the regulators are isolated. And flyback can punch it’s way through IO lines anyways. So you either isolate both supplies and IO lines or you snub at the source.ShareCiteEditFollowFlagedited 2 hours agoanswered 4 hours agoDKNguyen42.9k33 gold badges5353 silver badges113113 bronze badges

  • 1Thanks for the detailed explanation!, so it seems like if only using the 24v VM might work, abelit with inconsistent results, id also have to check what level the logic pins would be at. Probably best then to use a VIO like the manufacture suggest and not try and be clever! – Wscott 3 hours ago
  • 1This raises the question, what would be more efficient – seeing as id have to power other parts of the circuit to 5v, would it be better to power VIO at 5v and use a logic level converter to interface with 3.3v logic? or maintain all logic at 3.3v with another 3.3v regulator? – Wscott 3 hours ago
  • 1No, if the VIO is there to power the logic drivers, then it’s there to power the logic drivers and is required. That’s the way it was made and they won’t draw their power from elsewhere. You’re interfacing it with something else anyways (like a Teensy) which should have the VIO you require at hand. – DKNguyen 3 hours ago 

Add a comment

Your Answer

Community wikiPost Your Answer

Not the answer you’re looking for? Browse other questions tagged motor-controller isolation logic-level or ask your own question.

Categories: Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.