Lib-electronic-components telink

Telink Semiconductor MPN encoding patterns, BLE/Zigbee SoC decoding, and handler guidance. Use when working with Telink wireless components or TelinkHandler.

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

Telink Semiconductor Manufacturer Skill

MPN Structure

Telink uses two naming conventions for their BLE and Zigbee SoCs:

Legacy TLSR Naming

TLSR[SERIES][VARIANT][FEATURES][PACKAGE]
   |    |       |        |        |
   |    |       |        |        +-- Package code (ET32, ET48, Q)
   |    |       |        +-- Feature/flash suffix (F512, F1M)
   |    |       +-- Variant letter (A, B, etc.)
   |    +-- Series number (8251, 8258, 9218)
   +-- Telink Low-power Semiconductor Radio

Newer B-Series Naming

B[SERIES][VARIANT]
  |   |      |
  |   |      +-- Variant (M for module, etc.)
  |   +-- Series number (85, 87, 91, 92)
  +-- B-series (BLE-focused)

Example Decoding

TLSR8258F512ET32
|    |   |    |
|    |   |    +-- ET32 = QFN-32 package
|    |   +-- F512 = 512KB Flash
|    +-- 8258 = BLE 5.0 series
+-- TLSR = Telink Low-power Semiconductor Radio

B91M
| ||
| |+-- M = Module variant
| +-- 91 = RISC-V BLE 5.2 series
+-- B-series naming

Product Families

TLSR82xx Series (BLE 5.0)

PartDescriptionFlashPackages
TLSR8251BLE 5.0 SoC, entry-level512KBQFN-32
TLSR8253BLE 5.0 SoC, mid-range512KBQFN-32
TLSR8258BLE 5.0 SoC, feature-rich512KB/1MBQFN-32, QFN-48
TLSR8261BLE 5.0/Mesh SoC512KBQFN-32
TLSR8269BLE 5.0 high-end1MBQFN-48

TLSR825x Series (Zigbee 3.0)

PartDescriptionProtocol
TLSR8258Zigbee 3.0 + BLE dual-modeZigbee 3.0/BLE 5.0
TLSR8278Matter-ready SoCZigbee/Thread/BLE

TLSR92xx Series (BLE 5.2)

PartDescriptionFeatures
TLSR9218BLE 5.2 SoCLE Audio, Direction Finding

B-Series (Newer Naming)

PartDescriptionCore
B85BLE 5.0ARM Cortex-M0
B87BLE 5.0+ARM Cortex-M0
B91BLE 5.2 RISC-VRISC-V
B92BLE 5.3 RISC-VRISC-V

Package Codes

Code/SuffixPackagePin Count
ET32QFN32
ET48QFN48
ET24QFN24
Q32, QFN32QFN32
Q48, QFN48QFN48
QQFNVarious

Package Code Extraction

The handler looks for package codes in these locations:

  1. After hyphen:
    TLSR8258-Q32
  2. Embedded in suffix:
    TLSR8258ET32
  3. Trailing digits:
    TLSR8258F51232
    (32 = pin count)

Feature Suffixes

SuffixMeaning
F512512KB Flash
F1M1MB Flash
A, BSilicon revision
MModule variant

Series Compatibility

Upgrade Paths

TLSR8251 -> TLSR8258 (more features, pin-compatible)
TLSR8258 -> TLSR8269 (more Flash/features)
B85 -> B87 (improved BLE 5.0)
TLSR82xx -> TLSR92xx (BLE 5.0 to 5.2 upgrade)

Handler
isOfficialReplacement()
Logic

// Compatible upgrades:
TLSR8258 can replace TLSR8251
TLSR8269 can replace TLSR8258
B87 can replace B85
TLSR92xx can replace TLSR82xx

Handler Implementation Notes

Series Extraction

// TLSR series: extract first 8 alphanumeric characters
// TLSR8258F512ET32 -> TLSR8258

// B-series: extract B + 2 digits
// B91M -> B91

Package Code Extraction

// Check for explicit package suffix patterns
// Format: TLSR8258F512ET32 where last digits indicate package

// Common patterns: ET32 (QFN-32), ET48 (QFN-48), ET24 (QFN-24)
if (upperMpn.matches(".*ET32.*") || upperMpn.endsWith("32")) {
    return "QFN-32";
}

Matching Logic

Both

IC
and
MICROCONTROLLER
component types are supported:

  • TLSR series:
    ^TLSR[0-9]{4}.*
  • B-series:
    ^B[0-9]{2}[A-Z]*.*

Related Files

  • Handler:
    manufacturers/TelinkHandler.java
  • Component types:
    ComponentType.IC
    ,
    ComponentType.MICROCONTROLLER

Common MPNs

MPNDescriptionPackage
TLSR8251F512ET32BLE 5.0, 512KB, QFN-32QFN-32
TLSR8258F512ET32BLE 5.0, 512KB, QFN-32QFN-32
TLSR8258F1MET48BLE 5.0, 1MB, QFN-48QFN-48
TLSR8269F1MBLE 5.0 high-end, 1MBVarious
TLSR9218BLE 5.2Various
B91RISC-V BLE 5.2Various

Applications

  • Bluetooth Low Energy (BLE) devices
  • Zigbee 3.0 smart home devices
  • Thread/Matter IoT devices
  • BLE beacons and sensors
  • Wireless keyboards/mice
  • Audio devices (TWS earbuds)

Learnings & Edge Cases

  • Dual naming convention: Telink transitioned from TLSR to B-series naming. Both are still in use.
  • BLE/Zigbee dual-mode: Some chips like TLSR8258 support both BLE and Zigbee protocols.
  • Flash size in MPN: F512 = 512KB, F1M = 1MB - important for firmware sizing.
  • Package in trailing digits: If MPN ends with 32/48/24, it indicates QFN pin count.
  • B91 is RISC-V: Unlike older TLSR chips (ARM Cortex-M0), B91 uses RISC-V core.
<!-- Add new learnings above this line -->