Agent skill

holtek

Holtek Semiconductor MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Holtek MCUs, touch controllers, LCD drivers, or HoltekHandler.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/data/holtek

SKILL.md

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

java
// 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

java
// 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

java
// 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:

java
// 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

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results