Lib-electronic-components microchip

Microchip Part Number Reference

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/microchip" ~/.claude/skills/cantara-lib-electronic-components-microchip && rm -rf "$T"
manifest: .claude/skills/manufacturers/microchip/SKILL.md
source content

Microchip Part Number Reference

MPN Structure Overview

Microchip part numbers follow a structured format that identifies the product family, features, temperature grade, and package type.

General Format

[Family][Series][Features]-[TempGrade]/[Package]

Example:

PIC16F877A-I/P

  • PIC16F: Family (8-bit PIC with Flash)
  • 877A: Device number and revision
  • -I: Industrial temperature grade
  • /P: PDIP package

PIC Microcontroller Families

8-bit PIC Families

PrefixDescriptionArchitecture
PIC10F6-8 pin baseline12-bit core
PIC12F8 pin mid-range14-bit core
PIC16FMid-range, most popular14-bit core
PIC16F1xxxEnhanced mid-range14-bit enhanced
PIC18FHigh-performance 8-bit16-bit core

Memory Type Indicator

LetterMeaning
FFlash memory (electrically erasable)
COTP/EPROM (UV erasable, older parts)
LFLow-voltage Flash (1.8V - 3.6V)

Common 8-bit Device Numbers

SeriesPin CountFeatures
PIC16F84A18Classic EEPROM device
PIC16F877A40Popular development MCU
PIC16F628A18USART, comparators
PIC18F45240High-performance
PIC18F455040USB capable

16-bit PIC Families

PIC24 Series

PrefixDescription
PIC24FGeneral purpose, low power
PIC24FJEnhanced PIC24F with more peripherals
PIC24H/HJHigh performance (40 MIPS)
PIC24EPEnhanced high performance

dsPIC Series (Digital Signal Controllers)

PrefixDescription
dsPIC30FOriginal dsPIC, motor control
dsPIC33FJHigher performance, more memory
dsPIC33EPEnhanced peripherals
dsPIC33EV5V tolerant
dsPIC33CHDual core
dsPIC33CKSingle core, cost-optimized

Example:

dsPIC33FJ128GP706A-I/PT

  • dsPIC33FJ: dsPIC33F series, J subfamily
  • 128: 128KB Flash
  • GP: General Purpose
  • 706A: 64-pin, revision A
  • -I: Industrial temp
  • /PT: TQFP package

32-bit PIC32 Families

SeriesCoreDescription
PIC32MXMIPS32 M4KOriginal 32-bit, general purpose
PIC32MZMIPS microAptivHigh performance, up to 252 MHz
PIC32MMMIPS M4KLow power, low cost
PIC32MKMIPS microAptivMotor control focus
PIC32WK-Wireless (WiFi) integrated

PIC32MX Sub-series

Sub-seriesFocus
PIC32MX1xxCost-optimized
PIC32MX2xxUSB capable
PIC32MX3xxGeneral purpose
PIC32MX4xxUSB + more memory
PIC32MX5xx-7xxEthernet MAC

PIC32MZ Sub-series

Sub-seriesDescription
PIC32MZ ECBasic MZ series
PIC32MZ EFWith FPU (floating point)
PIC32MZ DAWith graphics controller + DDR2

Example:

PIC32MX795F512H-80I/PT

  • PIC32MX: 32-bit family
  • 795: Series (Ethernet, USB)
  • F512: 512KB Flash
  • H: 64-pin variant
  • -80: 80 MHz speed grade
  • I: Industrial temp
  • /PT: TQFP package

Temperature Grade Codes

CodeRangeDescription
(none)0 to +70CCommercial
I-40 to +85CIndustrial
E-40 to +125CExtended
H-40 to +150CHigh Temperature (select parts)

Package Codes

Common Package Suffixes

CodePackage TypeDescription
PPDIPPlastic DIP (through-hole)
SPSPDIPSkinny PDIP (300 mil)
SOSOICSmall Outline IC
SSSSOPShrink Small Outline Package
STTSSOPThin Shrink SOP
PTTQFPThin Quad Flat Pack
PFTQFPTQFP (larger body)
MLQFNQuad Flat No-Lead
MVQFNQFN variant
MCDFNDual Flat No-Lead
MFDFN-SDFN (small)
LPLCCPlastic Leaded Chip Carrier
OTSOT-23Small Outline Transistor

Combined Temperature + Package Examples

SuffixMeaning
-I/PIndustrial, PDIP
-E/SOExtended, SOIC
-I/PTIndustrial, TQFP
-I/MLIndustrial, QFN
-E/SSExtended, SSOP
-I/SPIndustrial, Skinny PDIP

Memory Products

I2C EEPROM (24xx Series)

Format:

24[Voltage][Size]-[Temp]/[Package]

PrefixVoltage Range
24AA1.7V - 5.5V
24LC2.5V - 5.5V
24FC1.7V - 5.5V (High-speed 1MHz)
Size CodeCapacity
00128 bits
011 Kbit
022 Kbit
044 Kbit
088 Kbit
1616 Kbit
3232 Kbit
6464 Kbit
128128 Kbit
256256 Kbit
512512 Kbit
10251 Mbit

Example:

24LC256-I/SN

  • 24LC: 2.5V I2C EEPROM
  • 256: 256 Kbit (32KB)
  • -I: Industrial temp
  • /SN: SOIC-8 package

SPI EEPROM (25xx Series)

PrefixVoltage Range
25AA1.8V - 5.5V
25LC2.5V - 5.5V

Microwire EEPROM (93xx Series)

PrefixDescription
93LCStandard voltage
93AALow voltage

Interface ICs (MCP Series)

CAN Controllers and Transceivers

PartDescription
MCP2515Stand-alone CAN Controller (SPI)
MCP2517FDCAN FD Controller
MCP2518FDCAN FD Controller (enhanced)
MCP2551High-speed CAN Transceiver
MCP2561CAN FD Transceiver
MCP2562CAN FD Transceiver (fault-tolerant)

USB Bridges

PartDescription
MCP2200USB to UART Bridge
MCP2221USB to I2C/UART Bridge
MCP2221AEnhanced USB Bridge

Real-Time Clocks

PartDescription
MCP7940NI2C RTC
MCP79410RTC with EEPROM
MCP79411RTC with unique ID
MCP7951xSPI RTC with SRAM

Handler Implementation Notes

Current MicrochipHandler Issues

  1. HashSet Usage: Uses
    new HashSet<>()
    instead of
    Set.of()
    for immutable sets
  2. Pattern Duplication: Many patterns registered for both base type and manufacturer-specific type
  3. No Debug Statements: Clean implementation without println

Pattern Registration

The handler registers patterns for:

  • All dsPIC variants (30F, 33FJ, 33EP, 33EV, 33CH, 33CK)
  • 8-bit PIC (10F, 10LF, 12F, 12LF, 16F, 16LF, 18F, 18LF)
  • 16-bit PIC24 (24F, 24FJ, 24EP, 24HJ)
  • 32-bit PIC32 (MX, MZ, MM, MK, WK)
  • Memory (24AA, 24LC, 24FC, 25AA, 25LC, 93LC, 93AC)
  • Interface ICs (MCP25xx, MCP22xx, MCP79xx)

Package Extraction Logic

Current implementation handles:

  • Hyphen-separated suffixes:
    -P
    ,
    -PT
    ,
    -ML
    ,
    -SO
    ,
    -SS
    ,
    -ST
  • Combined temp+package:
    -I/P
    ,
    -E/SO
    , etc.
  • Embedded codes:
    /P
    ,
    /PT
    ,
    /ML
    ,
    /SO

Series Extraction

  • PIC: Extracts up to first non-alphanumeric character
  • dsPIC33: Special handling to include sub-family (FJ, EP, etc.)
  • Memory: Extracts first 4 characters (e.g., "24LC")
  • MCP: Extracts "MCP" + numeric suffix

Supported ComponentTypes

ComponentType.MICROCONTROLLER
ComponentType.MICROCONTROLLER_MICROCHIP
ComponentType.MCU_MICROCHIP
ComponentType.MEMORY
ComponentType.MEMORY_MICROCHIP
ComponentType.PIC_MCU
ComponentType.AVR_MCU
ComponentType.MICROCONTROLLER_ATMEL
ComponentType.MCU_ATMEL
ComponentType.MEMORY_ATMEL
ComponentType.TOUCH_ATMEL
ComponentType.CRYPTO_ATMEL

Note: Handler also covers former Atmel products (AVR, etc.) since Microchip acquired Atmel.


Test Patterns

Valid PIC MPNs for Testing

# 8-bit
PIC10F200-I/P
PIC12F675-I/SN
PIC16F84A-04/P
PIC16F877A-I/P
PIC16F1459-I/SS
PIC18F4550-I/PT
PIC18LF46K22-I/PT

# 16-bit
PIC24FJ64GA002-I/SP
PIC24EP512GP806-I/PT
dsPIC30F4013-30I/P
dsPIC33FJ128GP706A-I/PT
dsPIC33EP512MU810-I/PT

# 32-bit
PIC32MX250F128B-I/SP
PIC32MX795F512H-80I/PT
PIC32MZ2048EFH144-I/PH

# Memory
24LC256-I/SN
24FC512-E/SM
25LC1024-I/P

# Interface
MCP2515-I/SO
MCP2221A-I/SL

References