main
Ray cp2104: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding) 4490299
{
  "schema_version": 1,
  "type": "component",
  "slug": "cp2104",
  "title": "CP2104",
  "brief": "Silicon Labs USB-to-UART bridge, QFN-24. USB 2.0 full-speed, up to 2 Mbps, integrated EEPROM + clock + regulator. Datasheet-verified.",
  "version": "0.1.0",
  "license": "CC-BY-SA-4.0",
  "tags": [
    "component",
    "interface",
    "usb-uart",
    "usb-bridge",
    "virtual-com-port",
    "qfn-24",
    "silicon-labs"
  ],
  "component": {
    "mpn": "CP2104",
    "manufacturer": "Silicon Labs",
    "package": "QFN-24",
    "pin_count": 24,
    "category": "Interface",
    "subcategory": "USB-to-UART bridge",
    "datasheet": "https://www.silabs.com/documents/public/data-sheets/cp2104.pdf",
    "parts": {
      "symbol": "cp2104.kicad_sym",
      "footprint": "cp2104.kicad_mod",
      "model_3d": "cp2104-etched.glb",
      "model_3d_plain": "cp2104.glb",
      "model_3d_step": "cp2104-etched.step",
      "model_3d_step_plain": "cp2104.step",
      "lbr": "cp2104.lbr"
    },
    "distributor_links": {},
    "pins": [
      {
        "number": "1",
        "name": "RI",
        "type": "input",
        "description": "Ring Indicator control input (active low). Modem-status handshake line."
      },
      {
        "number": "2",
        "name": "GND",
        "type": "power_in",
        "description": "Ground reference. Must be tied to ground."
      },
      {
        "number": "3",
        "name": "D+",
        "type": "bidirectional",
        "description": "USB D+ full-speed (12 Mbps) differential data line. Connect to the USB connector D+ pin."
      },
      {
        "number": "4",
        "name": "D-",
        "type": "bidirectional",
        "description": "USB D- full-speed (12 Mbps) differential data line. Connect to the USB connector D- pin."
      },
      {
        "number": "5",
        "name": "VIO",
        "type": "power_in",
        "description": "I/O supply voltage input. Sets digital I/O rail from 1.8 V up to VDD. Decouple to GND."
      },
      {
        "number": "6",
        "name": "VDD",
        "type": "power_in",
        "description": "Digital core supply (3.0 to 3.6 V). Also the output of the on-chip 3.45 V voltage regulator when REGIN is driven from VBUS (self- or USB-powered). Decouple to GND."
      },
      {
        "number": "7",
        "name": "REGIN",
        "type": "power_in",
        "description": "5 V regulator input (3.0 to 5.25 V). Input to the on-chip 3.45 V LDO whose output appears on VDD. Typically tied to VBUS."
      },
      {
        "number": "8",
        "name": "VBUS",
        "type": "input",
        "description": "VBUS sense input. Connect to the VBUS signal of the USB connector so the device can detect bus attach (2.5 V threshold)."
      },
      {
        "number": "9",
        "name": "RST",
        "type": "bidirectional",
        "description": "Device reset (active low). Open-drain output of internal POR / VDD monitor; may also be driven low externally for at least 15 us to initiate a system reset."
      },
      {
        "number": "10",
        "name": "NC",
        "type": "unconnected",
        "description": "No connect. Leave floating or tie to VIO."
      },
      {
        "number": "11",
        "name": "GPIO.3",
        "type": "bidirectional",
        "description": "User-configurable digital I/O. Supply is VIO (1.8 V to VDD). May be left unconnected when unused."
      },
      {
        "number": "12",
        "name": "GPIO.2",
        "type": "bidirectional",
        "description": "User-configurable digital I/O; optional RS-485 transceiver bus-control output (Section 7.2). Supply is VIO."
      },
      {
        "number": "13",
        "name": "GPIO.1",
        "type": "bidirectional",
        "description": "User-configurable digital I/O; optional receive-toggle output (Section 7.1). Supply is VIO."
      },
      {
        "number": "14",
        "name": "GPIO.0",
        "type": "bidirectional",
        "description": "User-configurable digital I/O; optional transmit-toggle output (Section 7.1). Supply is VIO."
      },
      {
        "number": "15",
        "name": "SUSPEND",
        "type": "output",
        "description": "Active-low USB suspend indicator. Driven low while the CP2104 is in the USB Suspend state."
      },
      {
        "number": "16",
        "name": "VPP",
        "type": "passive",
        "description": "OTP ROM programming supply pin. Connect a 4.7 uF capacitor between this pin and ground to support ROM programming via the USB interface. During programming VPP is 5.75 V to VIO+3.6 V."
      },
      {
        "number": "17",
        "name": "SUSPEND",
        "type": "output",
        "description": "Active-high USB suspend indicator. Driven high while the CP2104 is in the USB Suspend state."
      },
      {
        "number": "18",
        "name": "CTS",
        "type": "input",
        "description": "Clear-To-Send hardware flow-control input (active low). Modem handshake line."
      },
      {
        "number": "19",
        "name": "RTS",
        "type": "output",
        "description": "Request-To-Send hardware flow-control output (active low). Modem handshake line."
      },
      {
        "number": "20",
        "name": "RXD",
        "type": "input",
        "description": "Asynchronous UART receive data input. Data rates 300 bps to 2 Mbps; 5/6/7/8 data bits; 1/1.5/2 stop bits; odd/even/mark/space/no parity."
      },
      {
        "number": "21",
        "name": "TXD",
        "type": "output",
        "description": "Asynchronous UART transmit data output. Data rates 300 bps to 2 Mbps; 5/6/7/8 data bits; 1/1.5/2 stop bits; odd/even/mark/space/no parity."
      },
      {
        "number": "22",
        "name": "DSR",
        "type": "input",
        "description": "Data-Set-Ready modem control input (active low)."
      },
      {
        "number": "23",
        "name": "DTR",
        "type": "output",
        "description": "Data-Terminal-Ready modem control output (active low)."
      },
      {
        "number": "24",
        "name": "DCD",
        "type": "input",
        "description": "Data-Carrier-Detect modem control input (active low)."
      }
    ],
    "provenance": {
      "extractor": "ds2sf",
      "datasheet": {
        "url": "https://www.silabs.com/documents/public/data-sheets/cp2104.pdf",
        "pages": 22,
        "sha256": "9569257991f26467",
        "source_tier": "mfr"
      },
      "cad": "KiCad official (CC-BY-SA 4.0)",
      "pins": {
        "total": 24,
        "described": 24,
        "cites_pages": true,
        "refuses_to_fabricate": true
      }
    },
    "viewers": {
      "symbol": "viewers/symbol.html",
      "footprint": "viewers/footprint.html"
    },
    "models_3d": [
      {
        "file": "cp2104.step",
        "role": "plain",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          4,
          4,
          0.77
        ],
        "zmin_mm": 0,
        "centre_offset_mm": 0,
        "footprint_binding": "identity",
        "sha256": "096fc110543e6d324c5120c2d38e3dca87a389da9b6fac234f1fe40856295ef4",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      },
      {
        "file": "cp2104-etched.step",
        "role": "eda",
        "up": "Z",
        "units": "mm",
        "origin": "footprint origin = pad-pattern centre",
        "seat": "z = 0",
        "extents_mm": [
          4,
          4,
          0.77
        ],
        "zmin_mm": 0,
        "centre_offset_mm": 0,
        "footprint_binding": "identity",
        "sha256": "7a59e89304e76b2f16e03a4a6a76b582d891bb69141f80396581baf8fc3312ca",
        "checked": "2026-10-07",
        "checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
      }
    ]
  },
  "metadata": {
    "specs": {
      "Type": "USB-to-UART bridge",
      "USB": "USB 2.0 full-speed",
      "UART data rate": "300 bps to 2 Mbps",
      "GPIO": "4 configurable",
      "Integrated": "Oscillator, regulator, EEPROM",
      "Supply": "VBUS or self-powered (3.0-3.6 V core)",
      "Package": "QFN-24 (4x4 mm)"
    }
  },
  "sections": [
    "hero",
    "viewers",
    "readme",
    "breadcrumbs",
    "info"
  ],
  "discovery_triggers": [
    "cp2104",
    "usb to uart bridge",
    "usb serial chip",
    "virtual com port ic"
  ],
  "discovery_pitch": "Silicon Labs CP2104 USB-to-UART bridge (QFN-24) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.",
  "author": {
    "name": "Ray"
  },
  "dependencies": {},
  "hero": {
    "type": "image",
    "path": "docs/hero.png"
  },
  "files": [
    "page.json",
    "README.md",
    "cp2104.kicad_sym",
    "cp2104.kicad_mod",
    "cp2104.glb",
    "cp2104.step",
    "cp2104.lbr",
    "docs/hero.png",
    "docs/cp2104-datasheet.pdf",
    "viewers/symbol.html",
    "viewers/footprint.html",
    "cp2104-etched.step"
  ],
  "variants": [
    {
      "mpn": "CP2104-F03-GM (QFN-24)",
      "kind": "packaging"
    },
    {
      "mpn": "CP2104-F03-GMR (QFN-24, tape & reel)",
      "kind": "packaging"
    }
  ]
}