.claude/skills/manufacturers/ams/SKILL.md
ams-OSRAM MPN encoding patterns, suffix decoding, and handler guidance. Use when working with ams sensor products, optical components, or AMSHandler.
npx skillsauth add Cantara/lib-electronic-components amsInstall 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.
ams-OSRAM (formerly Austria Microsystems, merged with OSRAM Opto Semiconductors) is a global leader in optical solutions, including:
Note: OSRAM LEDs are handled by the separate OSRAMHandler. This handler covers ams sensor products and ICs.
ams MPNs follow this general structure:
[PREFIX][SERIES][VARIANT][-][PACKAGE/QUALIFIER]
| | | | |
| | | | +-- Package code, automotive grade, or tape/reel
| | | +-- Optional hyphen separator
| | +-- Variant digit (channel count, version)
| +-- Series number (2-3 digits)
+-- Family prefix (AS, TSL, TMD, TCS, APDS, ENS)
AS7262-BLGT
| | | |
| | | +-- GT = Green/Tape (RoHS)
| | +-- BL = BGA Lead-free
| +-- 62 = 6-channel visible spectral sensor
+-- AS72 = Spectral sensor family
TSL2591FN
| | |
| | +-- FN = QFN package
| +-- 591 = High-dynamic-range light sensor
+-- TSL2 = Light-to-digital sensor family
APDS-9960
| | |
| | +-- 60 = Gesture-enabled variant
| +-- 99 = Proximity/gesture series
+-- APDS = Advanced Proximity Detection System
TCS34725FN
| | |
| | +-- FN = QFN package
| +-- 725 = Color sensor with IR blocking filter
+-- TCS3 = Color sensor family
ENS160-BLGT
| | |
| | +-- BLGT = BGA Lead-free Green/Tape
| +-- 160 = Metal oxide gas sensor (VOC/CO2)
+-- ENS = Environmental sensor family
| Part | Description | Channels | Wavelengths | |------|-------------|----------|-------------| | AS7261 | Spectral ID sensor | 6 | XYZ + NIR | | AS7262 | 6-channel visible | 6 | 450-650nm | | AS7263 | 6-channel NIR | 6 | 610-860nm | | AS7265x | 18-channel combo | 18 | 410-940nm (3 chips) |
| Part | Description | Channels | |------|-------------|----------| | AS7341 | 11-channel spectral | 11 | | AS7343 | 14-channel spectral | 14 |
| Part | Description | Dynamic Range | |------|-------------|---------------| | TSL2561 | Light sensor | 1:1,000,000 | | TSL2591 | High-DR light sensor | 1:600,000,000 |
| Part | Description | Features | |------|-------------|----------| | TMD2671 | Proximity sensor | IR LED driver | | TMD2772 | Prox + ALS combo | IR proximity | | TMD26721 | Enhanced proximity | Improved sensitivity |
| Part | Description | Features | |------|-------------|----------| | TCS3400 | Color sensor | IR blocking filter | | TCS3472 | RGB color light | Clear channel | | TCS34725 | Color sensor | Enhanced IR block |
| Part | Description | Features | |------|-------------|----------| | APDS-9930 | Prox + ALS | Digital ambient light | | APDS-9960 | Gesture + Prox + RGB | 4-way gesture detection |
| Part | Description | Channels | |------|-------------|----------| | AS3935 | Lightning sensor IC | - | | AS3933 | LF wake-up receiver | 3 |
| Part | Description | Resolution | |------|-------------|------------| | AS5047 | Rotary encoder | 14-bit | | AS5048 | Rotary encoder | 14-bit | | AS5600 | Rotary encoder | 12-bit |
| Part | Description | Measurements | |------|-------------|--------------| | ENS160 | Air quality sensor | VOC, CO2 equivalent | | ENS210 | Humidity/temp sensor | RH + temperature | | ENS220 | Barometric pressure | Pressure + temp |
| Suffix | Package | Description | |--------|---------|-------------| | BLGT | BGA | BGA Lead-free Green/Tape | | BGA | BGA | Ball Grid Array | | FN | QFN | Quad Flat No-leads | | QFN | QFN | Quad Flat No-leads | | LGA | LGA | Land Grid Array | | TSL | DFN | Special TSL suffix (typically DFN) | | ASIL | (varies) | Automotive Safety Integrity Level variant | | ASOM | MODULE | Module variant | | TR | TAPE_REEL | Tape and Reel packaging |
| Suffix | Package | Example | |--------|---------|---------| | FN | QFN | TMD26721FN, TCS34725FN | | LGA | LGA | AS7262LGA |
The AMSHandler supports these ComponentType values:
| ComponentType | Product Families |
|---------------|------------------|
| SENSOR | All sensor families (AS72xx, AS73xx, TSL2xxx, TMD2xxx, TCS3xxx, APDS-9xxx, AS5xxx, AS6xxx, ENSxxx) |
| SENSOR_PROXIMITY | TMD2xxx, APDS-9xxx |
| HUMIDITY_SENSOR | ENSxxx |
| LED_DRIVER | AS3xxx |
| IC | All families (base type) |
The handler extracts series using these rules:
| Pattern | Extracted Series | Example |
|---------|------------------|---------|
| APDS-?9xxx | APDS | APDS-9960 -> APDS |
| TSLxxxx | TSL | TSL2591 -> TSL |
| TMDxxxx | TMD | TMD2772 -> TMD |
| TCSxxxx | TCS | TCS34725 -> TCS |
| ENSxxx | ENS | ENS160 -> ENS |
| ASnnxx | ASnn (4 chars) | AS7262 -> AS72, AS5600 -> AS56 |
// 1. Check for hyphenated suffix
int lastHyphen = mpn.lastIndexOf('-');
if (lastHyphen >= 0) {
String suffix = mpn.substring(lastHyphen + 1);
// Skip numeric-only suffixes (model numbers like APDS-9960)
if (!suffix.matches("^[0-9]+$")) {
// Map known package codes
switch (suffix) {
case "BLGT": return "BGA";
case "FN", "QFN": return "QFN";
case "LGA": return "LGA";
case "ASOM": return "MODULE";
// Check for embedded indicators
if (suffix.endsWith("FN")) return "QFN";
}
}
}
// 2. Check for direct suffix (no hyphen)
if (mpn.endsWith("FN")) return "QFN";
if (mpn.endsWith("LGA")) return "LGA";
The handler defines these compatibility groups:
Some ams parts indicate interface type in the MPN:
| Suffix | Interface |
|--------|-----------|
| -I2C or I | I2C |
| -SPI or S | SPI |
| -ANA or A | Analog |
| MPN | Family | Type | Package | Notes | |-----|--------|------|---------|-------| | AS7262-BLGT | AS72xx | Spectral Sensor | BGA | 6-ch visible, lead-free tape | | AS7341 | AS73xx | Spectral Sensor | (default) | 11-channel spectral | | TSL2591FN | TSL2xxx | Light Sensor | QFN | High dynamic range | | TMD26721FN | TMD2xxx | Proximity Sensor | QFN | Enhanced proximity | | TCS34725FN | TCS3xxx | Color Sensor | QFN | RGB with IR block | | APDS-9960 | APDS-9xxx | Gesture Sensor | (default) | 4-way gesture | | APDS-9960-ASIL | APDS-9xxx | Gesture Sensor | QFN | Automotive variant | | AS5600-ASOM | AS5xxx | Position Sensor | MODULE | 12-bit magnetic encoder | | ENS160-BLGT | ENSxxx | Air Quality | BGA | VOC/CO2 sensor | | ENS210-LQFN | ENSxxx | Humidity Sensor | QFN | Humidity + temp |
manufacturers/AMSHandler.javaSENSOR, SENSOR_PROXIMITY, HUMIDITY_SENSOR, LED_DRIVER, ICSENSOR_AMS) definedThe handler uses pre-compiled patterns for performance:
private static final Pattern AS72XX_PATTERN = Pattern.compile("^AS72[0-9]{2}.*", Pattern.CASE_INSENSITIVE);
private static final Pattern APDS9XXX_PATTERN = Pattern.compile("^APDS-?9[0-9]{3}.*", Pattern.CASE_INSENSITIVE);
The handler explicitly overrides matches() to avoid cross-handler pattern matching issues:
@Override
public boolean matches(String mpn, ComponentType type, PatternRegistry patterns) {
// Each family explicitly checked
if (AS72XX_PATTERN.matcher(upperMpn).matches()) {
return type == ComponentType.SENSOR || type == ComponentType.IC;
}
// ... etc for each family
}
The handler correctly uses immutable Set.of():
@Override
public Set<ComponentType> getSupportedTypes() {
return Set.of(
ComponentType.SENSOR,
ComponentType.SENSOR_PROXIMITY,
ComponentType.HUMIDITY_SENSOR,
ComponentType.LED_DRIVER,
ComponentType.IC
);
}
APDS hyphen handling: The APDS family uses a hyphen in the name (APDS-9960), which complicates package extraction. The handler correctly skips numeric-only suffixes after the hyphen.
Multiple sensor types: Many ams sensors are registered under both SENSOR (generic) and more specific types like SENSOR_PROXIMITY or HUMIDITY_SENSOR. Always check for the most specific type first.
No manufacturer-specific ComponentTypes: Unlike TI or ST, ams does not have manufacturer-specific component types (e.g., SENSOR_AMS). All types are generic.
ENS sensors not interchangeable: Unlike other families where variants are compatible, ENS160 (air quality), ENS210 (humidity), and ENS220 (pressure) measure different things and are NOT replacements for each other.
AS5xxx resolution differences: Position sensors in the same sub-family (AS50xx, AS56xx) are compatible but have different resolutions (12-bit vs 14-bit). Consider application requirements when substituting.
OSRAM LED separation: LED products from OSRAM are handled by OSRAMHandler, not AMSHandler. This handler focuses on ams sensor products only.
BLGT suffix decoding: BLGT = BGA Lead-free Green/Tape - a common packaging designation for RoHS-compliant BGA parts on tape for pick-and-place.
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.