{
  "revision": "EV1",
  "scope": "Public mechanical and integration allocations, product imagery and bench-qualification procedures. This is not an approved fabrication or pin-multiplexing release.",
  "evidence": "No physical prototype measurements, completed NODERIQ hardware integration or certification records are asserted. Generated product images illustrate the specified architecture, not manufactured hardware.",
  "coordinates": "Millimetres; top view; PCB lower-left origin; x right, y up. PCB nominal thickness 1.6 mm.",
  "componentGeometry": "Rectangles are public placement envelopes, except the explicitly identified Orin NX module outline. They are not vendor land patterns, routed copper or verified component selection.",
  "tolerances": {
    "outlineMm": 0.2,
    "holePositionMm": 0.15,
    "thicknessMm": 0.15
  },
  "card": {
    "id": "link-l70",
    "name": "NODERIQ Link L70",
    "code": "NQ-L70",
    "role": "Robot and sensor I/O",
    "headline": "Give every physical bus a clear boundary.",
    "summary": "A compact I/O bridge profile for observing CAN and serial devices, aligning service records and connecting existing controllers to mission-level software.",
    "processor": "STM32H753VIT6 basis",
    "pcbMm": [
      70,
      50,
      1.6
    ],
    "assemblyHeightMm": 16,
    "clearanceMm": [
      90,
      80,
      30
    ],
    "mountMm": [
      [
        3.5,
        3.5
      ],
      [
        66.5,
        3.5
      ],
      [
        66.5,
        46.5
      ],
      [
        3.5,
        46.5
      ]
    ],
    "holeDiameterMm": 2.7,
    "holeKeepoutDiameterMm": 6,
    "power": {
      "nominalV": 5,
      "inputMinV": 4.75,
      "inputMaxV": 5.25,
      "budgetW": 4,
      "supplyRatingA": 1.5,
      "railMinV": 3.135,
      "railMaxV": 3.465,
      "railTargetV": 3.3
    },
    "interfaces": [
      "2 × CAN FD interface allocations",
      "1 × RS-485 interface allocation",
      "1 × USB 2.0 device",
      "1 × 3.3 V service/UART header",
      "1 × time-reference input allocation"
    ],
    "ports": [
      {
        "id": "J1",
        "label": "USB-C",
        "xMm": 7,
        "yMm": 5,
        "widthMm": 10,
        "heightMm": 8,
        "kind": "connector",
        "topMm": 4,
        "purpose": "5 V bench input and USB service.",
        "connector": "USB-C envelope"
      },
      {
        "id": "J2",
        "label": "CAN A",
        "xMm": 5,
        "yMm": 35,
        "widthMm": 12,
        "heightMm": 8,
        "kind": "connector",
        "topMm": 4,
        "purpose": "A separately terminated bus with its own reference domain.",
        "connector": "4-position terminal envelope"
      },
      {
        "id": "J3",
        "label": "CAN B",
        "xMm": 22,
        "yMm": 36,
        "widthMm": 12,
        "heightMm": 8,
        "kind": "connector",
        "topMm": 4,
        "purpose": "Second CAN bus; do not join isolated grounds through a cable.",
        "connector": "4-position terminal envelope"
      },
      {
        "id": "J4",
        "label": "RS485",
        "xMm": 49,
        "yMm": 35,
        "widthMm": 15,
        "heightMm": 8,
        "kind": "connector",
        "topMm": 4,
        "purpose": "Differential sensor link; record termination and bus direction.",
        "connector": "4-position terminal envelope"
      },
      {
        "id": "J5",
        "label": "SERVICE",
        "xMm": 49,
        "yMm": 5,
        "widthMm": 12,
        "heightMm": 6,
        "kind": "connector",
        "topMm": 4,
        "purpose": "3.3 V UART and time-reference reserve.",
        "connector": "8-position locking header"
      }
    ],
    "components": [
      {
        "id": "U1",
        "label": "STM32H7",
        "xMm": 25,
        "yMm": 10,
        "widthMm": 18,
        "heightMm": 18,
        "kind": "component",
        "topMm": 2,
        "bodyMm": [
          14,
          14
        ],
        "leadSpanMm": [
          16,
          16
        ],
        "placementNote": "LQFP body and lead span are distinct from the placement reserve; the vendor footprint must still be released."
      },
      {
        "id": "U2",
        "label": "CAN A isolation",
        "xMm": 5,
        "yMm": 23,
        "widthMm": 13,
        "heightMm": 7,
        "kind": "isolator",
        "topMm": 2
      },
      {
        "id": "U3",
        "label": "CAN B isolation",
        "xMm": 21,
        "yMm": 28,
        "widthMm": 13,
        "heightMm": 5,
        "kind": "isolator",
        "topMm": 2
      },
      {
        "id": "U4",
        "label": "RS485 PHY",
        "xMm": 49,
        "yMm": 24,
        "widthMm": 10,
        "heightMm": 6,
        "kind": "component",
        "topMm": 2
      },
      {
        "id": "U5",
        "label": "Power",
        "xMm": 23,
        "yMm": 4,
        "widthMm": 12,
        "heightMm": 5,
        "kind": "component",
        "topMm": 2
      }
    ],
    "bench": {
      "workload": "Two independent CAN fixtures at 500 kbit/s arbitration and a 2 Mbit/s data-phase target; a separate RS-485 loopback fixture. Record transceiver, termination and firmware.",
      "durationMin": 30,
      "maxSurfaceC": 60,
      "requiredEvidence": [
        "mechanical-fit",
        "rail-stability",
        "can-loopback",
        "serial-loopback",
        "thermal-load",
        "authority-boundary"
      ],
      "criteria": {
        "can-loopback": {
          "independentBuses": 2,
          "framesSentPerBusMin": 10000,
          "arbitrationKbps": 500,
          "dataPhaseKbps": 2000,
          "errorFramesMax": 0
        },
        "serial-loopback": {
          "baud": 115200,
          "messagesSentMin": 10000,
          "messageBytes": 64,
          "mismatchesMax": 0
        }
      },
      "ambientC": [
        20,
        25
      ]
    },
    "applications": [
      {
        "title": "Mobile robot service bay",
        "text": "Observe controller and instrument buses through named harnesses, with the existing controller and stop circuit retained."
      },
      {
        "title": "Mixed sensor gateway",
        "text": "Collect serial and CAN observations without treating a received frame as proof that a task or physical action completed."
      }
    ],
    "integration": "Bus receipt, source freshness and physical completion remain different records. L70 is not a safety controller or a direct motor-power stage.",
    "limits": "Isolation barriers, protection, pin multiplexing and EMC are design allocations requiring electrical release and bench evidence. No isolation voltage, safety integrity or supported third-party control protocol is claimed.",
    "sourceIds": [
      "h7",
      "gh"
    ],
    "cornerRadiusMm": 2
  }
}
