Lib-electronic-components espressif

Espressif Part Number Reference

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

Espressif Part Number Reference

MPN Structure Overview

Espressif produces WiFi/Bluetooth SoCs and modules:

  • ESP8266: Legacy WiFi SoC
  • ESP32: WiFi + Bluetooth SoC
  • ESP32-S2/S3: Enhanced ESP32 variants
  • ESP32-C3/C6: RISC-V based variants
  • WROOM/WROVER: Module families

SoC Part Number Format

ESP[Series]-[Variant][Package]
  |    |       |        |
  |    |       |        +-- Package suffix (optional)
  |    |       +-- Variant (D0WD, S2, S3, C3, etc.)
  |    +-- Series (8266, 32)
  +-- Espressif prefix

Module Part Number Format

ESP32-[FormFactor]-[Revision][-U][-Memory]
  |        |            |      |      |
  |        |            |      |      +-- Memory config (N4, N8, R2, R8)
  |        |            |      +-- External antenna (U suffix)
  |        |            +-- Revision (E, B, etc.)
  |        +-- Form factor (WROOM, WROVER, MINI, PICO)
  +-- SoC type

Example Decoding

ESP32-S3-WROOM-1-N16R8
  |   |    |   | |  |
  |   |    |   | |  +-- R8 = 8MB PSRAM
  |   |    |   | +-- N16 = 16MB Flash
  |   |    |   +-- Revision 1
  |   |    +-- WROOM form factor
  |   +-- S3 variant
  +-- ESP32 series

SoC Variants

ESP8266 Series

SoCCoreWiFiBTNotes
ESP8266EXTensilica802.11 b/g/nNoOriginal
ESP8285Tensilica802.11 b/g/nNoWith 1MB flash

ESP32 Original

SoCCoreWiFiBT
ESP32-D0WDDual LX6802.11 b/g/nBT 4.2
ESP32-S0WDSingle LX6802.11 b/g/nBT 4.2
ESP32-PICO-D4Dual LX6802.11 b/g/nBT 4.2

ESP32-S Series

SoCCoreWiFiBT
ESP32-S2Single LX7802.11 b/g/nNo
ESP32-S3Dual LX7802.11 b/g/nBT 5.0 LE

ESP32-C Series (RISC-V)

SoCCoreWiFiBT
ESP32-C2RISC-V802.11 b/g/nBT 5.0 LE
ESP32-C3RISC-V802.11 b/g/nBT 5.0 LE
ESP32-C6RISC-VWiFi 6BT 5.0 LE

Memory Configuration Suffixes

Flash (N/H prefix)

SuffixSizeTemperature
N44 MB-40 to +85C
N88 MB-40 to +85C
N1616 MB-40 to +85C
H44 MB-40 to +105C

PSRAM (R suffix)

SuffixSizeInterface
R22 MBQuad SPI
R88 MBOctal SPI

Module Form Factors

Form FactorDescriptionSize
WROOMStandard, PCB antenna18x25mm
WROVERWROOM + PSRAM (legacy)18x31mm
MINICompact, PCB antenna13x16mm
PICOUltra-compact SiP7x7mm

Supported ComponentTypes

ComponentType.MICROCONTROLLER
ComponentType.MICROCONTROLLER_ESPRESSIF
ComponentType.MCU_ESPRESSIF
ComponentType.ESP8266_SOC
ComponentType.ESP32_SOC
ComponentType.ESP32_S2_SOC
ComponentType.ESP32_S3_SOC
ComponentType.ESP32_C3_SOC
ComponentType.ESP32_WROOM_MODULE
ComponentType.ESP32_WROVER_MODULE

Known Handler Issues

1. Pattern Order Issues

Pattern

^ESP32.*
may match before more specific patterns like
^ESP32-S3.*
.

2. extractSeries WROOM Conflict

if (upperMpn.contains("WROOM")) {
    if (upperMpn.startsWith("ESP32")) return "ESP32-WROOM";
    return "ESP-WROOM";
}

This means

ESP32-S3-WROOM-1
returns
ESP32-WROOM
instead of
ESP32-S3
.

3. Missing C6/H2 Types

ComponentType enum doesn't include ESP32_C6_SOC or ESP32_H2_SOC.


Test Patterns

Valid SoC MPNs

ESP8266EX
ESP32-D0WDQ6
ESP32-S2
ESP32-S3
ESP32-C3

Valid Module MPNs

ESP32-WROOM-32E
ESP32-WROVER-E
ESP32-S3-WROOM-1-N16R8
ESP32-C3-MINI-1-N4
ESP32-C3-MINI-1U-N4

Related Files

  • Handler:
    manufacturers/EspressifHandler.java
  • Component types:
    EspressifComponentType.java
  • Test:
    handlers/EspressifHandlerTest.java
<!-- Add new learnings above this line -->