Trinamic Motion Control Manufacturer Skill
Overview
Trinamic (now part of Analog Devices) specializes in motor control ICs:
- TMC21xx: Basic stepper motor drivers
- TMC22xx: Advanced stepper drivers with UART/StallGuard
- TMC23xx/24xx: Stepper drivers
- TMC26xx: High-power stepper drivers
- TMC4xxx: Gate drivers and motion controllers
- TMC5xxx: Integrated motion controllers
- TMC6xxx: 3-phase BLDC/PMSM drivers
- TMC7xxx: Specialized drivers
MPN Structure
TMC[FAMILY][SERIES]-[PACKAGE][-SUFFIX]
| | | | |
| | | | +-- T = Tape and reel
| | | +-- Package code (LA, TA, WA, BOB)
| | +-- 2-digit series within family (00-99)
| +-- Family digit (2, 4, 5, 6, 7)
+-- TMC prefix (all Trinamic parts)
Example: TMC2209-LA
| | | |
| | | +-- LA = QFN package
| | +-- 09 = Series number
| +-- 2 = Stepper driver family
+-- TMC = Trinamic prefix
Example: TMC5160-TA-T
| | | | |
| | | | +-- T = Tape and reel packaging
| | | +-- TA = TQFP package
| | +-- 60 = Series (motion controller)
| +-- 5 = Motion controller family
+-- TMC = Trinamic prefix
Family Codes
| Family |
Description |
Applications |
| TMC21xx |
Basic stepper drivers |
TMC2100, TMC2130, TMC2160 |
| TMC22xx |
Advanced stepper drivers |
TMC2208, TMC2209, TMC2225, TMC2226 |
| TMC23xx |
Stepper drivers |
TMC2300 |
| TMC24xx |
Stepper drivers |
TMC2400 |
| TMC26xx |
High-power stepper |
TMC2660, TMC2690 |
| TMC4xxx |
Gate/motion controllers |
TMC4361, TMC4671 |
| TMC5xxx |
Integrated motion |
TMC5041, TMC5072, TMC5130, TMC5160 |
| TMC6xxx |
3-phase BLDC/PMSM |
TMC6100, TMC6140, TMC6200 |
| TMC7xxx |
Specialized |
Various |
Package Codes
| Code |
Package |
Description |
| LA |
QFN |
Leadless Array - most common |
| TA |
TQFP |
Thin Quad Flat Package |
| WA |
WQFN |
Very thin QFN variant |
| BOB |
Breakout Board |
Evaluation/development board |
Package Selection Guide
| Application |
Recommended |
Notes |
| Production |
LA (QFN) |
Smallest footprint, best thermal |
| Prototyping |
TA (TQFP) |
Easier to hand solder |
| Development |
BOB |
Plug-and-play evaluation |
| Tight spaces |
WA (WQFN) |
Ultra-thin profile |
Suffix Codes
| Suffix |
Meaning |
| -T |
Tape and reel packaging |
| -TR |
Tape and reel (alternate) |
| (none) |
Tube/tray packaging |
Popular Product Series
TMC21xx - Basic Stepper Drivers
| Part |
Features |
Max Current |
| TMC2100 |
Basic driver, stealthChop |
1.2A RMS |
| TMC2130 |
SPI interface, StallGuard2 |
1.2A RMS |
| TMC2160 |
High power, spreadCycle |
2.5A peak |
TMC22xx - Advanced Stepper Drivers
| Part |
Features |
Max Current |
Interface |
| TMC2208 |
UART, stealthChop |
1.4A RMS |
UART |
| TMC2209 |
UART, StallGuard4 |
2.0A RMS |
UART |
| TMC2225 |
Enhanced 2208 |
1.4A RMS |
UART |
| TMC2226 |
Enhanced 2209 |
2.0A RMS |
UART |
TMC5xxx - Motion Controllers
| Part |
Features |
Notes |
| TMC5041 |
Dual driver + controller |
2 motors |
| TMC5072 |
Dual driver + ramp |
2 motors |
| TMC5130 |
Driver + controller |
Single motor |
| TMC5160 |
High power + controller |
3A RMS |
TMC6xxx - 3-Phase Drivers
| Part |
Application |
Voltage |
| TMC6100 |
BLDC gate driver |
6-25V |
| TMC6140 |
BLDC power stage |
6-36V |
| TMC6200 |
High voltage BLDC |
8-60V |
Replacement Compatibility
Trinamic parts are compatible when:
- Same series number (TMC2209 vs TMC2209)
- Same package (LA vs LA, TA vs TA)
- Different packaging suffix (-T vs no suffix)
Upgrade Paths
| Original |
Upgrade |
Notes |
| TMC2208 |
TMC2209 |
Adds StallGuard4 |
| TMC2100 |
TMC2130 |
Adds SPI + StallGuard2 |
| TMC5130 |
TMC5160 |
Higher current |
| TMC2225 |
TMC2226 |
Higher current |
NOT Compatible
| Part A |
Part B |
Reason |
| TMC2130 |
TMC2209 |
Different interface (SPI vs UART) |
| TMC2100 |
TMC2208 |
Different interface (STEP/DIR vs UART) |
| TMC5xxx |
TMC21xx |
Different architecture |
Common Applications
3D Printers
| Part |
Use Case |
| TMC2209 |
X/Y/Z axes, extruder |
| TMC2208 |
Older designs |
| TMC5160 |
High-current motors |
CNC Machines
| Part |
Use Case |
| TMC2160 |
Light duty spindle |
| TMC5160 |
Axis motors |
| TMC6200 |
BLDC spindle |
Robotics
| Part |
Use Case |
| TMC4671 |
Servo control |
| TMC6100 |
BLDC joints |
| TMC2209 |
Small actuators |
Handler Implementation Notes
Pattern Matching
// All Trinamic parts start with TMC
if (!upperMpn.startsWith("TMC")) {
return false;
}
// TMC21xx - Basic stepper drivers
"^TMC21[0-9]{2}.*"
// TMC22xx - Advanced stepper drivers
"^TMC22[0-9]{2}.*"
// TMC4xxx - Gate drivers / Motion controllers
"^TMC4[0-9]{3}.*"
// TMC5xxx - Motion controllers
"^TMC5[0-9]{3}.*"
// TMC6xxx - 3-phase drivers
"^TMC6[0-9]{3}.*"
Package Code Extraction
String extractPackageCode(String mpn) {
String upperMpn = mpn.toUpperCase();
// Check for breakout board first (longest match)
if (upperMpn.contains("-BOB") || upperMpn.endsWith("BOB")) {
return "Breakout Board";
}
// Package codes: -LA, -TA, -WA (with optional -T suffix)
if (upperMpn.contains("-LA") || upperMpn.matches(".*LA(-T)?$")) {
return "QFN";
}
if (upperMpn.contains("-TA") || upperMpn.matches(".*TA(-T)?$")) {
return "TQFP";
}
if (upperMpn.contains("-WA") || upperMpn.matches(".*WA(-T)?$")) {
return "WQFN";
}
// Check without hyphen separator
if (upperMpn.endsWith("LA") || upperMpn.endsWith("LAT")) return "QFN";
if (upperMpn.endsWith("TA") || upperMpn.endsWith("TAT")) return "TQFP";
if (upperMpn.endsWith("WA") || upperMpn.endsWith("WAT")) return "WQFN";
return "";
}
Series Extraction
String extractSeries(String mpn) {
String upperMpn = mpn.toUpperCase();
if (!upperMpn.startsWith("TMC")) {
return "";
}
// Find where series number ends
int seriesEnd = 3; // Start after "TMC"
for (int i = 3; i < upperMpn.length() && i < 7; i++) {
if (Character.isDigit(upperMpn.charAt(i))) {
seriesEnd = i + 1;
} else {
break;
}
}
return upperMpn.substring(0, seriesEnd); // e.g., "TMC2209"
}
Related Files
- Handler:
manufacturers/TrinamicHandler.java
- Component types:
MOTOR_DRIVER, IC
- Note: Trinamic was acquired by Analog Devices in 2021
Key Features by Series
StealthChop
Silent operation through voltage PWM chopping:
- TMC21xx: StealthChop (1st gen)
- TMC22xx: StealthChop2 (improved)
- TMC5xxx: StealthChop2
StallGuard
Sensorless load detection:
- TMC2130: StallGuard2 (SPI only)
- TMC2209: StallGuard4 (UART)
- TMC5xxx: StallGuard4
CoolStep
Current reduction based on load:
- TMC2130: Yes
- TMC2209: Yes
- TMC5160: Yes
Learnings & Edge Cases
- Analog Devices acquisition: Trinamic was acquired by Analog Devices in 2021, some new parts may use ADI branding
- BOB = development: "-BOB" suffix indicates breakout board, NOT a production package
- UART vs SPI: TMC2208/2209 use UART, TMC2130 uses SPI - NOT interchangeable without firmware changes
- StallGuard versions: StallGuard2 (TMC2130) and StallGuard4 (TMC2209) have different tuning parameters
- -T suffix: Tape and reel packaging, functionally identical to tube packaging
- TMC5xxx dual: TMC5041/5072 control TWO motors, TMC5130/5160 control ONE motor
- 3-phase vs stepper: TMC6xxx is for BLDC/PMSM motors, NOT stepper motors
1---2name: trinamic3description: Trinamic Motion Control MPN encoding patterns, motor driver series decoding, and handler guidance. Use when working with Trinamic stepper drivers and motion controllers (TMC series).4---5
6# Trinamic Motion Control Manufacturer Skill
7
8## Overview
9
10Trinamic (now part of Analog Devices) specializes in motor control ICs:
11- **TMC21xx**: Basic stepper motor drivers
12- **TMC22xx**: Advanced stepper drivers with UART/StallGuard
13- **TMC23xx/24xx**: Stepper drivers
14- **TMC26xx**: High-power stepper drivers
15- **TMC4xxx**: Gate drivers and motion controllers
16- **TMC5xxx**: Integrated motion controllers
17- **TMC6xxx**: 3-phase BLDC/PMSM drivers
18- **TMC7xxx**: Specialized drivers
19
20---
21
22## MPN Structure
23
24```
25TMC[FAMILY][SERIES]-[PACKAGE][-SUFFIX]
26| | | | |
27| | | | +-- T = Tape and reel
28| | | +-- Package code (LA, TA, WA, BOB)
29| | +-- 2-digit series within family (00-99)
30| +-- Family digit (2, 4, 5, 6, 7)
31+-- TMC prefix (all Trinamic parts)
32
33Example: TMC2209-LA
34 | | | |
35 | | | +-- LA = QFN package
36 | | +-- 09 = Series number
37 | +-- 2 = Stepper driver family
38 +-- TMC = Trinamic prefix
39
40Example: TMC5160-TA-T
41 | | | | |
42 | | | | +-- T = Tape and reel packaging
43 | | | +-- TA = TQFP package
44 | | +-- 60 = Series (motion controller)
45 | +-- 5 = Motion controller family
46 +-- TMC = Trinamic prefix
47```
48
49---
50
51## Family Codes
52
53| Family | Description | Applications |
54|--------|-------------|--------------|
55| TMC21xx | Basic stepper drivers | TMC2100, TMC2130, TMC2160 |
56| TMC22xx | Advanced stepper drivers | TMC2208, TMC2209, TMC2225, TMC2226 |
57| TMC23xx | Stepper drivers | TMC2300 |
58| TMC24xx | Stepper drivers | TMC2400 |
59| TMC26xx | High-power stepper | TMC2660, TMC2690 |
60| TMC4xxx | Gate/motion controllers | TMC4361, TMC4671 |
61| TMC5xxx | Integrated motion | TMC5041, TMC5072, TMC5130, TMC5160 |
62| TMC6xxx | 3-phase BLDC/PMSM | TMC6100, TMC6140, TMC6200 |
63| TMC7xxx | Specialized | Various |
64
65---
66
67## Package Codes
68
69| Code | Package | Description |
70|------|---------|-------------|
71| LA | QFN | Leadless Array - most common |
72| TA | TQFP | Thin Quad Flat Package |
73| WA | WQFN | Very thin QFN variant |
74| BOB | Breakout Board | Evaluation/development board |
75
76### Package Selection Guide
77
78| Application | Recommended | Notes |
79|-------------|-------------|-------|
80| Production | LA (QFN) | Smallest footprint, best thermal |
81| Prototyping | TA (TQFP) | Easier to hand solder |
82| Development | BOB | Plug-and-play evaluation |
83| Tight spaces | WA (WQFN) | Ultra-thin profile |
84
85---
86
87## Suffix Codes
88
89| Suffix | Meaning |
90|--------|---------|
91| -T | Tape and reel packaging |
92| -TR | Tape and reel (alternate) |
93| (none) | Tube/tray packaging |
94
95---
96
97## Popular Product Series
98
99### TMC21xx - Basic Stepper Drivers
100
101| Part | Features | Max Current |
102|------|----------|-------------|
103| TMC2100 | Basic driver, stealthChop | 1.2A RMS |
104| TMC2130 | SPI interface, StallGuard2 | 1.2A RMS |
105| TMC2160 | High power, spreadCycle | 2.5A peak |
106
107### TMC22xx - Advanced Stepper Drivers
108
109| Part | Features | Max Current | Interface |
110|------|----------|-------------|-----------|
111| TMC2208 | UART, stealthChop | 1.4A RMS | UART |
112| TMC2209 | UART, StallGuard4 | 2.0A RMS | UART |
113| TMC2225 | Enhanced 2208 | 1.4A RMS | UART |
114| TMC2226 | Enhanced 2209 | 2.0A RMS | UART |
115
116### TMC5xxx - Motion Controllers
117
118| Part | Features | Notes |
119|------|----------|-------|
120| TMC5041 | Dual driver + controller | 2 motors |
121| TMC5072 | Dual driver + ramp | 2 motors |
122| TMC5130 | Driver + controller | Single motor |
123| TMC5160 | High power + controller | 3A RMS |
124
125### TMC6xxx - 3-Phase Drivers
126
127| Part | Application | Voltage |
128|------|-------------|---------|
129| TMC6100 | BLDC gate driver | 6-25V |
130| TMC6140 | BLDC power stage | 6-36V |
131| TMC6200 | High voltage BLDC | 8-60V |
132
133---
134
135## Replacement Compatibility
136
137Trinamic parts are compatible when:
1381. **Same series number** (TMC2209 vs TMC2209)
1392. **Same package** (LA vs LA, TA vs TA)
1403. **Different packaging suffix** (-T vs no suffix)
141
142### Upgrade Paths
143
144| Original | Upgrade | Notes |
145|----------|---------|-------|
146| TMC2208 | TMC2209 | Adds StallGuard4 |
147| TMC2100 | TMC2130 | Adds SPI + StallGuard2 |
148| TMC5130 | TMC5160 | Higher current |
149| TMC2225 | TMC2226 | Higher current |
150
151### NOT Compatible
152
153| Part A | Part B | Reason |
154|--------|--------|--------|
155| TMC2130 | TMC2209 | Different interface (SPI vs UART) |
156| TMC2100 | TMC2208 | Different interface (STEP/DIR vs UART) |
157| TMC5xxx | TMC21xx | Different architecture |
158
159---
160
161## Common Applications
162
163### 3D Printers
164
165| Part | Use Case |
166|------|----------|
167| TMC2209 | X/Y/Z axes, extruder |
168| TMC2208 | Older designs |
169| TMC5160 | High-current motors |
170
171### CNC Machines
172
173| Part | Use Case |
174|------|----------|
175| TMC2160 | Light duty spindle |
176| TMC5160 | Axis motors |
177| TMC6200 | BLDC spindle |
178
179### Robotics
180
181| Part | Use Case |
182|------|----------|
183| TMC4671 | Servo control |
184| TMC6100 | BLDC joints |
185| TMC2209 | Small actuators |
186
187---
188
189## Handler Implementation Notes
190
191### Pattern Matching
192
193```java
194// All Trinamic parts start with TMC
195if (!upperMpn.startsWith("TMC")) {
196 return false;
197}
198
199// TMC21xx - Basic stepper drivers
200"^TMC21[0-9]{2}.*"
201
202// TMC22xx - Advanced stepper drivers
203"^TMC22[0-9]{2}.*"
204
205// TMC4xxx - Gate drivers / Motion controllers
206"^TMC4[0-9]{3}.*"
207
208// TMC5xxx - Motion controllers
209"^TMC5[0-9]{3}.*"
210
211// TMC6xxx - 3-phase drivers
212"^TMC6[0-9]{3}.*"
213```
214
215### Package Code Extraction
216
217```java
218String extractPackageCode(String mpn) {
219 String upperMpn = mpn.toUpperCase();
220
221 // Check for breakout board first (longest match)
222 if (upperMpn.contains("-BOB") || upperMpn.endsWith("BOB")) {
223 return "Breakout Board";
224 }
225
226 // Package codes: -LA, -TA, -WA (with optional -T suffix)
227 if (upperMpn.contains("-LA") || upperMpn.matches(".*LA(-T)?$")) {
228 return "QFN";
229 }
230 if (upperMpn.contains("-TA") || upperMpn.matches(".*TA(-T)?$")) {
231 return "TQFP";
232 }
233 if (upperMpn.contains("-WA") || upperMpn.matches(".*WA(-T)?$")) {
234 return "WQFN";
235 }
236
237 // Check without hyphen separator
238 if (upperMpn.endsWith("LA") || upperMpn.endsWith("LAT")) return "QFN";
239 if (upperMpn.endsWith("TA") || upperMpn.endsWith("TAT")) return "TQFP";
240 if (upperMpn.endsWith("WA") || upperMpn.endsWith("WAT")) return "WQFN";
241
242 return "";
243}
244```
245
246### Series Extraction
247
248```java
249String extractSeries(String mpn) {
250 String upperMpn = mpn.toUpperCase();
251
252 if (!upperMpn.startsWith("TMC")) {
253 return "";
254 }
255
256 // Find where series number ends
257 int seriesEnd = 3; // Start after "TMC"
258 for (int i = 3; i < upperMpn.length() && i < 7; i++) {
259 if (Character.isDigit(upperMpn.charAt(i))) {
260 seriesEnd = i + 1;
261 } else {
262 break;
263 }
264 }
265
266 return upperMpn.substring(0, seriesEnd); // e.g., "TMC2209"
267}
268```
269
270---
271
272## Related Files
273
274- Handler: `manufacturers/TrinamicHandler.java`
275- Component types: `MOTOR_DRIVER`, `IC`
276- Note: Trinamic was acquired by Analog Devices in 2021
277
278---
279
280## Key Features by Series
281
282### StealthChop
283
284Silent operation through voltage PWM chopping:
285- TMC21xx: StealthChop (1st gen)
286- TMC22xx: StealthChop2 (improved)
287- TMC5xxx: StealthChop2
288
289### StallGuard
290
291Sensorless load detection:
292- TMC2130: StallGuard2 (SPI only)
293- TMC2209: StallGuard4 (UART)
294- TMC5xxx: StallGuard4
295
296### CoolStep
297
298Current reduction based on load:
299- TMC2130: Yes
300- TMC2209: Yes
301- TMC5160: Yes
302
303---
304
305## Learnings & Edge Cases
306
307- **Analog Devices acquisition**: Trinamic was acquired by Analog Devices in 2021, some new parts may use ADI branding
308- **BOB = development**: "-BOB" suffix indicates breakout board, NOT a production package
309- **UART vs SPI**: TMC2208/2209 use UART, TMC2130 uses SPI - NOT interchangeable without firmware changes
310- **StallGuard versions**: StallGuard2 (TMC2130) and StallGuard4 (TMC2209) have different tuning parameters
311- **-T suffix**: Tape and reel packaging, functionally identical to tube packaging
312- **TMC5xxx dual**: TMC5041/5072 control TWO motors, TMC5130/5160 control ONE motor
313- **3-phase vs stepper**: TMC6xxx is for BLDC/PMSM motors, NOT stepper motors
314
315<!-- Add new learnings above this line -->