component
CH341A
Public Made by Adomby adom
WCH(Jiangsu Qin Heng) USB ICs, SOP-28-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.
main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314
{
"slug": "ch341a",
"version": "0.1.0",
"type": "component",
"description": "WCH(Jiangsu Qin Heng) USB ICs, SOP-28-300mil. Pinout cross-checked by two models against the datasheet, KiCad symbol/footprint/3D.",
"tags": [
"component",
"interface ics",
"ch341a",
"factory-2.0.0",
"extractor-text"
],
"dependencies": {},
"hero": {
"type": "image",
"path": "docs/hero.png"
},
"files": [
"page.json",
"README.md",
"ch341a.kicad_sym",
"ch341a.kicad_mod",
"ch341a.glb",
"ch341a.step",
"ch341a.lbr",
"docs/hero.png",
"docs/ch341a-datasheet.pdf",
"viewers/symbol.html",
"viewers/footprint.html",
"ch341a-hero.glb",
"ch341a-hero.overlay.json",
"ch341a-etched.glb"
],
"component": {
"mpn": "CH341A",
"manufacturer": "WCH(Jiangsu Qin Heng)",
"package": "SOP-28-300mil",
"pin_count": 28,
"category": "Interface ICs",
"subcategory": "USB ICs",
"datasheet": "https://datasheet.lcsc.com/datasheet/pdf/1707f009fd730913c0752ada03545060.pdf",
"parts": {
"symbol": "ch341a.kicad_sym",
"footprint": "ch341a.kicad_mod",
"model_3d": "ch341a-hero.glb",
"model_3d_plain": "ch341a-etched.glb",
"model_3d_step": "ch341a-etched.step",
"model_3d_step_plain": "ch341a.step",
"lbr": "ch341a.lbr"
},
"distributor_links": {
"lcsc": "C13517"
},
"distributor_check": {
"checked_at": "2026-10-27T01:42:52Z",
"source": "Component Ocean /api/assign-pns",
"digikey": {
"pn": null,
"status": "no match"
},
"mouser": {
"pn": null,
"status": "no match"
}
},
"pins": [
{
"number": "1",
"name": "ACT#",
"type": "output",
"description": "USB device configuration status output, active low: high while the USB device is unconfigured, low once configured; may drive an LED through a series current-limiting resistor."
},
{
"number": "2",
"name": "RSTI",
"type": "input",
"description": "External reset input, active high with internal pull-down; the chip stays in reset while high and runs about 20 ms of delay after returning low."
},
{
"number": "3",
"name": "IN7",
"type": "input",
"description": "Custom general-purpose input in serial mode; datasheet recommends leaving it unconnected when unused (alternate function AS# in parallel mode)."
},
{
"number": "4",
"name": "ROV#",
"type": "tri_state",
"description": "Serial receive buffer overflow indicator, active low tri-state output; it should stay high in normal operation (alternate functions AFD# and DS# in printer and parallel modes)."
},
{
"number": "5",
"name": "TXD",
"type": "output",
"description": "Serial data output of the asynchronous UART; idles high (alternate functions ERR# in printer and parallel modes)."
},
{
"number": "6",
"name": "RXD",
"type": "input",
"description": "Serial data input of the asynchronous UART with internal pull-up; idles high (alternate function PEMP in printer and parallel modes)."
},
{
"number": "7",
"name": "INT#",
"type": "input",
"description": "Custom interrupt request input, rising-edge active, with internal pull-up."
},
{
"number": "8",
"name": "IN3",
"type": "input",
"description": "Custom general-purpose input in serial mode; datasheet recommends leaving it unconnected when unused (alternate function SLCT in printer and parallel modes)."
},
{
"number": "9",
"name": "V3",
"type": "power_in",
"description": "At 3.3V supply it must be tied to VCC with a 3.0-3.6V input; at 5V supply it needs a 0.01uF to 0.1uF decoupling capacitor."
},
{
"number": "10",
"name": "UD+",
"type": "bidirectional",
"description": "USB D+ data line, connects directly to the USB bus; the chip has the USB pull-up built in."
},
{
"number": "11",
"name": "UD-",
"type": "bidirectional",
"description": "USB D- data line, connects directly to the USB bus."
},
{
"number": "12",
"name": "GND",
"type": "power_in",
"description": "Common ground, connected directly to the USB bus ground."
},
{
"number": "13",
"name": "XI",
"type": "input",
"description": "Crystal oscillator input; CH341A requires an external 12 MHz crystal and load capacitor (or 12 MHz clock input at 11.98-12.02 MHz)."
},
{
"number": "14",
"name": "XO",
"type": "output",
"description": "Inverting crystal oscillator output; requires a 12 MHz crystal and load capacitor to XO and GND."
},
{
"number": "15",
"name": "CTS#",
"type": "input",
"description": "Modem handshake input, clear to send, active low; controlled by the host application, not by the chip."
},
{
"number": "16",
"name": "DSR#",
"type": "input",
"description": "Modem handshake input, data set ready, active low; controlled by the host application."
},
{
"number": "17",
"name": "RI#",
"type": "input",
"description": "Modem handshake input, ring indicator, active low; controlled by the host application."
},
{
"number": "18",
"name": "DCD#",
"type": "input",
"description": "Modem handshake input, carrier detect, active low; controlled by the host application."
},
{
"number": "19",
"name": "OUT#",
"type": "tri_state",
"description": "Custom general-purpose output, active low tri-state; the host application sets its state."
},
{
"number": "20",
"name": "DTR#",
"type": "tri_state",
"description": "Modem handshake output, data terminal ready, active low tri-state; set by the host application."
},
{
"number": "21",
"name": "RTS#",
"type": "tri_state",
"description": "Modem handshake output, request to send, active low tri-state; set by the host application."
},
{
"number": "22",
"name": "SLP#",
"type": "tri_state",
"description": "Sleep state output, active low tri-state (alternate function D7 in parallel and printer modes)."
},
{
"number": "23",
"name": "SDA",
"type": "bidirectional",
"description": "Open-drain configuration data line, with internal pull-up; configures chip function from an external 24Cxx EEPROM or via a direct SCL/SDA strap."
},
{
"number": "24",
"name": "SCL",
"type": "output",
"description": "Open-drain configuration clock output with internal pull-up; connects to the SCL pin of an external serial EEPROM."
},
{
"number": "25",
"name": "RDY#",
"type": "output",
"description": "Serial receive ready output, active low; high means the chip cannot yet receive data (reset, USB not configured, or receive buffer full)."
},
{
"number": "26",
"name": "TNOW",
"type": "output",
"description": "Serial transmit in progress indicator, active high; low again after transmission completes."
},
{
"number": "27",
"name": "TEN#",
"type": "input",
"description": "Serial transmit enable input, active low, with internal pull-up; when high the chip pauses sending, so it must be low or grounded for the chip to transmit."
},
{
"number": "28",
"name": "VCC",
"type": "power_in",
"description": "Positive supply input; 4.0-5.5V with V3 unconnected, or 3.0-3.6V with V3 tied to VCC; requires a 0.1uF decoupling capacitor."
}
],
"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: The common-pin table in section 4.2 has multiple columns per row, and the 341B/341A/341F column alig; Pins 3, 4, 5, 6, 7, 8, 15-22, 25 and 27 are multiplexed. Each pin is listed with its asynchronous-se",
"1/28 pins cited to the wrong page (name found elsewhere): ['14:XO@p3']",
"1/28 pin names appear NOWHERE in the datasheet text: ['13:XI@p3']"
],
"pages_sent": 12,
"cost_usd": 0.0382,
"at": "2026-10-27T01:42:35"
},
"datasheet": {
"url": "https://datasheet.lcsc.com/datasheet/pdf/1707f009fd730913c0752ada03545060.pdf",
"pages": 12,
"sha256": "8f76a55cf6fbe6fe",
"source_tier": "lcsc"
},
"cad": "KiCad official (CC-BY-SA 4.0)",
"pins": {
"total": 28,
"described": 28,
"cites_pages": true,
"refuses_to_fabricate": true
}
},
"viewers": {
"symbol": "viewers/symbol.html",
"footprint": "viewers/footprint.html"
},
"models_3d": [
{
"file": "ch341a.step",
"role": "plain",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
11.636,
18.16,
2.666
],
"zmin_mm": 0.0,
"centre_offset_mm": 0.0,
"footprint_binding": "identity",
"sha256": "ecc34510e8f74b6103a72c2f24133ad80006c738972a56531d1221b277fcecdb",
"checked": "2026-10-27",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
},
{
"file": "ch341a-etched.step",
"role": "eda",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
11.636,
18.16,
2.666
],
"zmin_mm": 0.0,
"centre_offset_mm": 0.0,
"footprint_binding": "identity",
"sha256": "006934fbcfa5f4e26c321f3def6f14d14acdab5ff59e38d5e500ac2cf3276282",
"checked": "2026-10-27",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
}
]
}
}