{
  "$comment": "Standard suggested hardware for a CyberDeck build. Every case in cases/ is dimensioned to fit this BOM. Prices are rough 2026 street price in USD, for planning only.",
  "updated_at": "2026-09-04",
  "compute": {
    "part": "Raspberry Pi 4 Model B (4GB) or Raspberry Pi 5 (4GB/8GB)",
    "why": "Full Linux OS, a real browser, and enough RAM to run the PWP web apps (HoodMail, InstaG, etc.) directly — a microcontroller (bare Arduino/ESP32) cannot run a browser or the app stack. Pi 5 preferred for headroom; Pi 4 is the budget/available-stock fallback and both share mounting-hole spacing used by the cases.",
    "board_mm": { "w": 85, "d": 56, "h": 17, "note": "height includes GPIO header + heatsink/fan clearance" },
    "approx_price_usd": "60-80"
  },
  "mesh_radio": {
    "part": "Meshtastic-class LoRa board — Heltec WiFi LoRa 32 (V3), RAK4631, or LILYGO T-Beam",
    "why": "ESP32 + SX1262/SX1276 LoRa transceiver. Runs Meshtastic firmware standalone (its own battery/antenna) and talks to the Pi over USB-serial or UART, so mesh networking survives even if the Pi is off — matches how real off-grid mesh nodes are built.",
    "board_mm": { "w": 51, "d": 26, "h": 14, "note": "add antenna clearance, typically 30-80mm depending on band" },
    "approx_price_usd": "25-45"
  },
  "display": {
    "part": "5\"-7\" DSI or HDMI touchscreen, 800x480 or 1024x600 (e.g. Official Raspberry Pi 7\" Touch Display, or a generic HDMI capacitive panel)",
    "why": "Smallest common size that renders the PWP web UI without heavy layout compromise; DSI keeps a USB port free for the LoRa board, HDMI is the safer/cheaper fallback if DSI stock is tight.",
    "panel_mm": { "w": 194, "d": 110, "h": 20 },
    "approx_price_usd": "45-75"
  },
  "keyboard": {
    "part": "Off-the-shelf BB Q10/Q20-class Bluetooth mechanical keyboard module (common in the cyberdeck-builder community), or any compact 60% USB mechanical keyboard for slab/rugged builds",
    "why": "Physical keys over a touchscreen keyboard for actual typing (mail, posts); the BB Q20/Q10 form factor is small enough for handheld cases and already has an established install base of 3D-printable mounts to reference.",
    "board_mm": { "w": 116, "d": 43, "h": 10 },
    "approx_price_usd": "15-30"
  },
  "power": {
    "part": "18650 Li-ion cell(s) + a USB-C PD power bank module (e.g. a common 5V/3A boost board), or direct USB-C PD input for desk-bound builds",
    "why": "Pi 4/5 need a stable 5V/3A rail; undervoltage is the most common cyberdeck failure. Battery is optional for the slab/rugged designs which can run wall-powered."
  },
  "fit_note": "All four case files in cases/ use these same board dimensions as named OpenSCAD variables (pi_w/pi_d/pi_h, lora_w/lora_d/lora_h, disp_w/disp_d/disp_h, kb_w/kb_d/kb_h) — change them once per file if you substitute different hardware."
}
