Holtek Semiconductor Manufacturer Skill
MPN Structure
Holtek has two main naming conventions:
HT Series (MCUs, Audio, USB, LCD)
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
BS Series (Body Sensor/Touch)
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
Example Decoding
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
Package Codes
| 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 |
Product Families
Flash MCUs (HT66F, HT67F, HT68F)
| 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 |
Touch MCUs (HT45F, BS83)
| Series |
Type |
Key Features |
| HT45F |
Touch Key MCU |
Capacitive touch sensing |
| BS83A |
Touch MCU |
Basic capacitive touch |
| BS83B |
Enhanced Touch MCU |
More touch channels |
Voice/Audio ICs (HT82V)
| Series |
Type |
Key Features |
| HT82V739 |
Voice Synthesis |
OTP voice IC |
USB Interface (HT42B)
| Series |
Type |
Key Features |
| HT42B534 |
USB-UART Bridge |
USB to serial converter |
LCD Drivers (HT16xx)
| Series |
Type |
Key Features |
| HT1621 |
LCD Controller |
32x4 segment LCD |
| HT1621B |
LCD Controller |
Enhanced HT1621 |
| HT1628 |
LED/LCD Controller |
Combined LED and LCD |
Handler Implementation Notes
Component Type Detection
// 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");
Package Code Extraction
// 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
Series Extraction
// 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";
Product Code Extraction
The handler provides extractProductCode() for getting the full alphanumeric product identifier:
// HT66F0185 -> HT66F0185
// BS83B16A-3 -> BS83B16A (strips package suffix)
// HT1621B -> HT1621B
Related Files
- Handler:
manufacturers/HoltekHandler.java
- Component types:
MICROCONTROLLER, IC
Helper Methods
The 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 |
Learnings & Edge Cases
- BS prefix exception: BS83 is Holtek despite different prefix (Body Sensor)
- HT16xx LCD drivers: These are NOT MCUs, just LCD controller drivers
- Touch key count: BS83B16A has 16 keys encoded in part number
- Package suffix variants: -1 and -2 both mean SOP (different internal variants)
- HT67F LCD MCU: Has built-in LCD driver, different from HT1621 standalone driver
- Voice ICs are OTP: HT82V series uses One-Time Programmable memory, not Flash