{
 "digest": null,
 "links": {
  "fits": [],
  "members": [],
  "cases": [],
  "assemblies": []
 },
 "prints": [],
 "part": {
  "id": "ada-5812-pi-5",
  "name": "Raspberry Pi 5 (4GB / 8GB)",
  "kind": "",
  "method": "",
  "vendor": "adafruit",
  "sku": "5812",
  "model": "",
  "buy": [
   "https://www.adafruit.com/product/5812"
  ],
  "url": "https://www.adafruit.com/product/5812",
  "category": "sbc",
  "owned_qty": 0
 },
 "facts": {
  "id": "ada-5812-pi-5",
  "name": "Raspberry Pi 5 (4GB / 8GB)",
  "aka": [
   "Pi5",
   "Raspberry Pi 5 Model B"
  ],
  "vendor": "adafruit",
  "sku": "5812",
  "url": "https://www.adafruit.com/product/5812",
  "qty_owned": 2,
  "category": "sbc",
  "frame": "origin PCB plan bottom-left, +X long edge, Z=0 at BOTTOM of underside component envelope (PCB bottom face at Z=3.0); USB-C/HDMI edge = Y=0; RJ45/USB-A end = X=85",
  "body": {
   "size_mm": [
    87.5,
    56.0,
    20.0
   ],
   "outline": "rounded-rect",
   "corner_r": 3.0,
   "pcb_thickness": 1.4,
   "max_height_top": 15.6,
   "max_height_bottom": 3.0
  },
  "mounting": {
   "holes": [
    {
     "xy": [
      3.5,
      3.5
     ],
     "dia": 2.7,
     "thread": "M2.5",
     "keepout_dia": 6.0
    },
    {
     "xy": [
      61.5,
      3.5
     ],
     "dia": 2.7,
     "thread": "M2.5",
     "keepout_dia": 6.0
    },
    {
     "xy": [
      3.5,
      52.5
     ],
     "dia": 2.7,
     "thread": "M2.5",
     "keepout_dia": 6.0
    },
    {
     "xy": [
      61.5,
      52.5
     ],
     "dia": 2.7,
     "thread": "M2.5",
     "keepout_dia": 6.0
    }
   ],
   "pattern": "58.0 x 49.0",
   "notes": "standoffs >= 3.5 mandatory (3.0 underside parts); post shoulder <= 5.5; PI5_HOLES in lib/fits.py"
  },
  "ports": [
   {
    "type": "usb-c PWR",
    "edge": "Y=0",
    "center_x": 11.2,
    "w": 9.0,
    "h": 3.3
   },
   {
    "type": "micro-hdmi",
    "edge": "Y=0",
    "center_x": 25.8,
    "w": 7.5,
    "h": 3.2
   },
   {
    "type": "micro-hdmi",
    "edge": "Y=0",
    "center_x": 39.2,
    "w": 7.5,
    "h": 3.2
   },
   {
    "type": "rj45",
    "edge": "X=85",
    "center_y": 10.2,
    "w": 16.0,
    "h": 13.5,
    "overhang": 2.5
   },
   {
    "type": "dual usb-a stack",
    "edge": "X=85",
    "center_y": 29.1,
    "w": 13.3,
    "h": 15.6,
    "overhang": 2.0
   },
   {
    "type": "dual usb-a stack",
    "edge": "X=85",
    "center_y": 47.0,
    "w": 13.3,
    "h": 15.6,
    "overhang": 2.0
   },
   {
    "type": "microsd",
    "edge": "X=0",
    "notes": "under-edge slot - needs finger access"
   },
   {
    "type": "power button",
    "edge": "X=0"
   }
  ],
  "electrical": {
   "vin": "5V/5A USB-C PD (27W official PSU)",
   "logic_v": 3.3,
   "protocols": [
    "i2c",
    "spi",
    "uart",
    "wifi",
    "ble",
    "ethernet",
    "pcie"
   ],
   "notes": "PCIe FPC + 2x CSI/DSI FPC on board; active cooler (ada-5815) adds ~15 above PCB + airflow need"
  },
  "cad": {
   "file": "ada-5812-pi-5.step",
   "fidelity": "envelope",
   "source": "ada-5812-pi-5.py",
   "verified": true
  },
  "sources": [
   {
    "facts": "outline, holes, port centers, underside 3.0, USB-A/RJ45 heights",
    "ref": "hardware/raspberry-pi.md (official drawing)",
    "date": "2026-07-23"
   },
   {
    "facts": "port block sizes, overhangs, PCB thickness",
    "ref": "typ. values",
    "date": "2026-07-23"
   }
  ],
  "confidence": "port body sizes/overhangs typ. - through-wall cutouts with board set back per raspberry-pi.md; treat as two-sided envelope"
 },
 "models": [
  {
   "handle": "sarg",
   "fidelity": "envelope",
   "verified": true,
   "visibility": "public",
   "url": "/m/sarg/ada-5812-pi-5",
   "files": [
    "ada-5812-pi-5.py",
    "ada-5812-pi-5.step",
    "part.yaml"
   ]
  }
 ],
 "related": {
  "notes": {
   "exact": [],
   "chip": [],
   "addr": []
  },
  "parts": {
   "variants": [],
   "interface": [],
   "mounting": [
    {
     "product": "hcdc-gpio-hat",
     "name": "HCDC RPi GPIO Status LED & Terminal Block HAT",
     "why": "pattern 49.0x58.0 mm",
     "url": "/p/hcdc-gpio-hat"
    }
   ],
   "cooccur": [],
   "owners": [],
   "addr": []
  }
 }
}