AKM (Asahi Kasei Microdevices) MPN encoding patterns, suffix decoding, and handler guidance. Use when working with AKM audio ICs, magnetic sensors, or electronic compasses.
AKM (Asahi Kasei Microdevices) is a Japanese semiconductor manufacturer specializing in:
AKM is renowned for their premium audio converters used in high-end audio equipment and their compact magnetic sensors used in smartphones and wearables.
AKM MPNs follow this general structure:
[PREFIX][SERIES][VARIANT][-][PACKAGE/OPTIONS]
| | | |
| | | +-- Package code or options
| | +-- Variant/revision letter
| +-- Series number (4-5 digits)
+-- Always "AK" prefix
<!-- Add new learnings above this line -->Audio ICs:
AK4490 EQ - Premium 32-bit DAC
AK4493 SEQ - Upgraded premium DAC
AK5386 VT - 24-bit ADC
AK4796 VQ - Audio DAC
Magnetic Sensors:
AK8963 C - 3-axis electronic compass
AK8975 A - 3-axis compass
AK09918 - 3-axis compass, newer series
9-axis IMUs:
AK09911 C - 9-axis sensor (accel+gyro+compass)
AK09912 - 9-axis with improved gyroscope
AK09913 - 9-axis combined sensor
| Series | Description | Bits | Channels | Notes |
|---|---|---|---|---|
| AK4490 | Premium DAC | 32-bit | 2 | Flagship, VELVET SOUND |
| AK4493 | Premium DAC | 32-bit | 2 | Successor to AK4490 |
| AK4495 | Premium DAC | 32-bit | 2 | Enhanced performance |
| AK4497 | Reference DAC | 32-bit | 2 | Top of line |
| AK4796 | General DAC | 24-bit | 2 | Cost-effective |
| Series | Description | Bits | Channels | Notes |
|---|---|---|---|---|
| AK4490 | High-perf ADC | 24-bit | 2 | Multi-bit delta-sigma |
| AK5386 | Stereo ADC | 24-bit | 2 | Professional audio |
| Series | Description | Interface | Resolution | Notes |
|---|---|---|---|---|
| AK8963 | 3-axis compass | I2C/SPI | 14/16-bit | Widely used, smartphones |
| AK8975 | 3-axis compass | I2C | 13-bit | Older series |
| AK09911 | 9-axis IMU | I2C | 16-bit | With accelerometer |
| AK09912 | 9-axis IMU | I2C | 16-bit | With gyroscope |
| AK09913 | 9-axis IMU | I2C | 16-bit | Combined sensor |
| AK09918 | 3-axis compass | I2C | 16-bit | Newer, high precision |
| AK09940 | 3-axis compass | I2C/SPI | 18-bit | High precision |
| Series | Description | Notes |
|---|---|---|
| AK09970 | Linear position sensor | Hall effect |
| AK09973 | Switch sensor | Omnipolar |
| AK09911-AK09916 | Hall sensors | Various applications |
Package codes appear as suffixes, typically separated or as trailing letters:
| Code | Package | Size | Notes |
|---|---|---|---|
| TR | LGA | 1.6x1.6mm | Tape and reel, common for sensors |
| CS | CSP | Small | Chip-scale package |
| WL | WLCSP | Tiny | Wafer-level CSP |
| TS | TSSOP | - | Thin shrink small outline |
| QFN | QFN | Various | Quad flat no-lead |
| BGA | BGA | Various | Ball grid array |
| EQ | QFN | 5x5mm | Audio DAC package |
| VT | TQFP | 7x7mm | Audio ADC package |
| VQ | QFP | - | Standard quad flat |
| SEQ | QFN | - | Enhanced QFN variant |
// From AKMHandler.extractPackageCode():
// Split on hyphen, take suffix from main part
String[] parts = mpn.split("-");
String mainPart = parts[0];
String suffix = mainPart.replaceAll("^[A-Z0-9]+", "");
// Map known suffixes
switch (suffix) {
case "TR" -> "LGA";
case "CS" -> "CSP";
case "WL" -> "WLCSP";
case "TS" -> "TSSOP";
case "QFN" -> "QFN";
case "BGA" -> "BGA";
default -> suffix; // Return as-is
}
The handler uses different extraction lengths based on product family:
| Family | Prefix | Series Length | Example |
|---|---|---|---|
| Audio ICs | AK4, AK5 | 5 characters | AK4490, AK5386 |
| Sensors | AK8, AK09 | 6 characters | AK8963C, AK09918 |
// From AKMHandler.extractSeries():
boolean isAudioIC = mpn.startsWith("AK4") || mpn.startsWith("AK5");
int maxLength = isAudioIC ? 5 : 6;
// Extract up to maxLength alphanumeric characters
// AK4490EQ -> AK449 (audio IC, 5 chars)
// AK8963C -> AK8963 (sensor, 6 chars)
// AK09918 -> AK0991 (sensor, 6 chars)
For magnetic sensors, interface type can be extracted from the MPN:
| Suffix/Indicator | Interface | Notes |
|---|---|---|
| Ends with "I" | I2C | I2C interface |
| Ends with "S" | SPI | SPI interface |
| Contains "I2C" | I2C | Explicit in name |
| Contains "SPI" | SPI | Explicit in name |
For sensors, resolution may be indicated in the MPN:
| Indicator | Resolution | Notes |
|---|---|---|
| Contains "14BIT" | 14-bit | Lower resolution mode |
| Contains "16BIT" | 16-bit | Standard resolution |
From AKMHandler.getSupportedTypes():
| ComponentType | Description | Pattern Examples |
|---|---|---|
| SENSOR | General sensors, IMUs | AK09[0-9]., AK0991[0-9]. |
| MAGNETOMETER | Magnetic sensors, compasses | AK89[0-9]., AK099., AK8963., AK8975., AK09918.* |
| IC | Audio DACs and ADCs | AK449[0-9]., AK479[0-9]., AK4490., AK5386. |
Note: The handler has commented-out types (HALL_SENSOR, ADC, DAC) that may not exist in the ComponentType enum.
Patterns registered in AKMHandler.initializePatterns():
// 3-axis magnetic sensors
"^AK89[0-9].*" // AK8963, AK8975 series
"^AK099.*" // AK099xx high precision
"^AK8963.*" // Electronic compass
"^AK8975.*" // Electronic compass
"^AK09918.*" // 3-axis compass
// 9-axis and Hall sensors
"^AK09[0-9].*" // General 9-axis
"^AK09911.*" // 9-axis with accelerometer
"^AK09912.*" // 9-axis with gyroscope
"^AK09913.*" // 9-axis combined
"^AK0991[0-9].*" // Hall sensors
// DACs and ADCs
"^AK449[0-9].*" // Audio ADC series
"^AK479[0-9].*" // Audio DAC series
"^AK4490.*" // Premium DAC
"^AK5386.*" // Audio ADC
The isOfficialReplacement() method checks compatibility based on:
AK4490EQ
| | ||
| | |+-- Package: QFN (5x5mm)
| | +--- E: Enhanced variant
| +------ 4490: Premium 32-bit DAC
+--------- AK: AKM prefix
AK4493SEQ
| | | |
| | | +-- Package: QFN
| | +---- S: Super variant
| +------- 4493: Successor to AK4490
+---------- AK: AKM prefix
AK5386VT
| | ||
| | |+-- Package: TQFP (7x7mm)
| | +--- V: Voltage variant
| +------ 5386: 24-bit stereo ADC
+--------- AK: AKM prefix
AK8963C
| | |
| | +--- C: Revision C
| +------ 8963: 3-axis electronic compass
+--------- AK: AKM prefix
AK09918
| |
| +------ 09918: Latest 3-axis compass
+--------- AK: AKM prefix
AK09911C
| | |
| | +-- C: Revision
| +------ 09911: 9-axis IMU with accelerometer
+--------- AK: AKM prefix
AK09915
| |
| +------ 09915: Hall effect sensor
+--------- AK: AKM prefix
AK09970D
| | |
| | +-- D: Grade/variant
| +------ 09970: Linear position sensor
+--------- AK: AKM prefix
manufacturers/AKMHandler.javaSENSOR, MAGNETOMETER, ICPatternRegistry.javaSet.of() for immutability (known technical debt)ComponentType.IC, so IC must be in getSupportedTypes() for matches to work correctlyIn October 2020, a fire at AKM's primary manufacturing facility severely impacted production:
Consider lifecycle status when specifying AKM components.