main
Ray Publish 0.1.0 d64de4e
{
  "slug": "ch9104l",
  "version": "0.1.0",
  "type": "component",
  "description": "WCH Jiangsu Qin Heng USB Converters, LQFP-48(7x7). Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
  "tags": [
    "component",
    "interface",
    "ch9104l",
    "factory-2.0.0",
    "extractor-text"
  ],
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "ch9104l.kicad_sym",
    "ch9104l.kicad_mod",
    "ch9104l.glb",
    "ch9104l.step",
    "ch9104l.lbr",
    "docs/hero.png",
    "docs/ch9104l-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "ch9104l-hero.glb",
    "ch9104l-hero.overlay.json",
    "ch9104l-etched.glb"
  ],
  "component": {
    "mpn": "CH9104L",
    "manufacturer": "WCH Jiangsu Qin Heng",
    "package": "LQFP-48(7x7)",
    "pin_count": 48,
    "category": "Interface",
    "subcategory": "USB Converters",
    "datasheet": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8602887639825592320",
    "parts": {
      "symbol": "ch9104l.kicad_sym",
      "footprint": "ch9104l.kicad_mod",
      "model_3d": "ch9104l-hero.glb",
      "model_3d_plain": "ch9104l-etched.glb",
      "model_3d_step": "ch9104l-etched.step",
      "model_3d_step_plain": "ch9104l.step",
      "lbr": "ch9104l.lbr"
    },
    "distributor_links": {
      "lcsc": "C22439562"
    },
    "distributor_check": {
      "checked_at": "2026-10-19T04:27:17Z",
      "source": "Component Ocean /api/assign-pns",
      "digikey": {
        "pn": null,
        "status": "no match"
      },
      "mouser": {
        "pn": null,
        "status": "no match"
      }
    },
    "pins": [
      {
        "number": "1",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "2",
        "name": "LOWPWR",
        "type": "bidirectional",
        "description": "USB suspend status output, active low (high in normal operation, low when suspended); if an external pull-down is detected at power-up, the output polarity is switched; tolerates 5 V when used as input."
      },
      {
        "number": "3",
        "name": "DSR3/GPIO32",
        "type": "bidirectional",
        "description": "UART3 modem input Data Set Ready, active low; general-purpose I/O GPIO32."
      },
      {
        "number": "4",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "5",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive supply input, 3.0 V to 3.6 V (typ. 3.3 V); requires an external decoupling capacitor of about 0.1 uF to ground."
      },
      {
        "number": "6",
        "name": "RTS0/TNOW0/GPIO05",
        "type": "bidirectional",
        "description": "UART0 modem output RTS, active low, or RS485 TNOW transmit/receive control if a pull-down is present at power-up; general-purpose I/O GPIO05; tolerates 5 V when used as input."
      },
      {
        "number": "7",
        "name": "CTS0/GPIO04",
        "type": "bidirectional",
        "description": "UART0 modem input CTS, active low; general-purpose I/O GPIO04; tolerates 5 V when used as input."
      },
      {
        "number": "8",
        "name": "TXD1",
        "type": "output",
        "description": "UART1 serial data output; idles high."
      },
      {
        "number": "9",
        "name": "RXD1",
        "type": "input",
        "description": "UART1 serial data input with internal pull-up; idles high."
      },
      {
        "number": "10",
        "name": "RTS1/TNOW1/GPIO15",
        "type": "bidirectional",
        "description": "UART1 modem output RTS, active low, or RS485 TNOW transmit/receive control if a pull-down is present at power-up; general-purpose I/O GPIO15; tolerates 5 V when used as input."
      },
      {
        "number": "11",
        "name": "CTS1/GPIO14",
        "type": "bidirectional",
        "description": "UART1 modem input CTS, active low; general-purpose I/O GPIO14; tolerates 5 V when used as input."
      },
      {
        "number": "12",
        "name": "DTR1/GPIO13",
        "type": "bidirectional",
        "description": "UART1 modem output DTR, active low; at power-up, a pull-down on this pin enables hardware flow control on all UARTs; general-purpose I/O GPIO13; tolerates 5 V when used as input."
      },
      {
        "number": "13",
        "name": "DSR1/GPIO12",
        "type": "bidirectional",
        "description": "UART1 modem input Data Set Ready, active low; general-purpose I/O GPIO12."
      },
      {
        "number": "14",
        "name": "DCD1/GPIO11",
        "type": "bidirectional",
        "description": "UART1 modem input Data Carrier Detect, active low; general-purpose I/O GPIO11."
      },
      {
        "number": "15",
        "name": "RI1/RWK1/GPIO10",
        "type": "bidirectional",
        "description": "UART1 modem input Ring Indicator, active low; USB wake-up event input 1, active low with internal pull-up; general-purpose I/O GPIO10."
      },
      {
        "number": "16",
        "name": "DTR0/GPIO03",
        "type": "bidirectional",
        "description": "UART0 modem output DTR, active low; if an external pull-down is present at power-up, the EEPROM configuration is disabled and the chip default parameters are used; general-purpose I/O GPIO03."
      },
      {
        "number": "17",
        "name": "DSR0/GPIO02",
        "type": "bidirectional",
        "description": "UART0 modem input Data Set Ready, active low; general-purpose I/O GPIO02."
      },
      {
        "number": "18",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive supply input, 3.0 V to 3.6 V (typ. 3.3 V); requires an external decoupling capacitor of about 0.1 uF to ground."
      },
      {
        "number": "19",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "20",
        "name": "DCD0/GPIO01",
        "type": "bidirectional",
        "description": "UART0 modem input Data Carrier Detect, active low; general-purpose I/O GPIO01."
      },
      {
        "number": "21",
        "name": "RI0/RWK0/GPIO00",
        "type": "bidirectional",
        "description": "UART0 modem input Ring Indicator, active low; USB wake-up event input 0, active low with internal pull-up; general-purpose I/O GPIO00."
      },
      {
        "number": "22",
        "name": "TXD2",
        "type": "output",
        "description": "UART2 serial data output; idles high."
      },
      {
        "number": "23",
        "name": "RXD2",
        "type": "input",
        "description": "UART2 serial data input with internal pull-up; idles high."
      },
      {
        "number": "24",
        "name": "RTS2/TNOW2/GPIO25",
        "type": "bidirectional",
        "description": "UART2 modem output RTS, active low, or RS485 TNOW transmit/receive control if a pull-down is present at power-up; general-purpose I/O GPIO25."
      },
      {
        "number": "25",
        "name": "CTS2/GPIO24",
        "type": "bidirectional",
        "description": "UART2 modem input CTS, active low; general-purpose I/O GPIO24."
      },
      {
        "number": "26",
        "name": "DTR2/GPIO23",
        "type": "bidirectional",
        "description": "UART2 modem output DTR, active low; general-purpose I/O GPIO23."
      },
      {
        "number": "27",
        "name": "DSR2/GPIO22",
        "type": "bidirectional",
        "description": "UART2 modem input Data Set Ready, active low; general-purpose I/O GPIO22."
      },
      {
        "number": "28",
        "name": "DCD2/GPIO21",
        "type": "bidirectional",
        "description": "UART2 modem input Data Carrier Detect, active low; general-purpose I/O GPIO21."
      },
      {
        "number": "29",
        "name": "RI2/RWK2/GPIO20",
        "type": "bidirectional",
        "description": "UART2 modem input Ring Indicator, active low; USB wake-up event input 2, active low with internal pull-up; general-purpose I/O GPIO20; tolerates 5 V when used as input."
      },
      {
        "number": "30",
        "name": "TXD0",
        "type": "output",
        "description": "UART0 serial data output; idles high."
      },
      {
        "number": "31",
        "name": "RXD0",
        "type": "input",
        "description": "UART0 serial data input with internal pull-up; idles high; tolerates 5 V when used as input."
      },
      {
        "number": "32",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "33",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive supply input, 3.0 V to 3.6 V (typ. 3.3 V); requires an external decoupling capacitor of about 0.1 uF to ground."
      },
      {
        "number": "34",
        "name": "DCD3/GPIO31",
        "type": "bidirectional",
        "description": "UART3 modem input Data Carrier Detect, active low; general-purpose I/O GPIO31; tolerates 5 V when used as input."
      },
      {
        "number": "35",
        "name": "CFG0",
        "type": "input",
        "description": "Remote wake-up and USB power mode configuration pin 0; tolerates 5 V when used as input."
      },
      {
        "number": "36",
        "name": "CFG1",
        "type": "input",
        "description": "Remote wake-up and USB power mode configuration pin 1; tolerates 5 V when used as input."
      },
      {
        "number": "37",
        "name": "RI3/RWK3/GPIO30",
        "type": "bidirectional",
        "description": "UART3 modem input Ring Indicator, active low; USB wake-up event input 3, active low with internal pull-up; general-purpose I/O GPIO30; tolerates 5 V when used as input."
      },
      {
        "number": "38",
        "name": "TXD3",
        "type": "output",
        "description": "UART3 serial data output; idles high."
      },
      {
        "number": "39",
        "name": "RXD3",
        "type": "input",
        "description": "UART3 serial data input with internal pull-up; idles high; tolerates 5 V when used as input."
      },
      {
        "number": "40",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "41",
        "name": "GND",
        "type": "power_in",
        "description": "Common ground; must be connected to the USB bus ground line."
      },
      {
        "number": "42",
        "name": "UD-",
        "type": "bidirectional",
        "description": "USB D- data line, connected directly to the USB bus; no series resistor may be added."
      },
      {
        "number": "43",
        "name": "UD+",
        "type": "bidirectional",
        "description": "USB D+ data line, connected directly to the USB bus; no series resistor may be added."
      },
      {
        "number": "44",
        "name": "NC",
        "type": "unconnected",
        "description": "No connection; must be left floating."
      },
      {
        "number": "45",
        "name": "VCC",
        "type": "power_in",
        "description": "Positive supply input, 3.0 V to 3.6 V (typ. 3.3 V); requires an external decoupling capacitor of about 0.1 uF to ground."
      },
      {
        "number": "46",
        "name": "RTS3/TNOW3/GPIO35",
        "type": "bidirectional",
        "description": "UART3 modem output RTS, active low, or RS485 TNOW transmit/receive control if a pull-down is present at power-up; general-purpose I/O GPIO35; tolerates 5 V when used as input."
      },
      {
        "number": "47",
        "name": "CTS3/GPIO34",
        "type": "bidirectional",
        "description": "UART3 modem input CTS, active low; general-purpose I/O GPIO34; tolerates 5 V when used as input."
      },
      {
        "number": "48",
        "name": "DTR3/GPIO33",
        "type": "bidirectional",
        "description": "UART3 modem output DTR, active low; general-purpose I/O GPIO33; tolerates 5 V when used as input."
      }
    ],
    "provenance": {
      "extractor": "extract_pins 0.3",
      "factory_chain": {
        "factory": "2.0.0",
        "extractor": "extract_pins 0.3",
        "primary_model": "claude-haiku-5-5",
        "primary_mode": "text",
        "consensus_model": "claude-sonnet-5-5",
        "consensus": "agreed",
        "guards": "pin_guards 0.1: passed",
        "guard_notes": [
          "extractor flagged: Package check: the datasheet ordering table (page 2) lists CH9104L as LQFP48 (7x7 mm, 0.5 mm pitch),; Pin type ambiguity: for the modem input signals (RI, DCD, DSR, CTS) and the GPIO-multiplexed pins, t; LOWPWR (pin 2) is listed as both output and input in the table, but the text describes it as a USB s"
        ],
        "pages_sent": 7,
        "cost_usd": 0.0866,
        "at": "2026-10-19T04:26:58"
      },
      "datasheet": {
        "url": "https://jlcpcb.com/api/file/downloadByFileSystemAccessId/8602887639825592320",
        "pages": 7,
        "sha256": "4c6ffbf98d4337ee",
        "source_tier": "lcsc"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 48,
        "described": 48,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "ch9104l.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          9.0,
          9.0,
          1.5
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "9dea352d93177c2904afd7d7b68ea8855ce1ab691f69f8b3e13655600514b6bf",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "ch9104l-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          9.0,
          9.0,
          1.5
        ],
        "zmin_mm": -0.0,
        "centre_offset_mm": 0.0,
        "footprint_binding": "identity",
        "sha256": "ac2d46dafe26b6bf09360d2dba3a712f26a2e843388c89583df0b299d11ceb3e",
        "checked": "2026-10-19",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  }
}