Lib-electronic-components invsense

InvenSense Manufacturer Handler Skill

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

InvenSense Manufacturer Handler Skill

Overview

InvSenseHandler manages InvenSense (now TDK) motion sensors including 6-axis IMUs, 9-axis IMUs, gyroscopes, accelerometers, and audio/motion processors.

Supported Component Types

  • SENSOR
  • ACCELEROMETER
  • GYROSCOPE
  • MAGNETOMETER

MPN Patterns

6-Axis IMUs (Accelerometer + Gyroscope)

PrefixDescription
ICM-20xxxICM Series IMUs
MPU-6xxxMPU-6000 Series IMUs

9-Axis IMUs (Accelerometer + Gyroscope + Magnetometer)

PrefixDescription
ICM-209xxICM-209xx Series
MPU-9xxxMPU-9000 Series

Gyroscopes

PrefixDescription
ITG-3xxxITG Series
IVS-4xxxIVS Series

Accelerometers

PrefixDescription
IAM-2xxxIAM Series
IIM-4xxxIIM Series

Audio/Motion Processors

PrefixDescription
ICS-4xxxxAudio ICs
IAC-5xxxxAudio/Motion ICs

Package Codes

SuffixPackage
QFNQFN
LGALGA
BGABGA
WLCSPWafer Level CSP
CSPChip Scale Package
QQFN (suffix)
LLGA (suffix)
BBGA (suffix)
CCSP (suffix)

Series Extraction

Returns family + model number (e.g., "ICM-20948", "MPU-6050").

Interface Codes

CodeInterface
-I2C, II2C
-SPI, SSPI
-COMBO, CI2C + SPI

Replacement Logic

  • Same series compatible with different packages
  • Interface must match (I2C, SPI, COMBO)
  • Voltage compatibility (1.8V parts work at higher voltages)
  • Known compatible pairs:
    • MPU-6050 / ICM-20600
    • MPU-9250 / ICM-20948
    • ITG-3200 / IVS-4200
    • IAM-2000 / IIM-4000

Test Patterns

When testing InvSenseHandler:

  1. Use documentation tests for
    matches()
    behavior
  2. Use assertions for
    extractPackageCode()
    ,
    extractSeries()
    , null handling
  3. Instantiate directly:
    new InvSenseHandler()

Known Handler Issues

All issues fixed in PR #88

Common Part Numbers

Part NumberDescription
MPU-60506-axis IMU (legacy, popular)
ICM-209489-axis IMU
ICM-42688-PHigh performance 6-axis IMU
ICM-206006-axis IMU
MPU-92509-axis IMU