Lib-electronic-components prolific

Prolific Technology MPN encoding patterns, variant identification, and handler guidance. Use when working with USB interface ICs or ProlificHandler.

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/prolific" ~/.claude/skills/cantara-lib-electronic-components-prolific && rm -rf "$T"
manifest: .claude/skills/manufacturers/prolific/SKILL.md
source content

Prolific Technology Manufacturer Skill

MPN Structure

Prolific MPNs follow this general structure:

PL[SERIES][VARIANT][PACKAGE][-REEL]
 |   |       |        |       |
 |   |       |        |       └── Optional: REEL, TUBE, TRAY, TR for packaging
 |   |       |        └── Package code (implicitly determined by variant for PL2303)
 |   |       └── Variant letters (HX, HXA, HXD, TA, GT, GC, GL, RA, SA, etc.)
 |   └── 4-digit series number (23xx, 25xx, 27xx, 38xx)
 └── PL = Prolific prefix

Example Decoding

PL2303HXA-SSOP
│  │   │  │
│  │   │  └── SSOP package
│  │   └── HXA = Enhanced HX variant
│  └── 2303 = USB to serial converter
└── PL = Prolific prefix

PL2303GT
│  │   │
│  │   └── GT = QFN package variant
│  └── 2303 = USB to serial converter
└── PL = Prolific prefix

Product Series

PL23xx Series - USB to Serial

SeriesTypeDescription
PL2303USB-SerialUSB to RS-232 serial converter (most common)
PL2312USB-SerialEnhanced USB to serial

PL25xx Series - USB Bridge

SeriesTypeDescription
PL2501BridgeUSB 2.0 to ATA/ATAPI bridge
PL2571BridgeUSB 2.0 to IDE bridge

PL27xx Series - USB Hub

SeriesTypeDescription
PL2734HubUSB 2.0 4-port hub controller
PL2773HubUSB 3.0 4-port hub controller

PL38xx Series - USB to Parallel

SeriesTypeDescription
PL3805USB-ParallelUSB to parallel port converter

PL2303 Variants

The PL2303 series has many variants with different features:

VariantPackageFeatures
(none)SOPStandard, basic version
HXSSOPEnhanced, higher speed
HXASSOPHX with improved GPIO
HXDSSOPLatest HX generation
TASSOP-28Extended features
GTQFNSmall form factor, GPIO
GCQFNCompact version
GLQFNLow power variant
RASOPRoHS compliant
SASOPStandard alternate

Package Codes

CodePackageNotes
SSOPSmall Outline Package
SOPSOPExplicit form
SSSSOPShrink SOP
SSOPSSOPExplicit form
QQFNQuad Flat No-Lead
QFNQFNExplicit form
TSSTSSOPThin Shrink SOP
TSSOPTSSOPExplicit form

USB Version by Series

SeriesUSB Version
PL2303USB 2.0 (Full Speed)
PL2312USB 2.0
PL2501USB 2.0
PL2571USB 2.0
PL2734USB 2.0
PL2773USB 3.0
PL38xxUSB 2.0

Handler Implementation Notes

Pattern Matching

// PL23xx series - USB to serial converters
"^PL23[0-9]{2}[A-Z]*.*"

// PL25xx series - USB bridge ICs
"^PL25[0-9]{2}[A-Z]*.*"

// PL27xx series - USB hub controllers
"^PL27[0-9]{2}[A-Z]*.*"

// PL38xx series - USB to parallel converters
"^PL38[0-9]{2}[A-Z]*.*"

Series Extraction

// Series is "PL" + 4 digits
// PL2303HXA -> PL2303
// PL2773 -> PL2773

if (upperMpn.matches("^PL2303.*")) {
    return "PL2303";
}
// Generic: return first 6 characters

Package Code Extraction

// For PL2303 variants, package is implied by variant:
// HX, HXA, HXD, TA -> SSOP
// GT, GC, GL -> QFN
// RA, SA, S -> SOP

// Explicit package after hyphen:
// PL2303HXA-SSOP -> SSOP

Variant Extraction (PL2303)

// Check variants from longest to shortest:
if (suffix.startsWith("HXD")) return "HXD";
if (suffix.startsWith("HXA")) return "HXA";
if (suffix.startsWith("HX")) return "HX";
if (suffix.startsWith("GT")) return "GT";
if (suffix.startsWith("GL")) return "GL";
if (suffix.startsWith("GC")) return "GC";
if (suffix.startsWith("TA")) return "TA";
if (suffix.startsWith("RA")) return "RA";
if (suffix.startsWith("SA")) return "SA";

Replacement Compatibility

PL2303 Family Compatibility

All PL2303 variants are generally compatible:

  • Same USB-to-serial functionality
  • Different variants offer additional features (GPIO, speed)
  • Software drivers are largely interchangeable

Hub Controllers

Hub controllers are NOT interchangeable across USB versions:

  • PL2734 (USB 2.0) is NOT compatible with PL2773 (USB 3.0)
  • Within same USB version, hubs are compatible

Driver Notes

  • PL2303 driver compatibility: Different OS versions may require different drivers
  • Counterfeit chip detection: Prolific drivers detect counterfeit chips and refuse to work
  • HXA/HXD variants: Require newer drivers than original PL2303

Related Files

  • Handler:
    manufacturers/ProlificHandler.java
  • Component types:
    ComponentType.IC

Learnings & Edge Cases

  • PL2303 is the dominant product: Most Prolific parts are PL2303 variants
  • Variant determines package: Unlike other manufacturers, the variant suffix often implies the package type
  • Driver compatibility issues: PL2303 has complex driver compatibility across variants and OS versions
  • Counterfeit detection: Prolific implemented counterfeit detection in drivers, causing issues with some legacy parts
  • USB version in series number: PL27xx uses last digit to hint at USB version (PL2773 = USB 3.0)
  • No manufacturer-specific ComponentTypes: All parts use generic
    ComponentType.IC
<!-- Add new learnings above this line -->