Lib-electronic-components sunlord

Sunlord Electronics inductor and ferrite bead MPN encoding patterns, value decoding, and handler guidance. Use when working with Sunlord inductors or SunlordHandler.

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/sunlord" ~/.claude/skills/cantara-lib-electronic-components-sunlord && rm -rf "$T"
manifest: .claude/skills/manufacturers/sunlord/SKILL.md
source content

Sunlord Electronics Manufacturer Skill

MPN Structure

Sunlord MPNs follow this structure:

[SERIES][SIZE][TYPE][VALUE][TOLERANCE][OPTIONS]
   |      |     |      |       |         |
   |      |     |      |       |         +-- Packaging/options
   |      |     |      |       +-- M=20%, K=10%, J=5%
   |      |     |      +-- Inductance code (see below)
   |      |     +-- Type/characteristics code
   |      +-- 4-digit metric size code
   +-- Series prefix (SDCL, SWPA, SDFL, GZ)

Example Decoding

SDCL1005C1R0MTDF
|   |   ||  ||||
|   |   ||  |||+-- Additional options
|   |   ||  ||+-- Packaging (T=Tape/Reel)
|   |   ||  |+-- Tolerance (M=+/-20%)
|   |   ||  +-- Inductance (1R0 = 1.0uH)
|   |   |+-- Type code (C)
|   |   +-- Size (1005 = 1.0mm x 0.5mm = 0402 imperial)
|   +-- Series
+-- SDCL = Power Inductor

GZ2012D601TF
| |   ||  ||
| |   ||  |+-- Packaging (F)
| |   ||  +-- Tolerance (T)
| |   |+-- Impedance (601 = 600 ohm at 100MHz)
| |   +-- Type code (D)
| +-- Size (2012 = 2.0mm x 1.2mm = 0805 imperial)
+-- GZ = Ferrite Bead

Series Reference

SDCL - Power Inductors

FeatureDescription
TypePower inductor
Pattern
^SDCL[0-9]{4}.*
Value encodingInductance in uH

SWPA - Shielded Power Inductors

FeatureDescription
TypePower inductor (shielded)
Pattern
^SWPA[0-9]{4}.*
Value encodingInductance in uH
S prefix in typeIndicates shielded

SDFL - Ferrite Chip Inductors

FeatureDescription
TypeFerrite chip inductor
Pattern
^SDFL[0-9]{4}.*
Value encodingInductance in uH

GZ - Ferrite Beads

FeatureDescription
TypeFerrite bead
Pattern
^GZ[0-9]{4}.*
Value encodingImpedance at 100MHz in ohms

Inductance Encoding

Sunlord uses a 3-character inductance code:

R-Notation (Decimal Point)

CodeValueCalculation
R470.47uH0.47
R100.10uH0.10
1R01.0uH1.0
2R22.2uH2.2
4R74.7uH4.7

3-Digit Code (Multiplier)

CodeValueCalculation
10010uH10 x 10^0
101100uH10 x 10^1
1021000uH (1mH)10 x 10^2
22022uH22 x 10^0
221220uH22 x 10^1
47047uH47 x 10^0
471470uH47 x 10^1

Decoding Algorithm

// R at start = sub-1uH value
if (code.startsWith("R")) {
    return Double.parseDouble("0." + code.substring(1));  // R47 -> 0.47
}

// R in middle = decimal point
if (code.contains("R")) {
    return Double.parseDouble(code.replace("R", "."));  // 1R0 -> 1.0
}

// 3-digit code: first 2 digits x 10^(3rd digit)
int mantissa = Integer.parseInt(code.substring(0, 2));
int exponent = Integer.parseInt(code.substring(2, 3));
return mantissa * Math.pow(10, exponent);  // 101 -> 10 x 10^1 = 100

Impedance Encoding (Ferrite Beads)

GZ series uses 3-digit impedance code (at 100MHz):

CodeImpedanceCalculation
601600 ohm60 x 10^1
121120 ohm12 x 10^1
1021000 ohm10 x 10^2
22022 ohm22 x 10^0
int mantissa = Integer.parseInt(code.substring(0, 2));
int exponent = Integer.parseInt(code.substring(2, 3));
return mantissa * Math.pow(10, exponent);  // 601 -> 60 x 10^1 = 600

Package Size Codes

Metric to Imperial Conversion

Metric (mm)ImperialNotes
100504021.0 x 0.5mm
160806031.6 x 0.8mm
201208052.0 x 1.2mm
321612063.2 x 1.6mm
322512103.2 x 2.5mm
451618064.5 x 1.6mm
452018084.5 x 2.0mm
453218124.5 x 3.2mm
502520105.0 x 2.5mm
633225126.3 x 3.2mm

Power Inductor Sizes (Stay Metric)

SizeDimensions
25202.5 x 2.0mm
30153.0 x 1.5mm
40204.0 x 2.0mm
40304.0 x 3.0mm
50205.0 x 2.0mm
50305.0 x 3.0mm
60206.0 x 2.0mm
60306.0 x 3.0mm

Tolerance Codes

CodeTolerance
J+/- 5%
K+/- 10%
M+/- 20%

Handler Implementation Notes

Series Extraction

// Returns series + size as the full series identifier
// Example: SDCL1005C1R0MTDF -> "SDCL1005"

if (mpn.startsWith("SDCL")) {
    return "SDCL" + mpn.substring(4, 8);  // SDCL + 4-digit size
}
if (mpn.startsWith("SWPA")) {
    return "SWPA" + mpn.substring(4, 8);
}
if (mpn.startsWith("SDFL")) {
    return "SDFL" + mpn.substring(4, 8);
}
if (mpn.startsWith("GZ")) {
    return "GZ" + mpn.substring(2, 6);  // GZ only has 2-letter prefix
}

Package Code Extraction

// Extract 4-digit size code and convert to imperial
String sizeCode = extractSizeCode(mpn);  // e.g., "1005"
String imperial = SIZE_TO_IMPERIAL_MAP.get(sizeCode);  // e.g., "0402"
return imperial != null ? imperial : sizeCode;

Value Extraction

// For inductors (SDCL, SWPA, SDFL) - extract inductance
public String extractInductanceValue(String mpn) {
    // Match pattern and extract value code from group 4
    Matcher m = SDCL_PATTERN.matcher(mpn);
    if (m.matches()) {
        return parseInductanceCode(m.group(4));
    }
    // ... similar for SWPA, SDFL
}

// For ferrite beads (GZ) - extract impedance
public String extractImpedanceValue(String mpn) {
    Matcher m = GZ_PATTERN.matcher(mpn);
    if (m.matches()) {
        return parseImpedanceCode(m.group(4));
    }
}

Component Types

Sunlord products map to:

  • INDUCTOR
    - All inductor products
  • IC
    - Also registered under IC for pattern matching compatibility

Note: Handler registers both types for each pattern.


Common Part Numbers

MPNDescription
SDCL1005C1R0MTDF1.0uH power inductor, 0402, 20%
SWPA4020S100MT10uH shielded power inductor, 4020
SDFL2012T1R0M3B1.0uH ferrite chip inductor, 0805
GZ2012D601TF600 ohm ferrite bead, 0805

Related Files

  • Handler:
    manufacturers/SunlordHandler.java
  • Supported types:
    INDUCTOR
    ,
    IC
  • No manufacturer-specific ComponentType enum entries

Learnings & Edge Cases

  • GZ series prefix length: GZ has only 2 letters before size code, unlike SDCL/SWPA/SDFL which have 4.
  • Value position varies: In SDCL/SWPA/SDFL the value follows an optional type code. Pattern matching must be flexible.
  • Imperial conversion: Standard chip sizes convert to imperial. Power inductor sizes stay metric (4020 stays 4020).
  • Type code is optional: The single letter between size and value may be empty in some MPNs.
  • Ferrite beads vs inductors: GZ series stores impedance, not inductance. Different extraction method needed.
  • Tolerance position: Tolerance (M/K/J) appears immediately after the value code.
<!-- Add new learnings above this line -->