airoha

Airoha Technology (MediaTek subsidiary) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Airoha Bluetooth audio SoCs or AirohaHandler.

16 stars

Best use case

airoha is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Airoha Technology (MediaTek subsidiary) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Airoha Bluetooth audio SoCs or AirohaHandler.

Teams using airoha should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/airoha/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/development/airoha/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/airoha/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How airoha Compares

Feature / AgentairohaStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Airoha Technology (MediaTek subsidiary) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with Airoha Bluetooth audio SoCs or AirohaHandler.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Airoha Technology Manufacturer Skill

## Company Overview

Airoha Technology is a MediaTek subsidiary specializing in Bluetooth audio solutions for TWS (True Wireless Stereo) earbuds, ANC (Active Noise Cancellation) headphones, and premium audio applications.

## MPN Structure

Airoha MPNs follow this general structure:

```
[PREFIX][SERIES][MODEL][-PACKAGE]
   |       |       |       |
   |       |       |       +-- Optional: Package code (QFN, BGA, CSP)
   |       |       +-- Model variant (0-9)
   |       +-- Series number (55, 56, 57, 58)
   +-- AB15 prefix (Airoha Bluetooth 15xx)
```

### Example Decoding

```
AB1552
|  |||
|  ||+-- 2 = Model variant (basic TWS)
|  |+-- 5 = TWS earbud series
|  +-- 15 = Bluetooth 1.5 generation
+-- AB = Airoha Bluetooth

AB1562-QFN
|  ||| |
|  ||| +-- QFN = QFN package
|  ||+-- 2 = Model variant
|  |+-- 6 = ANC series
|  +-- 15 = Generation
+-- AB = Airoha Bluetooth

AB1575
|  |||
|  ||+-- 5 = Premium variant
|  |+-- 7 = Premium audio series
|  +-- 15 = Generation
+-- AB = Airoha Bluetooth
```

---

## Series Overview

| Series | Application | Features | Bluetooth |
|--------|-------------|----------|-----------|
| AB155x | TWS Earbuds | Basic TWS, low power | BT 5.0 |
| AB156x | ANC Earbuds | Active Noise Cancellation | BT 5.2 |
| AB157x | Premium Audio | Hi-Fi, low latency | BT 5.2 |
| AB158x | Ultra-Low Power | Extended battery life | BT 5.3 |

---

## Product Families

### AB155x Series - TWS Earbuds

| Part Number | Features | Bluetooth | Application |
|-------------|----------|-----------|-------------|
| AB1552 | Basic TWS | BT 5.0 | Entry-level earbuds |
| AB1558 | Enhanced TWS | BT 5.0 | Mid-range earbuds |

### AB156x Series - ANC Earbuds

| Part Number | Features | Bluetooth | ANC Type |
|-------------|----------|-----------|----------|
| AB1562 | Hybrid ANC | BT 5.2 | Feedforward + Feedback |
| AB1563 | Enhanced ANC | BT 5.2 | Advanced hybrid |
| AB1568 | Premium ANC | BT 5.2 | Multi-mic ANC |

### AB157x Series - Premium Audio

| Part Number | Features | Bluetooth | Audio |
|-------------|----------|-----------|-------|
| AB1570 | Hi-Fi audio | BT 5.2 | High-resolution |
| AB1575 | Premium codec | BT 5.2 | LDAC/aptX HD |

### AB158x Series - Ultra-Low Power

| Part Number | Features | Bluetooth | Power |
|-------------|----------|-----------|-------|
| AB1580 | Ultra-low power | BT 5.3 | Optimized for battery |
| AB1585 | Enhanced ULP | BT 5.3 | Extended standby |

---

## Package Codes

| Code | Package | Description |
|------|---------|-------------|
| QFN | QFN | Quad Flat No-lead |
| BGA | BGA | Ball Grid Array |
| CSP | CSP | Chip Scale Package |
| WLCSP | Wafer Level CSP | Ultra-small footprint |
| FCBGA | Flip-Chip BGA | High-density BGA |

---

## Bluetooth Version by Series

| Series | Default BT Version | LE Audio Support |
|--------|-------------------|------------------|
| AB155x | Bluetooth 5.0 | No |
| AB156x | Bluetooth 5.2 | Yes |
| AB157x | Bluetooth 5.2 | Yes |
| AB158x | Bluetooth 5.3 | Yes |

---

## Feature Comparison

| Feature | AB155x | AB156x | AB157x | AB158x |
|---------|--------|--------|--------|--------|
| TWS Support | Yes | Yes | Yes | Yes |
| ANC | No | Yes | Optional | Optional |
| Hi-Res Audio | No | No | Yes | Yes |
| Low Latency | Basic | Good | Excellent | Good |
| Power Efficiency | Good | Good | Moderate | Excellent |
| LE Audio | No | Yes | Yes | Yes |

---

## Handler Implementation Notes

### Pattern Matching

```java
// AB155x Series - TWS earbuds
"^AB155[0-9].*"

// AB156x Series - ANC earbuds
"^AB156[0-9].*"

// AB157x Series - Premium audio
"^AB157[0-9].*"

// AB158x Series - Ultra-low power
"^AB158[0-9].*"

// Generic pattern for all AB15xx
"^AB15[5-8][0-9].*"
```

### Package Code Extraction

```java
// Check for hyphenated suffix first
String[] parts = upperMpn.split("-");
if (parts.length > 1) {
    String suffix = parts[parts.length - 1];
    // Map: QFN, BGA, CSP, WLCSP, FCBGA
}

// Check for inline package indicators
if (upperMpn.contains("QFN")) return "QFN";
if (upperMpn.contains("BGA")) return "BGA";
```

### Series Extraction

```java
// Extract first 6 characters (e.g., AB1562)
// Validate matches AB15[5-8][0-9] pattern
if (result.matches("^AB15[5-8][0-9].*")) {
    return result.substring(0, 6);
}
```

### Bluetooth Version Inference

```java
// Infer BT version from series
if (mpn.startsWith("AB158")) return "5.3";
if (mpn.startsWith("AB157")) return "5.2";
if (mpn.startsWith("AB156")) return "5.2";
if (mpn.startsWith("AB155")) return "5.0";
```

---

## Replacement Compatibility

### Within-Series Replacements

Higher model numbers within a series can typically replace lower ones:
- AB1558 can replace AB1552 (more features)
- AB1568 can replace AB1562 (better ANC)

### Cross-Series Restrictions

Different series target different applications and are NOT interchangeable:
- AB156x (ANC) should NOT replace AB155x (basic TWS)
- AB157x (premium) should NOT replace AB155x (basic TWS)

### Feature Compatibility Rules

1. If target requires ANC, replacement must support ANC
2. If target requires premium audio, replacement must support it
3. Higher Bluetooth version can replace lower version

---

## Application Guidelines

| Use Case | Recommended Series |
|----------|-------------------|
| Budget TWS earbuds | AB155x |
| Mid-range ANC earbuds | AB156x |
| Premium headphones | AB157x |
| Long-battery earbuds | AB158x |

---

## Related Files

- Handler: `manufacturers/AirohaHandler.java`
- Component types: `IC`

---

## Learnings & Edge Cases

- **MediaTek subsidiary**: Airoha is owned by MediaTek, some parts may have MTK cross-references
- **Series determines features**: AB155x vs AB156x vs AB157x have fundamentally different capabilities
- **Package suffix optional**: Many MPNs don't include package code
- **Bluetooth version tied to series**: Cannot upgrade BT version without changing series
- **ANC compatibility critical**: Never substitute non-ANC for ANC-required applications
- **Model numbering**: Higher model number within series = more features/better performance

<!-- Add new learnings above this line -->

Related Skills

bgo

10
from diegosouzapw/awesome-omni-skill

Automates the complete Blender build-go workflow, from building and packaging your extension/add-on to removing old versions, installing, enabling, and launching Blender for quick testing and iteration.

Coding & Development

n8n-node-configuration

16
from diegosouzapw/awesome-omni-skill

Operation-aware node configuration guidance. Use when configuring nodes, understanding property dependencies, determining required fields, choosing between get_node detail levels, or learning common configuration patterns by node type.

n8n-code-python

16
from diegosouzapw/awesome-omni-skill

Write Python code in n8n Code nodes. Use when writing Python in n8n, using _input/_json/_node syntax, working with standard library, or need to understand Python limitations in n8n Code nodes.

n8n-builder

16
from diegosouzapw/awesome-omni-skill

Expert n8n workflow builder that creates, deploys, and manages n8n workflows programmatically via the n8n REST API. Use when asked to create n8n workflows, automate n8n tasks, build automations, design workflow pipelines, connect services via n8n, or manage existing n8n workflows. Handles webhook flows, scheduled tasks, AI agents, database syncs, conditional logic, error handling, and any n8n node configuration.

N+1 Query Detection

16
from diegosouzapw/awesome-omni-skill

Detect N+1 query patterns in GORM repository and service code — identify loops that execute queries, missing preloads, and unbounded fetches

myth

16
from diegosouzapw/awesome-omni-skill

Complete guide for using the Myth .NET ecosystem - enterprise-grade libraries for building scalable applications with SOLID principles, clean architecture, CQRS, validation, pipelines, and DDD patterns

mypy

16
from diegosouzapw/awesome-omni-skill

mypy - Static type checker for Python with gradual typing, strict mode, Protocol support, and framework integration

mypa

16
from diegosouzapw/awesome-omni-skill

Personal communication hub. Send tezits to family/team members, manage messages, get briefings, interrogate context, and share mirrors. Voice-first with Library of Context preservation and Tezit Protocol support.

my-react-rules

16
from diegosouzapw/awesome-omni-skill

This is a new rule

mvg

16
from diegosouzapw/awesome-omni-skill

Munich public transport (MVG) - departures, schedules, and alerts. Use when user shares location in Munich, asks about transport schedules, nearby stops, or transit disruptions.

music-assistant

16
from diegosouzapw/awesome-omni-skill

Control Home Assistant Music Assistant - browse library, search, play, manage preferences and moods.

multiplayer

16
from diegosouzapw/awesome-omni-skill

Multiplayer game development principles. Architecture, networking, synchronization.