component
PCF8591
Public Made by Adomby adom
NXP 8-bit ADC and DAC with I2C, SOIC-16. Four-channel ADC plus one DAC output on one bus. Datasheet-verified.
main
Ray
pcf8591: component.models_3d pose record per STEP (Z-up, seated z=0, pad-centre origin, identity binding)
e363050
1mo ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258
{
"schema_version": 1,
"type": "component",
"slug": "pcf8591",
"title": "PCF8591",
"brief": "NXP 8-bit ADC and DAC with I2C, SOIC-16. Four-channel ADC plus one DAC output on one bus. Datasheet-verified.",
"version": "0.1.0",
"license": "CC-BY-SA-4.0",
"tags": [
"component",
"data-converter",
"adc",
"dac",
"i2c",
"soic-16",
"nxp"
],
"component": {
"mpn": "PCF8591",
"manufacturer": "NXP",
"package": "SOIC-16",
"pin_count": 16,
"category": "Data Converter",
"subcategory": "ADC + DAC",
"datasheet": "https://www.nxp.com/docs/en/data-sheet/PCF8591.pdf",
"parts": {
"symbol": "pcf8591.kicad_sym",
"footprint": "pcf8591.kicad_mod",
"model_3d": "pcf8591-etched.glb",
"model_3d_plain": "pcf8591.glb",
"model_3d_step": "pcf8591-etched.step",
"model_3d_step_plain": "pcf8591.step",
"lbr": "pcf8591.lbr"
},
"distributor_links": {},
"pins": [
{
"number": "1",
"name": "AIN0",
"type": "input",
"description": "Analog input channel 0 to the A/D converter. Selectable as single-ended or differential input via the control byte."
},
{
"number": "2",
"name": "AIN1",
"type": "input",
"description": "Analog input channel 1 to the A/D converter. Selectable as single-ended or differential input via the control byte."
},
{
"number": "3",
"name": "AIN2",
"type": "input",
"description": "Analog input channel 2 to the A/D converter. Selectable as single-ended or differential input via the control byte."
},
{
"number": "4",
"name": "AIN3",
"type": "input",
"description": "Analog input channel 3 to the A/D converter. Selectable as single-ended or differential input via the control byte."
},
{
"number": "5",
"name": "A0",
"type": "input",
"description": "Hardware slave address bit 0. Tied to VSS or VDD to program the I2C slave address (LSB of hardware address)."
},
{
"number": "6",
"name": "A1",
"type": "input",
"description": "Hardware slave address bit 1. Tied to VSS or VDD to program the I2C slave address."
},
{
"number": "7",
"name": "A2",
"type": "input",
"description": "Hardware slave address bit 2. Tied to VSS or VDD to program the I2C slave address (MSB of hardware address)."
},
{
"number": "8",
"name": "VSS",
"type": "power_in",
"description": "Ground supply / digital ground reference (0 V)."
},
{
"number": "9",
"name": "SDA",
"type": "bidirectional",
"description": "I2C-bus serial data input/output line. Open-drain; requires an external pull-up resistor to VDD."
},
{
"number": "10",
"name": "SCL",
"type": "input",
"description": "I2C-bus serial clock input from the master. Requires an external pull-up resistor to VDD."
},
{
"number": "11",
"name": "OSC",
"type": "bidirectional",
"description": "Oscillator input/output. When the internal oscillator is used (EXT tied to VSS), OSC provides the oscillator frequency output; when EXT is tied to VDD, OSC becomes the external clock input."
},
{
"number": "12",
"name": "EXT",
"type": "input",
"description": "External/internal oscillator select. Tie to VSS to enable the internal oscillator; tie to VDD to disable the internal oscillator and use an external clock applied at OSC."
},
{
"number": "13",
"name": "AGND",
"type": "power_in",
"description": "Analog ground supply for the ADC/DAC resistor divider chain. Must be connected to the system analog ground; may sit at a DC offset with respect to VSS."
},
{
"number": "14",
"name": "VREF",
"type": "input",
"description": "Voltage reference input for the on-chip ADC/DAC resistor divider chain. Sets the analog full-scale span between AGND and VREF; must be kept stable during conversion."
},
{
"number": "15",
"name": "AOUT",
"type": "output",
"description": "Analog output from the on-chip 8-bit D/A converter. Buffered by an auto-zeroed unity-gain amplifier; high-impedance when the analog-output-enable flag in the control register is 0."
},
{
"number": "16",
"name": "VDD",
"type": "power_in",
"description": "Positive supply voltage, 2.5 V to 6.0 V."
}
],
"provenance": {
"extractor": "ds2sf",
"datasheet": {
"url": "https://www.nxp.com/docs/en/data-sheet/PCF8591.pdf",
"pages": 31,
"sha256": "b89feb48ffdbebfe",
"source_tier": "mfr"
},
"cad": "KiCad official (CC-BY-SA 4.0)",
"pins": {
"total": 16,
"described": 16,
"cites_pages": true,
"refuses_to_fabricate": true
}
},
"viewers": {
"symbol": "viewers/symbol.html",
"footprint": "viewers/footprint.html"
},
"models_3d": [
{
"file": "pcf8591.step",
"role": "plain",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
6.0,
9.9,
1.75
],
"zmin_mm": -0.0,
"centre_offset_mm": 0.0,
"footprint_binding": "identity",
"sha256": "d5eeddb4c0b304dc61950919b126fc61d7586abd5f16ab71a2a79759ec6498bf",
"checked": "2026-10-07",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
},
{
"file": "pcf8591-etched.step",
"role": "eda",
"up": "Z",
"units": "mm",
"origin": "footprint origin = pad-pattern centre",
"seat": "z = 0",
"extents_mm": [
6.0,
9.9,
1.75
],
"zmin_mm": -0.0,
"centre_offset_mm": 0.0,
"footprint_binding": "identity",
"sha256": "7a3f9eec0aca88441dc71554387614aafda22b2f6f49744ed8320ff4825ddf91",
"checked": "2026-10-07",
"checked_by": "factory/step_pose.py (Z-up, origin, seat, binding)"
}
]
},
"metadata": {
"specs": {
"Type": "8-bit ADC (4-ch) + 8-bit DAC",
"Interface": "I2C",
"ADC inputs": "4 single-ended or 2 differential",
"DAC": "1 analog output (AOUT)",
"Reference": "External (VREF)",
"Addresses": "8 (A0-A2)",
"Supply": "2.5-6 V",
"Package": "SOIC-16"
}
},
"sections": [
"hero",
"viewers",
"readme",
"breadcrumbs",
"info"
],
"discovery_triggers": [
"pcf8591",
"i2c adc dac",
"8-bit adc dac module",
"4 channel adc with dac"
],
"discovery_pitch": "NXP PCF8591 8-bit ADC + DAC with I2C (SOIC-16) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.",
"author": {
"name": "Ray",
"email": "[email protected]"
},
"dependencies": {},
"hero": {
"type": "image",
"path": "docs/hero.png"
},
"files": [
"page.json",
"README.md",
"pcf8591.kicad_sym",
"pcf8591.kicad_mod",
"pcf8591.glb",
"pcf8591.step",
"pcf8591.lbr",
"docs/hero.png",
"docs/pcf8591-datasheet.pdf",
"viewers/symbol.html",
"viewers/footprint.html",
"pcf8591-etched.step"
],
"variants": [
{
"mpn": "PCF8591T (SOIC-16)",
"kind": "packaging"
},
{
"mpn": "PCF8591P (DIP-16)",
"kind": "packaging"
},
{
"mpn": "PCF8591TS (SSOP-20)",
"kind": "packaging"
}
]
}