Integrated Circuit Skill
Guidance for working with ICs (microcontrollers, op-amps, voltage regulators, logic) in the lib-electronic-components library.
Microcontrollers
Supported Manufacturers & Patterns
| Manufacturer |
Handler |
MPN Patterns |
Example |
| Microchip |
MicrochipHandler |
PIC#, dsPIC#, ATmega#, ATtiny# |
PIC16F877A, ATmega328P |
| ST |
STHandler |
STM32#, STM8# |
STM32F103C8T6 |
| TI |
TIHandler |
MSP430#, CC#### |
MSP430G2553 |
| NXP |
NXPHandler |
LPC#, MK#, IMX#, S32K# |
LPC1768 |
| Espressif |
EspressifHandler |
ESP32#, ESP8266 |
ESP32-WROOM-32 |
| Renesas |
RenesasHandler |
RX#, RA#, R5F# |
RX651 |
| Infineon |
InfineonHandler |
XMC# |
XMC4500 |
| Cypress |
CypressHandler |
CY#, PSoC# |
CY8C5888 |
ComponentTypes
// Base types
ComponentType.MICROCONTROLLER
ComponentType.IC
// Manufacturer-specific
ComponentType.MICROCONTROLLER_MICROCHIP
ComponentType.MICROCONTROLLER_ST
ComponentType.MICROCONTROLLER_TI
ComponentType.MICROCONTROLLER_NXP
ComponentType.MICROCONTROLLER_ESPRESSIF
ComponentType.MICROCONTROLLER_RENESAS
ComponentType.MICROCONTROLLER_INFINEON
ComponentType.MICROCONTROLLER_ATMEL
// Architecture-specific
ComponentType.PIC_MCU
ComponentType.AVR_MCU
ComponentType.MSP430_MCU
ComponentType.ESP32_SOC
ComponentType.ESP8266_SOC
ComponentType.KINETIS_MCU
ComponentType.LPC_MCU
MPN Structure - STM32
STM32 F 103 C 8 T 6
│ │ │ │ │ │ │
│ │ │ │ │ │ └── Temperature (-40 to +85°C)
│ │ │ │ │ └──── Package (T=LQFP)
│ │ │ │ └────── Flash size (8=64KB)
│ │ │ └──────── Pin count (C=48 pins)
│ │ └──────────── Performance line (103)
│ └────────────── Family (F=Foundation)
└──────────────────── Series
Op-Amps
Supported Manufacturers & Patterns
| Manufacturer |
Handler |
MPN Patterns |
Example |
| TI |
TIHandler |
LM###, TL0##, OPA### |
LM358, TL072, OPA2134 |
| Analog Devices |
AnalogDevicesHandler |
AD###, ADA###, OP## |
AD8605, OP07 |
| ST |
STHandler |
LM###, TS### |
TS912 |
| ON Semi |
OnSemiHandler |
LM###, MC#### |
MC1458 |
ComponentTypes
ComponentType.OPAMP
ComponentType.OPAMP_TI
ComponentType.OPAMP_AD
ComponentType.OPAMP_ST
ComponentType.OPAMP_ON
ComponentType.OPAMP_INFINEON
ComponentType.OPAMP_NXP
ComponentType.OPAMP_ROHM
Common Op-Amp Series
| Series |
Type |
Key Specs |
| LM358 |
Dual |
Low power, single supply |
| LM324 |
Quad |
Low power, single supply |
| TL072 |
Dual |
JFET input, low noise |
| OPA2134 |
Dual |
Audio, low distortion |
| AD8605 |
Single |
Rail-to-rail, CMOS |
| NE5532 |
Dual |
Audio, low noise |
Voltage Regulators
Supported Manufacturers & Patterns
| Manufacturer |
Handler |
MPN Patterns |
Example |
| TI |
TIHandler |
LM78##, LM79##, LM317, TPS### |
LM7805, LM317T, TPS65281 |
| ST |
STHandler |
L78##, LD1117 |
L7805CV, LD1117V33 |
| ON Semi |
OnSemiHandler |
MC78##, NCP### |
MC7805CT |
| Maxim |
MaximHandler |
MAX### |
MAX1555 |
| Analog Devices |
AnalogDevicesHandler |
ADP###, LT#### |
ADP3338, LT1086 |
ComponentTypes
ComponentType.VOLTAGE_REGULATOR
ComponentType.VOLTAGE_REGULATOR_LINEAR_TI
ComponentType.VOLTAGE_REGULATOR_SWITCHING_TI
ComponentType.VOLTAGE_REGULATOR_LINEAR_ST
ComponentType.VOLTAGE_REGULATOR_SWITCHING_ST
ComponentType.VOLTAGE_REGULATOR_LINEAR_INFINEON
ComponentType.VOLTAGE_REGULATOR_SWITCHING_INFINEON
ComponentType.VOLTAGE_REGULATOR_LINEAR_ON
ComponentType.VOLTAGE_REGULATOR_SWITCHING_ON
ComponentType.VOLTAGE_REGULATOR_MAXIM
ComponentType.VOLTAGE_REGULATOR_DIODES
ComponentType.VOLTAGE_REGULATOR_ROHM
ComponentType.VOLTAGE_REGULATOR_TOSHIBA
MPN Structure - LM78xx
LM 78 05 CT
│ │ │ │
│ │ │ └── Package (CT=TO-220)
│ │ └───── Output voltage (05=5V)
│ └──────── Series (78=positive, 79=negative)
└─────────── Family
Logic ICs
Handler
LogicICHandler handles the 74xx and CD4xxx series.
Patterns
| Pattern |
Family |
Description |
74LS### |
74LS |
Low-power Schottky |
74HC### |
74HC |
High-speed CMOS |
74HCT### |
74HCT |
CMOS with TTL levels |
74AHC### |
74AHC |
Advanced HC |
74LVC### |
74LVC |
Low-voltage CMOS |
CD4### |
CD4000 |
CMOS 4000 series |
ComponentTypes
ComponentType.LOGIC_IC
ComponentType.LOGIC_IC_NEXPERIA
ComponentType.LOGIC_IC_DIODES
ComponentType.DIGITAL_IC
Adding New IC Patterns
- In the manufacturer handler's
initializePatterns():
registry.addPattern(ComponentType.OPAMP, "^NEWOPA[0-9].*");
registry.addPattern(ComponentType.OPAMP_MANUFACTURER, "^NEWOPA[0-9].*");
- Add to
getSupportedTypes():
types.add(ComponentType.OPAMP);
types.add(ComponentType.OPAMP_MANUFACTURER);
Similarity Calculators
MicrocontrollerSimilarityCalculator - Compares architecture, flash, RAM, peripherals
OpAmpSimilarityCalculator - Compares GBW, slew rate, supply voltage
VoltageRegulatorSimilarityCalculator - Compares output voltage, current, dropout
LogicICSimilarityCalculator - Compares function, family, voltage levels
Common Packages
| Package |
Pins |
Description |
| DIP |
8-40 |
Through-hole |
| SOIC |
8-28 |
Surface mount |
| TSSOP |
8-56 |
Thin small outline |
| QFP |
32-256 |
Quad flat |
| LQFP |
32-256 |
Low-profile QFP |
| QFN |
8-88 |
Quad flat no-lead |
| BGA |
Various |
Ball grid array |
Learnings & Quirks
1---2name: ic3description: Use when working with integrated circuits - microcontrollers, op-amps, voltage regulators, logic ICs. Includes adding patterns, parsing MPNs, extracting specifications like voltage, package, and series information.4---5
6# Integrated Circuit Skill
7
8Guidance for working with ICs (microcontrollers, op-amps, voltage regulators, logic) in the lib-electronic-components library.
9
10## Microcontrollers
11
12### Supported Manufacturers & Patterns
13
14| Manufacturer | Handler | MPN Patterns | Example |
15|--------------|---------|--------------|---------|
16| Microchip | `MicrochipHandler` | `PIC#`, `dsPIC#`, `ATmega#`, `ATtiny#` | `PIC16F877A`, `ATmega328P` |
17| ST | `STHandler` | `STM32#`, `STM8#` | `STM32F103C8T6` |
18| TI | `TIHandler` | `MSP430#`, `CC####` | `MSP430G2553` |
19| NXP | `NXPHandler` | `LPC#`, `MK#`, `IMX#`, `S32K#` | `LPC1768` |
20| Espressif | `EspressifHandler` | `ESP32#`, `ESP8266` | `ESP32-WROOM-32` |
21| Renesas | `RenesasHandler` | `RX#`, `RA#`, `R5F#` | `RX651` |
22| Infineon | `InfineonHandler` | `XMC#` | `XMC4500` |
23| Cypress | `CypressHandler` | `CY#`, `PSoC#` | `CY8C5888` |
24
25### ComponentTypes
26
27```java
28// Base types
29ComponentType.MICROCONTROLLER
30ComponentType.IC
31
32// Manufacturer-specific
33ComponentType.MICROCONTROLLER_MICROCHIP
34ComponentType.MICROCONTROLLER_ST
35ComponentType.MICROCONTROLLER_TI
36ComponentType.MICROCONTROLLER_NXP
37ComponentType.MICROCONTROLLER_ESPRESSIF
38ComponentType.MICROCONTROLLER_RENESAS
39ComponentType.MICROCONTROLLER_INFINEON
40ComponentType.MICROCONTROLLER_ATMEL
41
42// Architecture-specific
43ComponentType.PIC_MCU
44ComponentType.AVR_MCU
45ComponentType.MSP430_MCU
46ComponentType.ESP32_SOC
47ComponentType.ESP8266_SOC
48ComponentType.KINETIS_MCU
49ComponentType.LPC_MCU
50```
51
52### MPN Structure - STM32
53
54```
55STM32 F 103 C 8 T 6
56│ │ │ │ │ │ │
57│ │ │ │ │ │ └── Temperature (-40 to +85°C)
58│ │ │ │ │ └──── Package (T=LQFP)
59│ │ │ │ └────── Flash size (8=64KB)
60│ │ │ └──────── Pin count (C=48 pins)
61│ │ └──────────── Performance line (103)
62│ └────────────── Family (F=Foundation)
63└──────────────────── Series
64```
65
66## Op-Amps
67
68### Supported Manufacturers & Patterns
69
70| Manufacturer | Handler | MPN Patterns | Example |
71|--------------|---------|--------------|---------|
72| TI | `TIHandler` | `LM###`, `TL0##`, `OPA###` | `LM358`, `TL072`, `OPA2134` |
73| Analog Devices | `AnalogDevicesHandler` | `AD###`, `ADA###`, `OP##` | `AD8605`, `OP07` |
74| ST | `STHandler` | `LM###`, `TS###` | `TS912` |
75| ON Semi | `OnSemiHandler` | `LM###`, `MC####` | `MC1458` |
76
77### ComponentTypes
78
79```java
80ComponentType.OPAMP
81ComponentType.OPAMP_TI
82ComponentType.OPAMP_AD
83ComponentType.OPAMP_ST
84ComponentType.OPAMP_ON
85ComponentType.OPAMP_INFINEON
86ComponentType.OPAMP_NXP
87ComponentType.OPAMP_ROHM
88```
89
90### Common Op-Amp Series
91
92| Series | Type | Key Specs |
93|--------|------|-----------|
94| LM358 | Dual | Low power, single supply |
95| LM324 | Quad | Low power, single supply |
96| TL072 | Dual | JFET input, low noise |
97| OPA2134 | Dual | Audio, low distortion |
98| AD8605 | Single | Rail-to-rail, CMOS |
99| NE5532 | Dual | Audio, low noise |
100
101## Voltage Regulators
102
103### Supported Manufacturers & Patterns
104
105| Manufacturer | Handler | MPN Patterns | Example |
106|--------------|---------|--------------|---------|
107| TI | `TIHandler` | `LM78##`, `LM79##`, `LM317`, `TPS###` | `LM7805`, `LM317T`, `TPS65281` |
108| ST | `STHandler` | `L78##`, `LD1117` | `L7805CV`, `LD1117V33` |
109| ON Semi | `OnSemiHandler` | `MC78##`, `NCP###` | `MC7805CT` |
110| Maxim | `MaximHandler` | `MAX###` | `MAX1555` |
111| Analog Devices | `AnalogDevicesHandler` | `ADP###`, `LT####` | `ADP3338`, `LT1086` |
112
113### ComponentTypes
114
115```java
116ComponentType.VOLTAGE_REGULATOR
117ComponentType.VOLTAGE_REGULATOR_LINEAR_TI
118ComponentType.VOLTAGE_REGULATOR_SWITCHING_TI
119ComponentType.VOLTAGE_REGULATOR_LINEAR_ST
120ComponentType.VOLTAGE_REGULATOR_SWITCHING_ST
121ComponentType.VOLTAGE_REGULATOR_LINEAR_INFINEON
122ComponentType.VOLTAGE_REGULATOR_SWITCHING_INFINEON
123ComponentType.VOLTAGE_REGULATOR_LINEAR_ON
124ComponentType.VOLTAGE_REGULATOR_SWITCHING_ON
125ComponentType.VOLTAGE_REGULATOR_MAXIM
126ComponentType.VOLTAGE_REGULATOR_DIODES
127ComponentType.VOLTAGE_REGULATOR_ROHM
128ComponentType.VOLTAGE_REGULATOR_TOSHIBA
129```
130
131### MPN Structure - LM78xx
132
133```
134LM 78 05 CT
135│ │ │ │
136│ │ │ └── Package (CT=TO-220)
137│ │ └───── Output voltage (05=5V)
138│ └──────── Series (78=positive, 79=negative)
139└─────────── Family
140```
141
142## Logic ICs
143
144### Handler
145
146`LogicICHandler` handles the 74xx and CD4xxx series.
147
148### Patterns
149
150| Pattern | Family | Description |
151|---------|--------|-------------|
152| `74LS###` | 74LS | Low-power Schottky |
153| `74HC###` | 74HC | High-speed CMOS |
154| `74HCT###` | 74HCT | CMOS with TTL levels |
155| `74AHC###` | 74AHC | Advanced HC |
156| `74LVC###` | 74LVC | Low-voltage CMOS |
157| `CD4###` | CD4000 | CMOS 4000 series |
158
159### ComponentTypes
160
161```java
162ComponentType.LOGIC_IC
163ComponentType.LOGIC_IC_NEXPERIA
164ComponentType.LOGIC_IC_DIODES
165ComponentType.DIGITAL_IC
166```
167
168## Adding New IC Patterns
169
1701. In the manufacturer handler's `initializePatterns()`:
171```java
172registry.addPattern(ComponentType.OPAMP, "^NEWOPA[0-9].*");
173registry.addPattern(ComponentType.OPAMP_MANUFACTURER, "^NEWOPA[0-9].*");
174```
175
1762. Add to `getSupportedTypes()`:
177```java
178types.add(ComponentType.OPAMP);
179types.add(ComponentType.OPAMP_MANUFACTURER);
180```
181
182## Similarity Calculators
183
184- `MicrocontrollerSimilarityCalculator` - Compares architecture, flash, RAM, peripherals
185- `OpAmpSimilarityCalculator` - Compares GBW, slew rate, supply voltage
186- `VoltageRegulatorSimilarityCalculator` - Compares output voltage, current, dropout
187- `LogicICSimilarityCalculator` - Compares function, family, voltage levels
188
189## Common Packages
190
191| Package | Pins | Description |
192|---------|------|-------------|
193| DIP | 8-40 | Through-hole |
194| SOIC | 8-28 | Surface mount |
195| TSSOP | 8-56 | Thin small outline |
196| QFP | 32-256 | Quad flat |
197| LQFP | 32-256 | Low-profile QFP |
198| QFN | 8-88 | Quad flat no-lead |
199| BGA | Various | Ball grid array |
200
201---
202
203## Learnings & Quirks
204
205<!-- Record component-specific discoveries, edge cases, and quirks here -->