Trouble connecting the TMC2209 v985 with arduino Mega 2560

Hello everyone,

I would like some help regarding a small project I am trying to build.

I have the following components:

  • A 12V 12.5A power supply
  • An Arduino Mega 2560 with Arduino Proto Shield
  • A TMC2209 stepper motor driver
  • A NEMA 17 stepper motor

What I am trying to understand is how to properly connect everything together so that the stepper motor can work correctly.

Do I connect the TMC2209 directly to the 12V power supply output?
Do I need to use any resistor in between?
Or should it be connected through the Arduino?

The NEMA 17 stepper motor has a rated voltage of 3.4V and a rated current of 1.0A.

I am quite new to electronics and I searched online, but I found conflicting information. Some people say that the 12V should be connected from the side of the board where the heatsink is located, while others suggest connecting from the pin side. I am not sure which is correct.

I will also attach a photo and the pinout diagram I found online, because I am not sure if it is accurate. I also cannot understand how a proper soldering or wiring connection is supposed to be made on the heatsink side, since there is almost no physical space there for any wires or soldering.

Additionally, since I am using an Arduino Mega 2560, I am not planning to use an Arduino Uno CNC shield, even though I have seen many people using it. From what I understand, it is easier to use, but I assume it is not directly compatible with the Mega due to different pinout layouts and I am not sure how to adapt it properly.

I have also seen some people connect CNC shields designed for the Arduino Uno onto a Mega 2560, but I do not understand how the pin mapping or wiring needs to be changed.

I would really appreciate any guidance on how to properly start this project, as this is the main point where I am currently stuck.

I would also like to ask if specific cable thickness is required for the connections, or if a standard 0.5 mm² wire is sufficient.

Any help or clear wiring explanation would be really appreciated.




Having difficulties with that driver is a frequent question in forum. Use the "Search Forum" funtion in this screen. There are lots of topics showing what You ask for.

I have read a lot of them but if you read my question, it is a very specific that I didn't find in the forum. The diagram is from the forum but i couldn't find any answer to my questions. If you could help me it would be really appreciated!

For the moment: keep searching. Never used that driver myself so no ready to use suggestion here.

I do not have these so I looked it up and found the following on line:
A TMC2209 can safely drive that 3.4 V, 1.0 A stepper from a 12 V supply, provided you set the driver’s coil-current limit correctly.

The motor’s 3.4 V rating is the voltage that produces its rated current through a stationary winding:

Rcoil≈3.4 V1.0 A=3.4 ΩR_{\text{coil}} \approx \frac{3.4\text{ V}}{1.0\text{ A}}=3.4\ \OmegaRcoil​≈1.0 A3.4 V​=3.4 Ω

The TMC2209 is a chopping current regulator. It applies your 12 V in pulses and regulates the winding current, so the motor does not continuously receive 12 V. The higher supply voltage helps the winding current rise faster, improving torque at higher step rates. The TMC2209 supports motor supplies from approximately 5 to 28 V and is well within its capability at 1 A per phase.

Set the driver for no more then 1.0 A RMS coil current, or start somewhat lower, around 0.7–0.8 A RMS, and increase it only if more torque is needed. Watch the motor temperature; warm is normal, but it should not become too hot to touch.

The exact VREF setting depends on the particular TMC2209 module because boards use different sense resistors and some use the chip’s internal current sensing. Do not assume that a VREF value copied from another module is correct. The module manufacturer’s current-setting formula or its sense-resistor value is needed.

Also:

  • Connect the motor only while power is off.
  • Put a suitable electrolytic capacitor near VM and GND on the driver board.
  • Do not disconnect the motor while energized.
  • Ensure the driver has reasonable cooling, although 1 A should normally be easy for a properly designed TMC2209 module.
  • The motor should be a four-wire bipolar stepper, or a six-wire motor used without the center taps.

The 12 V supply does not need to supply 12.5 A for this motor but I do not know what other loading is. Due to the switching conversion, the input current will normally be substantially lower than the winding-current total. A decent 12 V, 1.5–2 A supply or greater should provide comfortable margin for one small motor and its electronics.

Thank you very much for your informations. I will have them in mind but the real problem is something else. The problem is that i can;t figure out how to connect the tmc2209 with arduino mega 2560, the power supply and the nema 17 stepper motor. from what i read in other forums is that in : M1B,M1A,M2A & M2B is for the stepper motor. VM & GD is for the power supply 12V and STEP, DIR & EN are connected to arduino. Many people use the cnc shield of the arduino UNO and they attach it to arduino mega 2560. But other people say that this is not easy because of different pinout and it may create a mess. so i am trying to find solution on how to connect those 3 elements together..

Without an annotated schematic I cannot tell what you are doing. With that I think you will get the needed help fairly quickly.

you mean the schematic of the pinout of tmc2209? because I have post it..

No the schematic of your circuit, your fuzzy pictures are missing to much information.

i have not yet connected anything because i am afraid that if i connect something wrong it might burn so i am trying to figure out how to connect anything . i have the TMC2209 with this pinout

i bought the ramps 1.4 controller because someone told me that it is the best solution in order to connect the TMC with UART.

the ramps schematic is this :



and it has also some jumper bridges parts and as i read those are to be set in the MS1 /MS2/MS3 depending on the steps that you want the motor to have (if i understand correctly.)
And the ramps 1.4 i will connect it over arduino mega 2560.
so it will be like this :

and this is the pinout if I connect the tmc in the RAMPR 1.4:

I really don't know what else i need to show because i havent connected anything yet. this is just from what i have found from forums , google etc. and i am trying not to rush on it and burn anything... thanks for your help and sorry for any inconvenience. I really try to explain as best I can.