.claude/skills/manufacturers/holtek/SKILL.md
Holtek Semiconductor MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Holtek MCUs, touch controllers, LCD drivers, or HoltekHandler.
npx skillsauth add Cantara/lib-electronic-components holtekInstall 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.
Holtek has two main naming conventions:
HT[FAMILY][TYPE][PRODUCT]-[PACKAGE]
│ │ │ │ │
│ │ │ │ └── Package suffix (-1=SOP, -2=SOP, -3=SSOP)
│ │ │ └── Product number within series
│ │ └── Type (F=Flash MCU, V=Voice, B=Bridge)
│ └── Family (66/67/68=Flash MCU, 45=Touch, 82=Voice, 42=USB, 16=LCD)
└── Holtek prefix
Example: HT66F0185 = Flash MCU, general purpose
Example: HT42B534-1 = USB to UART Bridge, SOP package
BS83[LINE][KEYS][VARIANT]-[PACKAGE]
│ │ │ │ │
│ │ │ │ └── Package suffix
│ │ │ └── Variant letter (A, B)
│ │ └── Number of touch keys
│ └── Series 83 (capacitive touch)
└── Body Sensor prefix
Example: BS83B16A-3 = Touch MCU, 16 keys, variant A, SSOP package
HT66F0185
│ │ │ │
│ │ │ └── Product number 0185
│ │ └── F = Flash MCU
│ └── 66 = General purpose Flash MCU family
└── HT = Holtek prefix
BS83B16A-3
│ │ │ │ │
│ │ │ │ └── -3 = SSOP package
│ │ │ └── A = Variant
│ │ └── 16 = 16 touch keys
│ └── B = Enhanced series
└── BS83 = Body Sensor capacitive touch
| Code | Package | Notes | |------|---------|-------| | -1 | SOP | Standard SOP | | -2 | SOP | SOP variant | | -3 | SSOP | Shrink SOP | | SS | SSOP | Inline suffix | | SOP | SOP | Inline suffix | | NS | NSOP | Narrow SOP | | QF | QFP | Quad Flat Package | | DIP | DIP | Through-hole |
| Series | Type | Key Features | |--------|------|--------------| | HT66F | General Flash MCU | General purpose, up to 64KB Flash | | HT67F | LCD Flash MCU | Built-in LCD driver | | HT68F | Enhanced I/O MCU | More GPIO pins |
| Series | Type | Key Features | |--------|------|--------------| | HT45F | Touch Key MCU | Capacitive touch sensing | | BS83A | Touch MCU | Basic capacitive touch | | BS83B | Enhanced Touch MCU | More touch channels |
| Series | Type | Key Features | |--------|------|--------------| | HT82V739 | Voice Synthesis | OTP voice IC |
| Series | Type | Key Features | |--------|------|--------------| | HT42B534 | USB-UART Bridge | USB to serial converter |
| Series | Type | Key Features | |--------|------|--------------| | HT1621 | LCD Controller | 32x4 segment LCD | | HT1621B | LCD Controller | Enhanced HT1621 | | HT1628 | LED/LCD Controller | Combined LED and LCD |
// Flash MCUs: HT66F, HT67F, HT68F patterns
boolean isFlashMCU = upperMpn.matches("^HT6[678]F\\d+.*");
// Touch MCUs: HT45F and BS83 patterns
boolean isTouchMCU = upperMpn.startsWith("HT45F") ||
upperMpn.startsWith("BS83");
// All HT and BS parts are ICs
boolean isIC = upperMpn.startsWith("HT") || upperMpn.startsWith("BS");
// Check suffix-based codes first (-1, -2, -3)
if (upperMpn.endsWith("-3")) return "SSOP";
if (upperMpn.endsWith("-1") || upperMpn.endsWith("-2")) return "SOP";
// Then check inline codes (SS, SOP, NS, QF)
// Must verify position > 4 to avoid false matches
// HT series extracts family + type
if (upperMpn.startsWith("HT66F")) return "HT66F";
if (upperMpn.startsWith("HT67F")) return "HT67F";
if (upperMpn.startsWith("HT68F")) return "HT68F";
// BS series preserves variant letter
if (upperMpn.startsWith("BS83B")) return "BS83B";
if (upperMpn.startsWith("BS83A")) return "BS83A";
if (upperMpn.startsWith("BS83")) return "BS83"; // Generic fallback
// LCD drivers include full 4-digit series
if (upperMpn.startsWith("HT1621")) return "HT1621";
if (upperMpn.startsWith("HT1628")) return "HT1628";
The handler provides extractProductCode() for getting the full alphanumeric product identifier:
// HT66F0185 -> HT66F0185
// BS83B16A-3 -> BS83B16A (strips package suffix)
// HT1621B -> HT1621B
manufacturers/HoltekHandler.javaMICROCONTROLLER, ICThe handler provides convenience methods for categorization:
| Method | Purpose |
|--------|---------|
| isTouchMCU(mpn) | Returns true for HT45F and BS83 series |
| isFlashMCU(mpn) | Returns true for HT66F, HT67F, HT68F |
| isLCDDriver(mpn) | Returns true for HT16xx series |
| isVoiceIC(mpn) | Returns true for HT82V series |
| isUSBIC(mpn) | Returns true for HT42B series |
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.