.claude/skills/manufacturers/trinamic/SKILL.md
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).
npx skillsauth add Cantara/lib-electronic-components trinamicInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Trinamic (now part of Analog Devices) specializes in motor control ICs:
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 | 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 |
| 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 |
| 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 | Meaning | |--------|---------| | -T | Tape and reel packaging | | -TR | Tape and reel (alternate) | | (none) | Tube/tray packaging |
| 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 |
| 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 |
| 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 |
| Part | Application | Voltage | |------|-------------|---------| | TMC6100 | BLDC gate driver | 6-25V | | TMC6140 | BLDC power stage | 6-36V | | TMC6200 | High voltage BLDC | 8-60V |
Trinamic parts are compatible when:
| Original | Upgrade | Notes | |----------|---------|-------| | TMC2208 | TMC2209 | Adds StallGuard4 | | TMC2100 | TMC2130 | Adds SPI + StallGuard2 | | TMC5130 | TMC5160 | Higher current | | TMC2225 | TMC2226 | Higher current |
| Part A | Part B | Reason | |--------|--------|--------| | TMC2130 | TMC2209 | Different interface (SPI vs UART) | | TMC2100 | TMC2208 | Different interface (STEP/DIR vs UART) | | TMC5xxx | TMC21xx | Different architecture |
| Part | Use Case | |------|----------| | TMC2209 | X/Y/Z axes, extruder | | TMC2208 | Older designs | | TMC5160 | High-current motors |
| Part | Use Case | |------|----------| | TMC2160 | Light duty spindle | | TMC5160 | Axis motors | | TMC6200 | BLDC spindle |
| Part | Use Case | |------|----------| | TMC4671 | Servo control | | TMC6100 | BLDC joints | | TMC2209 | Small actuators |
// 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}.*"
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 "";
}
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"
}
manufacturers/TrinamicHandler.javaMOTOR_DRIVER, ICSilent operation through voltage PWM chopping:
Sensorless load detection:
Current reduction based on load:
data-ai
Cost-effective task delegation strategy using Haiku model for straightforward work. Use when planning how to approach simple, pattern-following tasks to minimize costs.
tools
Use when working with component similarity calculations - comparing MPNs, finding equivalent parts, implementing new similarity calculators, or understanding how component matching works.
testing
Use when working with transistor similarity calculations - comparing BJT MPNs, understanding NPN/PNP polarity matching, equivalent groups like 2N2222/PN2222, or transistor-specific similarity logic.
testing
Use when working with sensor similarity calculations - comparing temperature/accelerometer/humidity sensor MPNs, understanding sensor families, equivalent parts, or sensor-specific similarity logic.