.claude/skills/manufacturers/cmedia/SKILL.md
C-Media Electronics MPN encoding patterns, USB audio controller decoding, and handler guidance. Use when working with C-Media audio ICs or CMediaHandler.
npx skillsauth add Cantara/lib-electronic-components cmediaInstall 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.
C-Media specializes in USB and HD audio controller ICs.
CM[SERIES][VARIANT]-[PACKAGE][PINS]
| | | | |
| | | | +-- Pin count (optional)
| | | +-- Package code (QFP, LQFP, etc.)
| | +-- Variant (A, AH, B)
| +-- Series (108, 109, 119, 6xxx)
+-- CM = C-Media prefix
CMI[SERIES][VARIANT]
| | |
| | +-- Variant suffix
| +-- Series (8738, 8768, 8788)
+-- CMI = C-Media Interface
CM108AH
| | ||
| | |+-- H = variant revision
| | +-- A = first variant
| +-- 108 = Basic USB stereo audio codec
+-- CM = C-Media prefix
CM6631A-S
| | ||
| | |+-- S = SSOP package
| | +-- A = variant
| +-- 6631 = Professional USB 2.0 audio processor
+-- CM = C-Media prefix
CMI8788
| |||
| ||+-- 8 = series number
| |+-- 8 = 8-channel HD audio
| +-- 87 = HD audio codec series
+-- CMI = C-Media Interface
Entry-level USB stereo audio for PC peripherals.
| Part | Description | Features | |------|-------------|----------| | CM108 | USB stereo codec | Basic stereo | | CM108AH | Enhanced version | Higher quality | | CM108B | Cost-optimized | Lower cost |
USB audio with keyboard/HID controller for headsets.
| Part | Description | |------|-------------| | CM109 | USB audio + HID keyboard | | CM109A | Enhanced variant |
Multi-channel USB audio for gaming and surround sound.
| Part | Description | Channels | |------|-------------|----------| | CM119 | 7.1 USB audio | 8 | | CM119A | Enhanced version | 8 | | CM119B | Cost-optimized | 8 |
Higher-end USB audio ICs for professional applications.
| Part | Description | |------|-------------| | CM6206 | USB 2.0 basic audio | | CM6400 | USB audio controller | | CM6631 | USB 2.0 audio processor | | CM6631A | Enhanced CM6631 | | CM6632 | USB audio DAC |
HD audio codecs for motherboards and sound cards.
| Part | Description | Features | |------|-------------|----------| | CMI8738 | PCI audio codec | Legacy 7.1 | | CMI8768 | PCI-E audio | 7.1 surround | | CMI8788 | Oxygen HD Audio | High-end 8-ch |
Older PCI audio codecs.
| Part | Description | |------|-------------| | CMI8330 | Legacy PCI audio |
| Code | Package | Notes | |------|---------|-------| | QFP | QFP | Quad flat package | | LQFP, LQ | LQFP | Low-profile QFP | | QFN | QFN | Quad flat no-lead | | SSOP, S | SSOP | Shrink small outline | | TQFP | TQFP | Thin QFP | | PLCC | PLCC | Plastic leadless | | BGA | BGA | Ball grid array |
// Handle hyphenated suffixes
// CM6631A-LQ -> LQFP
// CM6631A-S -> SSOP
// Handle embedded package codes
// After variant letters, look for package indicators
| Suffix | Meaning | |--------|---------| | A | First variant revision | | AH | Enhanced variant | | B | Second variant (often cost-optimized) |
// CM108, CM109, CM119 - return 5 characters
if (upperMpn.matches("^CM108.*")) return "CM108";
if (upperMpn.matches("^CM109.*")) return "CM109";
if (upperMpn.matches("^CM119.*")) return "CM119";
// CM6xxx - return 6 characters (CM + 4 digits)
if (upperMpn.matches("^CM6[0-9]{3}.*")) {
return upperMpn.substring(0, 6); // CM6631
}
// CMI87xx - return 7 characters (CMI + 4 digits)
if (upperMpn.matches("^CMI87[0-9]{2}.*")) {
return upperMpn.substring(0, 7); // CMI8788
}
// Include variant letters in base part
// CM108AH -> CM108AH
// CM6631A -> CM6631A
// Stop at package indicators
if (remaining.matches("^(QFP|LQFP|QFN|SSOP|TQFP).*")) {
break;
}
// CM10x series
"^CM10[89][A-Z]*.*"
// CM119 series
"^CM119[A-Z]*.*"
// CM6xxx series
"^CM6[0-9]{3}[A-Z]*.*"
// CMI87xx series
"^CMI87[0-9]{2}[A-Z]*.*"
// CMI83xx series
"^CMI83[0-9]{2}[A-Z]*.*"
Parts in the same series with different variants (A, AH, B) are generally compatible:
Different series are NOT compatible (different USB classes, channel counts):
manufacturers/CMediaHandler.javaComponentType.IC| MPN | Description | Application | |-----|-------------|-------------| | CM108AH | USB stereo codec | USB headsets | | CM109 | USB audio + HID | Gaming headsets | | CM119 | USB 7.1 audio | Gaming audio | | CM6631A | USB 2.0 audio processor | USB DACs | | CM6632 | USB audio DAC | External audio | | CMI8788 | Oxygen HD Audio | Sound cards |
| Series | USB Class | Driver Required | |--------|-----------|-----------------| | CM108 | USB Audio Class 1.0 | No (driverless) | | CM119 | USB Audio Class 1.0 | No (driverless) | | CM6631 | USB Audio Class 2.0 | Yes (on Windows) |
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.