Lib-electronic-components txc

TXC Corporation MPN encoding patterns, frequency and temperature decoding, and handler guidance. Use when working with TXC timing devices (crystals, oscillators, TCXO, VCXO).

install
source · Clone the upstream repo
git clone https://github.com/Cantara/lib-electronic-components
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/Cantara/lib-electronic-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.claude/skills/manufacturers/txc" ~/.claude/skills/cantara-lib-electronic-components-txc && rm -rf "$T"
manifest: .claude/skills/manufacturers/txc/SKILL.md
source content

TXC Corporation Manufacturer Skill

MPN Structure

TXC MPNs follow this general structure:

[SERIES]-[FREQUENCY][SUFFIX]
   |         |         |
   |         |         +-- Temperature grade + packaging (e.g., MAAJ-T)
   |         +-- Frequency value (e.g., 12.000M = 12 MHz)
   +-- 2-character series code (7M, 8Y, 9C, 7V, 7X, AX)

Example Decoding

7M-12.000MAAJ-T
|    |    || |
|    |    || +-- T = Tape and Reel packaging
|    |    |+-- J = Package variant
|    |    +-- A = Commercial temperature (-20 to +70C)
|    +-- 12.000M = 12 MHz frequency
+-- 7M = Standard crystal series

8Y-16.000MAAE-T
|    |    ||
|    |    |+-- E = Extended temperature (-40 to +85C)
|    |    +-- A = Tolerance code
|    +-- 16.000M = 16 MHz
+-- 8Y = SMD crystal series

9C-25.000MBD-T
|    |    |
|    |    +-- BD = Clock oscillator suffix
|    +-- 25.000M = 25 MHz
+-- 9C = Clock oscillator series

Series Codes

Crystal Series

SeriesProduct TypePackageNotes
7MStandard crystalsHC49Through-hole, general purpose
8YSMD crystals3.2x2.5mmSurface mount, common size
AXAutomotive crystalsSMDAEC-Q200 qualified

Oscillator Series

SeriesProduct TypePackageNotes
9CClock oscillatorsSMDStandard clock output
7VVCXOSMDVoltage Controlled Crystal Oscillator
7XTCXOSMDTemperature Compensated Crystal Oscillator

Frequency Encoding

Frequency is encoded after the series prefix with a hyphen separator:

FormatExampleMeaning
XX.XXXM12.000M12.000 MHz
XX.XXXK32.768K32.768 kHz
XXXM25M25 MHz (simplified)

Temperature Grades

CodeRangeApplication
A-20 to +70CCommercial
E-40 to +85CExtended/Industrial
I-40 to +85CIndustrial (alternate)
M-55 to +125CMilitary (rarely used)

Temperature grade is typically the second character in the options suffix after the frequency.


Package Codes

TXC uses the series prefix to indicate general package type, with additional suffix encoding:

By Series

SeriesDefault PackageDimensions
7MHC49Through-hole
8YSMD ceramic3.2x2.5mm
9CSMD oscillatorVarious
7VSMD VCXO5.0x3.2mm typical
7XSMD TCXO3.2x2.5mm typical
AXAutomotive SMDVarious

Suffix Codes

SuffixMeaning
-TTape and Reel
-TRTape and Reel (alternate)
GGold finish
JStandard package variant

Replacement Compatibility

TXC parts are compatible when:

  1. Same series (7M vs 7M, 8Y vs 8Y)
  2. Same frequency (12.000M matches 12.000M)
  3. Compatible temperature (Extended can replace Commercial, not vice versa)

Temperature Grade Upgrade Path

Commercial (A) can be upgraded to Extended (E)
Extended (E) CANNOT be downgraded to Commercial (A)

Common Part Numbers

Standard Crystals (7M)

Part NumberFrequencyPackageNotes
7M-12.000MAAJ-T12 MHzHC49Commercial, tape/reel
7M-16.000MAAJ-T16 MHzHC49Commercial, tape/reel
7M-8.000MAAJ-T8 MHzHC49Commercial, tape/reel

SMD Crystals (8Y)

Part NumberFrequencyPackageNotes
8Y-12.000MAAE-T12 MHz3.2x2.5mmExtended temp
8Y-16.000MAAE-T16 MHz3.2x2.5mmExtended temp
8Y-25.000MAAJ-T25 MHz3.2x2.5mmCommercial

Clock Oscillators (9C)

Part NumberFrequencyOutputNotes
9C-12.000MBD-T12 MHzCMOSStandard output
9C-25.000MBD-T25 MHzCMOSStandard output
9C-50.000MBD-T50 MHzCMOSHigh frequency

VCXO (7V)

Part NumberFrequencyNotes
7V-12.000MBA-T12 MHzVoltage controlled
7V-25.000MBA-T25 MHzVoltage controlled

TCXO (7X)

Part NumberFrequencyStabilityNotes
7X-16.000MBA-T16 MHz+/-2.5ppmTemperature compensated
7X-26.000MBA-T26 MHz+/-2.5ppmTemperature compensated

Handler Implementation Notes

Series Code Extraction

// Series is first 2 characters
String extractSeriesCode(String mpn) {
    if (mpn == null || mpn.length() < 2) return "";
    String prefix = mpn.substring(0, 2).toUpperCase();
    return switch (prefix) {
        case "7M", "8Y", "9C", "7V", "7X", "AX" -> prefix;
        default -> "";
    };
}

Frequency Extraction

// Frequency is after first hyphen, ends with M or K
String extractFrequency(String mpn) {
    int dashIndex = mpn.indexOf('-');
    if (dashIndex < 0) return "";
    String afterDash = mpn.substring(dashIndex + 1);

    // Find end of frequency (M for MHz, K for kHz)
    for (int i = 0; i < afterDash.length(); i++) {
        char c = afterDash.charAt(i);
        if (c == 'M' || c == 'K') {
            return afterDash.substring(0, i + 1);
        }
    }
    return "";
}

Temperature Grade Detection

// Look for E (Extended) or A (Commercial) in options suffix
String extractTemperatureGrade(String mpn) {
    // Remove trailing -T if present
    String workMpn = mpn.endsWith("-T") ? mpn.substring(0, mpn.length() - 2) : mpn;

    // Find options suffix after frequency
    // E anywhere = Extended, A anywhere = Commercial
    String optionsSuffix = /* extract suffix after frequency */;
    if (optionsSuffix.contains("E")) return "Extended";
    if (optionsSuffix.contains("A")) return "Commercial";
    return "";
}

Related Files

  • Handler:
    manufacturers/TXCHandler.java
  • Component types:
    CRYSTAL
    ,
    OSCILLATOR
  • No manufacturer-specific types defined

Learnings & Edge Cases

  • Frequency format: Always includes decimal for precision (12.000M, not 12M)
  • Temperature in suffix: The second character in options suffix typically indicates temperature grade
  • Series determines package: Unlike other manufacturers, TXC uses series prefix to indicate package type
  • VCXO/TCXO distinction: 7V = voltage controlled, 7X = temperature compensated (different applications)
  • Automotive (AX): Requires AEC-Q200 qualification, typically extended temp range
<!-- Add new learnings above this line -->