component
PCM5102A
Public Unreviewedby adom
TI stereo I2S audio DAC, TSSOP-20. 32-bit/384 kHz, on-chip charge pump + PLL, no MCLK needed. Datasheet-verified.
← Commit history
Publish 0.1.0
8 files changed
+549−9
README.md+61−2@@ -1,5 +1,64 @@ # PCM5102A -32-bit stereo DAC, 384kHz, I2S input, TSSOP-20+**Texas Instruments** · Stereo audio DAC (I2S) · TSSOP-20 -The PCM5102A is a high-quality 32-bit stereo audio DAC from Texas Instruments with I2S input. Supports sample rates up to 384kHz with 112dB SNR. Used in audiophile-grade DAC boards and music players.+A stereo audio DAC with an I2S input, in TSSOP-20, the chip on countless hi-fi DAC boards (including Raspberry Pi audio HATs). It converts a digital I2S stream (BCK, DIN, LRCK) into left/right analog line outputs at up to 32-bit, 384 kHz, with a ground-centered output made possible by an on-chip negative-rail charge pump, so no output coupling capacitors are needed. An internal PLL derives the system clock from the bit clock, meaning it works without a separate master clock (MCLK). Format, de-emphasis, filter, and soft-mute are set by pins for a jumperless design. Runs 3.3 V.++## Pinout++| Pin | Name | Type | Function |+|---|---|---|---|+| 1 | CPVDD | power_in | Charge pump power supply, 3.3 V nominal (3.1-3.46 V). Referenced to CPGND. |+| 2 | CAPP | output | Charge pump flying capacitor terminal for the positive rail. Connect the flying capacitor between CAPP and CAPM. |+| 3 | CPGND | power_in | Charge pump ground return. |+| 4 | CAPM | output | Charge pump flying capacitor terminal for the negative rail. Connect the flying capacitor between CAPP and CAPM. |+| 5 | VNEG | power_out | Negative charge pump rail terminal, nominally -3.3 V. Decouple to CPGND with the recommended reservoir capacitor. |+| 6 | OUTL | output | Analog audio output, DAC left channel. Ground-centered, 2.1 V_RMS full-scale; direct line drive down to 1 kΩ load, no DC blocking capacitor required. |+| 7 | OUTR | output | Analog audio output, DAC right channel. Ground-centered, 2.1 V_RMS full-scale; direct line drive down to 1 kΩ load, no DC blocking capacitor required. |+| 8 | AVDD | power_in | Analog power supply, 3.3 V nominal (3.0-3.46 V VCOM mode; 3.2-3.46 V VREF mode). Referenced to AGND. |+| 9 | AGND | power_in | Analog ground return. All grounds must be tied together within 0.2 V. |+| 10 | DEMP | input | De-emphasis control for 44.1 kHz sampling rate. Off (Low) / On (High). Failsafe LVCMOS Schmitt-trigger input. |+| 11 | FLT | input | Digital filter select: Normal latency (Low) / Low latency (High). Failsafe LVCMOS Schmitt-trigger input. |+| 12 | SCK | input | System (master) clock input. Up to 50 MHz; tie low to enable the internal PLL and generate SCK from BCK. Failsafe LVCMOS Schmitt-trigger input. |+| 13 | BCK | input | I2S/left-justified audio data bit clock input. Failsafe LVCMOS Schmitt-trigger input. |+| 14 | DIN | input | Audio serial data input (16-, 24-, or 32-bit PCM). Failsafe LVCMOS Schmitt-trigger input. |+| 15 | LRCK | input | Audio data word clock (left/right frame sync) input. Failsafe LVCMOS Schmitt-trigger input. |+| 16 | FMT | input | Audio format select: I2S (Low) / Left-justified (High). Failsafe LVCMOS Schmitt-trigger input. |+| 17 | XSMT | input | Soft mute control: Soft mute (Low) / Soft un-mute (High). Failsafe LVCMOS Schmitt-trigger input. |+| 18 | LDOO | power_out | Internal logic supply rail terminal for decoupling, or external 1.8 V supply terminal when DVDD is driven at 1.8 V. |+| 19 | DGND | power_in | Digital ground return. |+| 20 | DVDD | power_in | Digital power supply, 1.8 V (1.65-1.95 V) or 3.3 V (3.0-3.6 V). Referenced to DGND. |++## Key specifications++| Parameter | Value |+|---|---|+| Type | Stereo audio DAC (I2S) |+| Resolution | up to 32-bit |+| Sample rate | up to 384 kHz |+| Output | ground-centered L/R (charge-pump negative rail) |+| Clocking | internal PLL, no MCLK required |+| SNR | 112 dB |+| Control | pin-configured (FMT, FLT, DEMP, XSMT) |+| Package | TSSOP-20 |++## Ordering variants++- `PCM5102APWR (TSSOP-20)`+- `PCM5102APW (TSSOP-20, tube)`++## CAD (KiCad official)++- Symbol: `PCM5102A (generated from datasheet; KiCad has no symbol)`+- Footprint: `Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm`+- 3D model: TSSOP-20 (KiCad packages3D)++## Provenance++Data extracted from the manufacturer datasheet, not a distributor listing:++- **Datasheet:** [Texas Instruments datasheet](https://www.ti.com/lit/ds/symlink/pcm5102a.pdf) (44 pp, sha256 `a522083606b8e994`, retrieved 2026-08-17, tier: manufacturer)+- **Extractor:** `ds2sf` (Claude). Every pin and dimension is cited to a datasheet page; it refuses to fabricate.+- **CAD:** KiCad official libraries (CC-BY-SA 4.0).++[Datasheet PDF](docs/pcm5102a-datasheet.pdf)
docs/hero.pngadded⋯ 1 unchanged line ⋯
docs/pcm5102a-datasheet.pdfadded⋯ 1 unchanged line ⋯
package.jsonadded+31@@ -0,0 +1,31 @@+{+ "slug": "pcm5102a",+ "version": "0.1.0",+ "type": "component",+ "description": "TI stereo I2S audio DAC, TSSOP-20. 32-bit/384 kHz, on-chip charge pump + PLL, no MCLK needed. Datasheet-verified.",+ "tags": [+ "component",+ "data-converter",+ "dac",+ "audio",+ "i2s",+ "tssop-20",+ "texas-instruments"+ ],+ "dependencies": {},+ "hero": {+ "type": "image",+ "path": "docs/hero.png"+ },+ "files": [+ "page.json",+ "README.md",+ "pcm5102a.kicad_sym",+ "pcm5102a.kicad_mod",+ "pcm5102a.glb",+ "docs/hero.png",+ "docs/pcm5102a-datasheet.pdf",+ "viewers/symbol.html",+ "viewers/footprint.html"+ ]+}
page.json+28−7@@ -4,8 +4,16 @@ "slug": "pcm5102a", "title": "PCM5102A", "brief": "32-bit stereo DAC, 384kHz, I2S input, TSSOP-20",- "version": "1.0.0",- "tags": [],+ "version": "0.1.0",+ "tags": [+ "component",+ "data-converter",+ "dac",+ "audio",+ "i2s",+ "tssop-20",+ "texas-instruments"+ ], "license": "MIT", "component": { "mpn": "PCM5102A",@@ -20,18 +28,31 @@ }, "readme": "# PCM5102A\n\n32-bit stereo DAC, 384kHz, I2S input, TSSOP-20\n\nThe PCM5102A is a high-quality 32-bit stereo audio DAC from Texas Instruments with I2S input. Supports sample rates up to 384kHz with 112dB SNR. Used in audiophile-grade DAC boards and music players.", "author": {- "id": "695820315b5f1e4db2fcf602", "name": "Kyle Bergstedt", "email": "[email protected]" },- "visibility": {- "public": true+ "visibility": "public",+ "hero": {+ "type": "image",+ "path": "docs/hero.png" },- "hero": null, "sample_prompts": [], "discovery_triggers": [], "discovery_pitch": null, "metadata": {}, "created_at": "2026-05-28T05:34:05.922Z",- "updated_at": "2026-05-28T05:34:05.922Z"+ "updated_at": "2026-05-28T05:34:05.922Z",+ "description": "TI stereo I2S audio DAC, TSSOP-20. 32-bit/384 kHz, on-chip charge pump + PLL, no MCLK needed. Datasheet-verified.",+ "dependencies": {},+ "files": [+ "page.json",+ "README.md",+ "pcm5102a.kicad_sym",+ "pcm5102a.kicad_mod",+ "pcm5102a.glb",+ "docs/hero.png",+ "docs/pcm5102a-datasheet.pdf",+ "viewers/symbol.html",+ "viewers/footprint.html"+ ] }
pcm5102a.glbadded⋯ 1 unchanged line ⋯
pcm5102a.kicad_modadded+336@@ -0,0 +1,336 @@+(footprint "TSSOP-20_4.4x6.5mm_P0.65mm"+ (version 20260206)+ (generator "kicad-footprint-generator")+ (layer "F.Cu")+ (descr "TSSOP, 20 Pin (JEDEC MO-153 Var AC https://www.jedec.org/document_search?search_api_views_fulltext=MO-153)")+ (tags "TSSOP SO")+ (property "Reference" "REF**"+ (at 0 -4.2 0)+ (layer "F.SilkS")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "Value" "TSSOP-20_4.4x6.5mm_P0.65mm"+ (at 0 4.2 0)+ (layer "F.Fab")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (property "KiLib_Generator" "package/gullwing"+ (at 0 0 0)+ (layer "F.SilkS")+ (hide yes)+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (attr smd)+ (duplicate_pad_numbers_are_jumpers no)+ (fp_line+ (start -2.31 -3.385)+ (end 2.31 -3.385)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_line+ (start 2.31 3.385)+ (end -2.31 3.385)+ (stroke+ (width 0.12)+ (type solid)+ )+ (layer "F.SilkS")+ )+ (fp_poly+ (pts+ (xy -3.86 -2.93)+ (xy -4.19 -2.69)+ (xy -4.19 -3.17)+ )+ (stroke+ (width 0.12)+ (type solid)+ )+ (fill yes)+ (layer "F.SilkS")+ )+ (fp_line+ (start -3.85 -3.38)+ (end -2.45 -3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -3.85 3.38)+ (end -3.85 -3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.45 -3.5)+ (end 2.45 -3.5)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.45 -3.38)+ (end -2.45 -3.5)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.45 3.38)+ (end -3.85 3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start -2.45 3.5)+ (end -2.45 3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.45 -3.5)+ (end 2.45 -3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.45 -3.38)+ (end 3.85 -3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.45 3.38)+ (end 2.45 3.5)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 2.45 3.5)+ (end -2.45 3.5)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 3.85 -3.38)+ (end 3.85 3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_line+ (start 3.85 3.38)+ (end 2.45 3.38)+ (stroke+ (width 0.05)+ (type solid)+ )+ (layer "F.CrtYd")+ )+ (fp_poly+ (pts+ (xy -1.2 -3.25)+ (xy 2.2 -3.25)+ (xy 2.2 3.25)+ (xy -2.2 3.25)+ (xy -2.2 -2.25)+ )+ (stroke+ (width 0.1)+ (type solid)+ )+ (fill no)+ (layer "F.Fab")+ )+ (fp_text user "${REFERENCE}"+ (at 0 0 0)+ (layer "F.Fab")+ (effects+ (font+ (size 1 1)+ (thickness 0.15)+ )+ )+ )+ (pad "1" smd roundrect+ (at -2.8625 -2.925)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "2" smd roundrect+ (at -2.8625 -2.275)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "3" smd roundrect+ (at -2.8625 -1.625)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "4" smd roundrect+ (at -2.8625 -0.975)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "5" smd roundrect+ (at -2.8625 -0.325)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "6" smd roundrect+ (at -2.8625 0.325)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "7" smd roundrect+ (at -2.8625 0.975)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "8" smd roundrect+ (at -2.8625 1.625)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "9" smd roundrect+ (at -2.8625 2.275)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "10" smd roundrect+ (at -2.8625 2.925)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "11" smd roundrect+ (at 2.8625 2.925)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "12" smd roundrect+ (at 2.8625 2.275)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "13" smd roundrect+ (at 2.8625 1.625)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "14" smd roundrect+ (at 2.8625 0.975)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "15" smd roundrect+ (at 2.8625 0.325)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "16" smd roundrect+ (at 2.8625 -0.325)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "17" smd roundrect+ (at 2.8625 -0.975)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "18" smd roundrect+ (at 2.8625 -1.625)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "19" smd roundrect+ (at 2.8625 -2.275)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (pad "20" smd roundrect+ (at 2.8625 -2.925)+ (size 1.475 0.4)+ (layers "F.Cu" "F.Mask" "F.Paste")+ (roundrect_rratio 0.25)+ )+ (embedded_fonts no)+ (model "${KICAD10_3DMODEL_DIR}/Package_SO.3dshapes/TSSOP-20_4.4x6.5mm_P0.65mm.step"+ (offset+ (xyz 0 0 0)+ )+ (scale+ (xyz 1 1 1)+ )+ (rotate+ (xyz 0 0 0)+ )+ )+)
pcm5102a.kicad_symadded+93@@ -0,0 +1,93 @@+(kicad_symbol_lib (version 20211014) (generator ds2sf_rect)+ (symbol "PCM5102A" (in_bom yes) (on_board yes)+ (property "Reference" "U" (at 0 15.24 0) (effects (font (size 1.27 1.27))))+ (property "Value" "PCM5102A" (at 0 -17.78 0) (effects (font (size 1.27 1.27))))+ (property "Footprint" "" (at 0 0 0) (effects (font (size 1.27 1.27)) hide))+ (symbol "PCM5102A_0_1"+ (rectangle (start -12.70 12.70) (end 12.70 -15.24)+ (stroke (width 0.254) (type default)) (fill (type background)))+ )+ (symbol "PCM5102A_1_1"+ (pin power_in line (at -17.78 10.16 0) (length 5.08)+ (name "CPVDD" (effects (font (size 1.27 1.27))))+ (number "1" (effects (font (size 1.27 1.27))))+ )+ (pin output line (at -17.78 7.62 0) (length 5.08)+ (name "CAPP" (effects (font (size 1.27 1.27))))+ (number "2" (effects (font (size 1.27 1.27))))+ )+ (pin power_in line (at -17.78 5.08 0) (length 5.08)+ (name "CPGND" (effects (font (size 1.27 1.27))))+ (number "3" (effects (font (size 1.27 1.27))))+ )+ (pin output line (at -17.78 2.54 0) (length 5.08)+ (name "CAPM" (effects (font (size 1.27 1.27))))+ (number "4" (effects (font (size 1.27 1.27))))+ )+ (pin power_out line (at -17.78 0.00 0) (length 5.08)+ (name "VNEG" (effects (font (size 1.27 1.27))))+ (number "5" (effects (font (size 1.27 1.27))))+ )+ (pin output line (at -17.78 -2.54 0) (length 5.08)+ (name "OUTL" (effects (font (size 1.27 1.27))))+ (number "6" (effects (font (size 1.27 1.27))))+ )+ (pin output line (at -17.78 -5.08 0) (length 5.08)+ (name "OUTR" (effects (font (size 1.27 1.27))))+ (number "7" (effects (font (size 1.27 1.27))))+ )+ (pin power_in line (at -17.78 -7.62 0) (length 5.08)+ (name "AVDD" (effects (font (size 1.27 1.27))))+ (number "8" (effects (font (size 1.27 1.27))))+ )+ (pin power_in line (at -17.78 -10.16 0) (length 5.08)+ (name "AGND" (effects (font (size 1.27 1.27))))+ (number "9" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at -17.78 -12.70 0) (length 5.08)+ (name "DEMP" (effects (font (size 1.27 1.27))))+ (number "10" (effects (font (size 1.27 1.27))))+ )+ (pin power_in line (at 17.78 10.16 180) (length 5.08)+ (name "DVDD" (effects (font (size 1.27 1.27))))+ (number "20" (effects (font (size 1.27 1.27))))+ )+ (pin power_in line (at 17.78 7.62 180) (length 5.08)+ (name "DGND" (effects (font (size 1.27 1.27))))+ (number "19" (effects (font (size 1.27 1.27))))+ )+ (pin power_out line (at 17.78 5.08 180) (length 5.08)+ (name "LDOO" (effects (font (size 1.27 1.27))))+ (number "18" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 2.54 180) (length 5.08)+ (name "XSMT" (effects (font (size 1.27 1.27))))+ (number "17" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 0.00 180) (length 5.08)+ (name "FMT" (effects (font (size 1.27 1.27))))+ (number "16" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 -2.54 180) (length 5.08)+ (name "LRCK" (effects (font (size 1.27 1.27))))+ (number "15" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 -5.08 180) (length 5.08)+ (name "DIN" (effects (font (size 1.27 1.27))))+ (number "14" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 -7.62 180) (length 5.08)+ (name "BCK" (effects (font (size 1.27 1.27))))+ (number "13" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 -10.16 180) (length 5.08)+ (name "SCK" (effects (font (size 1.27 1.27))))+ (number "12" (effects (font (size 1.27 1.27))))+ )+ (pin input line (at 17.78 -12.70 180) (length 5.08)+ (name "FLT" (effects (font (size 1.27 1.27))))+ (number "11" (effects (font (size 1.27 1.27))))+ )+ )+ )+)