{
  "schema": 1,
  "revision": "1.1.2",
  "assembly_revision": "2.1.1",
  "status": "USER_REPORTED_REFERENCE_CAR_TESTED",
  "evidence": {
    "recorded_on": "2026-10-30",
    "source": "direct_user_message",
    "user_quote": "已测试过了，两节电池，每节3.7v，拓展版的你自己查一下，四轮驱动也测过了。",
    "reference_car_powered_test": "USER_REPORTED_TESTED",
    "four_wheel_drive_test": "USER_REPORTED_TESTED",
    "battery": {
      "cells": 2,
      "single_cell_voltage_V_as_reported": 3.7,
      "series_nominal_voltage_V": 7.4,
      "instrument_reading_provided": false
    },
    "shield_document_check": "FUNCTIONS_AND_DEFAULT_POWER_DOCUMENTED; PHYSICAL_ORDER_SVG_FROM_USER",
    "shield_dynamic_voltage_V": null,
    "current_diagram_independent_reconnection": "NOT_RECORDED",
    "classroom_release": "REFERENCE_DIAGRAM_NOT_A_FROZEN_COURSE_BASELINE",
    "references": [
      {
        "url": "https://docs.keyestudio.com/projects/KS0004/en/latest/docs/KS0004%20keyestudio%20Sensor%20Shield%20V5.html",
        "kind": "manufacturer_same_family",
        "scope": "G/V/S and SE jumper supply selection"
      },
      {
        "url": "https://github.com/lonelycorn/uno-sensor-shield",
        "kind": "author_reverse_engineered_owned_blue_board",
        "scope": "default UNO 5V and SEL jumper; not user's exact hardware batch"
      }
    ],
    "limits": [
      "User reports real-car operation; this is not an instrument measurement by the assistant.",
      "No dynamic voltage or thermal results were supplied.",
      "Exact clone manufacturer and detailed trace continuity were not independently identified."
    ],
    "physical_header_order": {
      "increasing_local_x": [
        "S",
        "V",
        "G"
      ],
      "basis": "direct_user_correction",
      "user_quote": "我发现扩展板的和真实的有差别，应该是S、V、G，不是G、V、S",
      "date": "2026-10-30",
      "digital_x_mm": [
        7.5,
        10.04,
        12.58
      ],
      "analog_x_mm": [
        -11,
        -8.46,
        -5.92
      ]
    }
  },
  "evidence_sha256": "162841ee3dd12960949f2c52af906739f1e0b5d812f1399a34572bf21b1ed1a7",
  "line_style_meaning": "dashed power branches; not a test verdict",
  "default_mode": "offline",
  "physical_header_order": "S,V,G at increasing local X; user correction 2026-10-30",
  "topology_basis": "user confirmed 2026-10-30: servo to shield SVG; battery branches to UNO barrel and driver Vs; USB powers/downloads controller only",
  "title": "四驱小车 · 教学连线版",
  "coordinate_basis": "mm, X front, Y left, Z up; glTF (x,z,-y)/1000",
  "source_master": "../../../../../../hardware/01-BOM与候选引脚表.md",
  "bom_sha256": "45548091080a6b4a381e6efcaf006b47b18d8dc3a0d342c43b11195b8c66a00f",
  "assembly_sha256": "2823a08c93002ef582fb28b78214394ca34fa95f2ed43602c5819ad513e76bdd",
  "interface_sha256": {
    "parts/L298N/exports/assembly_interface.json": "30616a74709da8f70d17386860a0dd2a6d25f1598d45994cba3ac4d5ec112138",
    "parts/SensorShieldV5/exports/assembly_interface.json": "981b6d41ba0b6bd9d60da391d9d587d74795ffb44f08be74b1f2b89a998c14b6",
    "parts/UNO_R3/exports/assembly_interface.json": "9b48854a5ec9f5afb29421af2c42c7bdef2cf4f0128ec6abf34c7bd87b0d6d60",
    "parts/TT_Motor/exports/assembly_interface.json": "8116d56fb8316a92d5509a61858a432590328663dcadd4c7856cfc647642c10d",
    "parts/Servo9g/exports/assembly_interface.json": "4c3cf915ba7a3253a4fcdc928c16abfd802d780f32a1413a43fb4ee93680b698",
    "parts/BatteryHolder2S/exports/assembly_interface.json": "4dd04cc2ab2b81ff0563e27846a1c2e6fed496b465b2b249acdeb060cd1be53a"
  },
  "blocks": [
    {
      "id": "usb",
      "label": "电脑 USB",
      "position_mm": [
        -5,
        112,
        95
      ],
      "size_mm": [
        32,
        18,
        8
      ],
      "note": "仅 USB 模式；脱机模式拔掉 USB"
    },
    {
      "id": "switch",
      "label": "保险／开关分线点",
      "position_mm": [
        -125,
        75,
        70
      ],
      "size_mm": [
        34,
        16,
        8
      ],
      "note": "电池正极分配示意；保险、开关与接头规格待实测电流确定"
    }
  ],
  "wires": [
    {
      "id": "W01",
      "group": "signal",
      "name": "D5 → ENA",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_1_5_S",
        "label": "扩展板 D5 · S（信号）",
        "position_mm": [
          26.06,
          -20.03,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -20.03,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -20.03,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -20.03,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_ENA",
        "label": "L298N · ENA",
        "position_mm": [
          -33.0,
          1.4,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#a66b00",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。断电取下对应 ENA/ENB 跳帽，再接 PWM。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W01",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -20.03,
          102.4
        ],
        [
          26.06,
          -20.03,
          112.4
        ],
        [
          26.06,
          -20.03,
          120.0
        ],
        [
          -33.0,
          1.4,
          120.0
        ],
        [
          -33.0,
          1.4,
          98.53
        ],
        [
          -33.0,
          1.4,
          88.53
        ]
      ]
    },
    {
      "id": "W02",
      "group": "signal",
      "name": "D6 → ENB",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_1_6_S",
        "label": "扩展板 D6 · S（信号）",
        "position_mm": [
          26.06,
          -17.49,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -17.49,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -17.49,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -17.49,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_ENB",
        "label": "L298N · ENB",
        "position_mm": [
          -33.0,
          14.1,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#843dbe",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。断电取下对应 ENA/ENB 跳帽，再接 PWM。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W02",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -17.49,
          102.4
        ],
        [
          26.06,
          -17.49,
          112.4
        ],
        [
          26.06,
          -17.49,
          122.4
        ],
        [
          -33.0,
          14.1,
          122.4
        ],
        [
          -33.0,
          14.1,
          98.53
        ],
        [
          -33.0,
          14.1,
          88.53
        ]
      ]
    },
    {
      "id": "W03",
      "group": "signal",
      "name": "D7 → IN1",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_1_7_S",
        "label": "扩展板 D7 · S（信号）",
        "position_mm": [
          26.06,
          -14.95,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -14.95,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -14.95,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -14.95,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_IN1",
        "label": "L298N · IN1",
        "position_mm": [
          -33.0,
          3.94,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#16799a",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。与候选引脚表和程序保持一致。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W03",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -14.95,
          102.4
        ],
        [
          26.06,
          -14.95,
          112.4
        ],
        [
          26.06,
          -14.95,
          124.8
        ],
        [
          -33.0,
          3.94,
          124.8
        ],
        [
          -33.0,
          3.94,
          98.53
        ],
        [
          -33.0,
          3.94,
          88.53
        ]
      ]
    },
    {
      "id": "W04",
      "group": "signal",
      "name": "D8 → IN2",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_2_8_S",
        "label": "扩展板 D8 · S（信号）",
        "position_mm": [
          26.06,
          -12.41,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -12.41,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -12.41,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -12.41,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_IN2",
        "label": "L298N · IN2",
        "position_mm": [
          -33.0,
          6.48,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#d05b16",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。与候选引脚表和程序保持一致。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W04",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -12.41,
          102.4
        ],
        [
          26.06,
          -12.41,
          112.4
        ],
        [
          26.06,
          -12.41,
          127.2
        ],
        [
          -33.0,
          6.48,
          127.2
        ],
        [
          -33.0,
          6.48,
          98.53
        ],
        [
          -33.0,
          6.48,
          88.53
        ]
      ]
    },
    {
      "id": "W05",
      "group": "signal",
      "name": "D12 → IN3",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_3_12_S",
        "label": "扩展板 D12 · S（信号）",
        "position_mm": [
          26.06,
          -2.25,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -2.25,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -2.25,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -2.25,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_IN3",
        "label": "L298N · IN3",
        "position_mm": [
          -33.0,
          9.02,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#257c52",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。与候选引脚表和程序保持一致。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W05",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -2.25,
          102.4
        ],
        [
          26.06,
          -2.25,
          112.4
        ],
        [
          26.06,
          -2.25,
          129.6
        ],
        [
          -33.0,
          9.02,
          129.6
        ],
        [
          -33.0,
          9.02,
          98.53
        ],
        [
          -33.0,
          9.02,
          88.53
        ]
      ]
    },
    {
      "id": "W06",
      "group": "signal",
      "name": "D13 → IN4",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_3_13_S",
        "label": "扩展板 D13 · S（信号）",
        "position_mm": [
          26.06,
          0.29,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              0.29,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              0.29,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              0.29,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "LOGIC_IN4",
        "label": "L298N · IN4",
        "position_mm": [
          -33.0,
          11.56,
          88.53
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor"
      },
      "color": "#ac386d",
      "note": "只接 S 信号针，不能接同一列的 V 或 G。与候选引脚表和程序保持一致。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W06",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          0.29,
          102.4
        ],
        [
          26.06,
          0.29,
          112.4
        ],
        [
          26.06,
          0.29,
          132.0
        ],
        [
          -33.0,
          11.56,
          132.0
        ],
        [
          -33.0,
          11.56,
          98.53
        ],
        [
          -33.0,
          11.56,
          88.53
        ]
      ]
    },
    {
      "id": "W07",
      "group": "ground",
      "name": "UNO 与驱动共地",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_1_4_G",
        "label": "扩展板 D4 · G（地）",
        "position_mm": [
          31.14,
          -22.57,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -22.57,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -22.57,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -22.57,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "driver",
        "anchor": "PORT_GND",
        "label": "L298N · GND",
        "position_mm": [
          -29.7,
          -8.4,
          84.98
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#303b43",
      "note": "扩展板 G 与 UNO GND 经叠装排针相连；共地线不能漏接。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "GND",
      "conditional": false,
      "points_mm": [
        [
          31.14,
          -22.57,
          102.4
        ],
        [
          31.14,
          -22.57,
          112.4
        ],
        [
          31.14,
          -22.57,
          134.4
        ],
        [
          -19.7,
          -8.4,
          134.4
        ],
        [
          -19.7,
          -8.4,
          84.98
        ],
        [
          -29.7,
          -8.4,
          84.98
        ]
      ]
    },
    {
      "id": "W08",
      "group": "motor",
      "name": "OUT1 → 左前电机端A",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT1",
        "label": "L298N · OUT1",
        "position_mm": [
          -46.14,
          -21.65,
          84.98
        ],
        "direction": [
          0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_front_left",
        "anchor": "ELECTRICAL_-1",
        "label": "左前电机 · 端A",
        "position_mm": [
          98.1,
          46.0,
          32.5
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#237c86",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT1",
      "conditional": false,
      "points_mm": [
        [
          -46.14,
          -21.65,
          84.98
        ],
        [
          -46.14,
          -31.65,
          84.98
        ],
        [
          -46.14,
          -31.65,
          76
        ],
        [
          56.9,
          -31.65,
          76
        ],
        [
          56.9,
          1.3,
          76
        ],
        [
          56.9,
          1.3,
          64
        ],
        [
          95,
          25,
          48
        ],
        [
          108.1,
          46.0,
          32.5
        ],
        [
          98.1,
          46.0,
          32.5
        ]
      ]
    },
    {
      "id": "W09",
      "group": "motor",
      "name": "OUT2 → 左前电机端B",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT2",
        "label": "L298N · OUT2",
        "position_mm": [
          -41.06,
          -21.65,
          84.98
        ],
        "direction": [
          0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_front_left",
        "anchor": "ELECTRICAL_1",
        "label": "左前电机 · 端B",
        "position_mm": [
          98.1,
          33.0,
          32.5
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#bb7527",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT2",
      "conditional": false,
      "points_mm": [
        [
          -41.06,
          -21.65,
          84.98
        ],
        [
          -41.06,
          -31.65,
          84.98
        ],
        [
          -41.06,
          -31.65,
          76
        ],
        [
          56.9,
          -31.65,
          76
        ],
        [
          56.9,
          2.7,
          76
        ],
        [
          56.9,
          2.7,
          64
        ],
        [
          95,
          25,
          48
        ],
        [
          108.1,
          33.0,
          32.5
        ],
        [
          98.1,
          33.0,
          32.5
        ]
      ]
    },
    {
      "id": "W10",
      "group": "motor",
      "name": "OUT1 → 左后电机端A",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT1",
        "label": "L298N · OUT1",
        "position_mm": [
          -46.14,
          -21.65,
          84.98
        ],
        "direction": [
          0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_rear_left",
        "anchor": "ELECTRICAL_-1",
        "label": "左后电机 · 端A",
        "position_mm": [
          -98.1,
          33.0,
          32.5
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#237c86",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT1",
      "conditional": false,
      "points_mm": [
        [
          -46.14,
          -21.65,
          84.98
        ],
        [
          -46.14,
          -31.65,
          84.98
        ],
        [
          -46.14,
          -31.65,
          76
        ],
        [
          -58.35,
          -31.65,
          76
        ],
        [
          -58.35,
          1.3,
          76
        ],
        [
          -58.35,
          1.3,
          64
        ],
        [
          -96,
          25,
          48
        ],
        [
          -108.1,
          33.0,
          32.5
        ],
        [
          -98.1,
          33.0,
          32.5
        ]
      ]
    },
    {
      "id": "W11",
      "group": "motor",
      "name": "OUT2 → 左后电机端B",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT2",
        "label": "L298N · OUT2",
        "position_mm": [
          -41.06,
          -21.65,
          84.98
        ],
        "direction": [
          0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_rear_left",
        "anchor": "ELECTRICAL_1",
        "label": "左后电机 · 端B",
        "position_mm": [
          -98.1,
          46.0,
          32.5
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#bb7527",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT2",
      "conditional": false,
      "points_mm": [
        [
          -41.06,
          -21.65,
          84.98
        ],
        [
          -41.06,
          -31.65,
          84.98
        ],
        [
          -41.06,
          -31.65,
          76
        ],
        [
          -58.35,
          -31.65,
          76
        ],
        [
          -58.35,
          2.7,
          76
        ],
        [
          -58.35,
          2.7,
          64
        ],
        [
          -96,
          25,
          48
        ],
        [
          -108.1,
          46.0,
          32.5
        ],
        [
          -98.1,
          46.0,
          32.5
        ]
      ]
    },
    {
      "id": "W12",
      "group": "motor",
      "name": "OUT3 → 右前电机端A",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT3",
        "label": "L298N · OUT3",
        "position_mm": [
          -41.06,
          21.65,
          84.98
        ],
        "direction": [
          0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_front_right",
        "anchor": "ELECTRICAL_-1",
        "label": "右前电机 · 端A",
        "position_mm": [
          98.1,
          -33.0,
          32.5
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#237c86",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT3",
      "conditional": false,
      "points_mm": [
        [
          -41.06,
          21.65,
          84.98
        ],
        [
          -41.06,
          31.65,
          84.98
        ],
        [
          -41.06,
          31.65,
          76
        ],
        [
          56.9,
          31.65,
          76
        ],
        [
          56.9,
          -2.7,
          76
        ],
        [
          56.9,
          -2.7,
          64
        ],
        [
          95,
          -25,
          48
        ],
        [
          108.1,
          -33.0,
          32.5
        ],
        [
          98.1,
          -33.0,
          32.5
        ]
      ]
    },
    {
      "id": "W13",
      "group": "motor",
      "name": "OUT4 → 右前电机端B",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT4",
        "label": "L298N · OUT4",
        "position_mm": [
          -46.14,
          21.65,
          84.98
        ],
        "direction": [
          0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_front_right",
        "anchor": "ELECTRICAL_1",
        "label": "右前电机 · 端B",
        "position_mm": [
          98.1,
          -46.0,
          32.5
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#bb7527",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT4",
      "conditional": false,
      "points_mm": [
        [
          -46.14,
          21.65,
          84.98
        ],
        [
          -46.14,
          31.65,
          84.98
        ],
        [
          -46.14,
          31.65,
          76
        ],
        [
          56.9,
          31.65,
          76
        ],
        [
          56.9,
          -1.3,
          76
        ],
        [
          56.9,
          -1.3,
          64
        ],
        [
          95,
          -25,
          48
        ],
        [
          108.1,
          -46.0,
          32.5
        ],
        [
          98.1,
          -46.0,
          32.5
        ]
      ]
    },
    {
      "id": "W14",
      "group": "motor",
      "name": "OUT3 → 右后电机端A",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT3",
        "label": "L298N · OUT3",
        "position_mm": [
          -41.06,
          21.65,
          84.98
        ],
        "direction": [
          0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_rear_right",
        "anchor": "ELECTRICAL_-1",
        "label": "右后电机 · 端A",
        "position_mm": [
          -98.1,
          -46.0,
          32.5
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#237c86",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT3",
      "conditional": false,
      "points_mm": [
        [
          -41.06,
          21.65,
          84.98
        ],
        [
          -41.06,
          31.65,
          84.98
        ],
        [
          -41.06,
          31.65,
          76
        ],
        [
          -58.35,
          31.65,
          76
        ],
        [
          -58.35,
          -2.7,
          76
        ],
        [
          -58.35,
          -2.7,
          64
        ],
        [
          -96,
          -25,
          48
        ],
        [
          -108.1,
          -46.0,
          32.5
        ],
        [
          -98.1,
          -46.0,
          32.5
        ]
      ]
    },
    {
      "id": "W15",
      "group": "motor",
      "name": "OUT4 → 右后电机端B",
      "from": {
        "instance": "driver",
        "anchor": "PORT_OUT4",
        "label": "L298N · OUT4",
        "position_mm": [
          -46.14,
          21.65,
          84.98
        ],
        "direction": [
          0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "motor_rear_right",
        "anchor": "ELECTRICAL_1",
        "label": "右后电机 · 端B",
        "position_mm": [
          -98.1,
          -33.0,
          32.5
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#bb7527",
      "note": "同侧两台并联；A/B 是接线端代号，不代表正负。须逐轮架空低速测试，反转时只交换该台两线。不可凭颜色或模型镜像判断方向。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "OUT4",
      "conditional": false,
      "points_mm": [
        [
          -46.14,
          21.65,
          84.98
        ],
        [
          -46.14,
          31.65,
          84.98
        ],
        [
          -46.14,
          31.65,
          76
        ],
        [
          -58.35,
          31.65,
          76
        ],
        [
          -58.35,
          -1.3,
          76
        ],
        [
          -58.35,
          -1.3,
          64
        ],
        [
          -96,
          -25,
          48
        ],
        [
          -108.1,
          -33.0,
          32.5
        ],
        [
          -98.1,
          -33.0,
          32.5
        ]
      ]
    },
    {
      "id": "W16",
      "group": "servo",
      "name": "D9 · S → 舵机信号",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_2_9_S",
        "label": "扩展板 D9 · S（信号）",
        "position_mm": [
          26.06,
          -9.87,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -9.87,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "servo",
        "anchor": "SIGNAL",
        "label": "舵机插头 · 信号（橙/黄）",
        "position_mm": [
          76.76,
          -22.0,
          59.25
        ],
        "direction": [
          -0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#dc7818",
      "note": "舵机三孔插头接扩展板 D9 的 S/V/G：橙/黄色对应 S。三根线是同一只三孔插头，按 S/V/G 方向插入，不能横跨三个信号列。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "W16",
      "conditional": false,
      "points_mm": [
        [
          26.06,
          -9.87,
          102.4
        ],
        [
          26.06,
          -9.87,
          112.4
        ],
        [
          56.9,
          -2,
          114
        ],
        [
          56.9,
          -2,
          76
        ],
        [
          56.9,
          -2,
          64
        ],
        [
          56.9,
          -32,
          64
        ],
        [
          76.76,
          -32,
          59.25
        ],
        [
          76.76,
          -22.0,
          59.25
        ]
      ]
    },
    {
      "id": "W17",
      "group": "servo",
      "name": "D9 · V → 舵机红线",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_2_9_V",
        "label": "扩展板 D9 · V（5V 电源）",
        "position_mm": [
          28.6,
          -9.87,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -9.87,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "servo",
        "anchor": "VCC",
        "label": "舵机插头 · +5V（红）",
        "position_mm": [
          79.3,
          -22.0,
          59.25
        ],
        "direction": [
          -0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#c63d3d",
      "note": "扩展板供电跳帽 SE/SEL 接通 UNO 5V 路径，蓝色外接端子留空；D9 的 V 接舵机红线。此默认供电关系已查阅厂家及同类蓝板资料。用户未提供舵机动作时的电压读数，不将标称 5V 写成实测值。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "UNO_5V",
      "conditional": true,
      "points_mm": [
        [
          28.6,
          -9.87,
          102.4
        ],
        [
          28.6,
          -9.87,
          112.4
        ],
        [
          56.9,
          0,
          114
        ],
        [
          56.9,
          0,
          76
        ],
        [
          56.9,
          0,
          64
        ],
        [
          56.9,
          -32,
          64
        ],
        [
          79.3,
          -32,
          59.25
        ],
        [
          79.3,
          -22.0,
          59.25
        ]
      ]
    },
    {
      "id": "W18",
      "group": "servo",
      "name": "D9 · G → 舵机地线",
      "from": {
        "instance": "shield",
        "anchor": "DIGITAL_2_9_G",
        "label": "扩展板 D9 · G（地）",
        "position_mm": [
          31.14,
          -9.87,
          102.4
        ],
        "direction": [
          0.0,
          0.0,
          1
        ],
        "kind": "physical_anchor",
        "pin_cluster": [
          {
            "pin": "S",
            "position_mm": [
              26.06,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "V",
            "position_mm": [
              28.6,
              -9.87,
              102.4
            ]
          },
          {
            "pin": "G",
            "position_mm": [
              31.14,
              -9.87,
              102.4
            ]
          }
        ]
      },
      "to": {
        "instance": "servo",
        "anchor": "GND",
        "label": "舵机插头 · GND（棕/黑）",
        "position_mm": [
          81.84,
          -22.0,
          59.25
        ],
        "direction": [
          -0.0,
          -1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#5f463c",
      "note": "同一三孔插头的棕/黑线对应 G。扩展板通过排针与 UNO 共地；克隆舵机须按实物线序核对。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "GND",
      "conditional": false,
      "points_mm": [
        [
          31.14,
          -9.87,
          102.4
        ],
        [
          31.14,
          -9.87,
          112.4
        ],
        [
          56.9,
          2,
          114
        ],
        [
          56.9,
          2,
          76
        ],
        [
          56.9,
          2,
          64
        ],
        [
          56.9,
          -32,
          64
        ],
        [
          81.84,
          -32,
          59.25
        ],
        [
          81.84,
          -22.0,
          59.25
        ]
      ]
    },
    {
      "id": "P01",
      "group": "power",
      "name": "电池正极 → 保险开关",
      "from": {
        "instance": "battery_holder",
        "anchor": "wire_0",
        "label": "电池盒 · 正极（按实物极性识别）",
        "position_mm": [
          -112.5,
          53.5,
          76.25
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "switch",
        "anchor": "IN",
        "label": "保险＋开关 · 输入",
        "position_mm": [
          -137,
          67,
          74
        ],
        "direction": [
          0,
          0,
          1
        ],
        "kind": "functional_block"
      },
      "color": "#bf3f3f",
      "note": "用户确认两节电池、每节 3.7V，串联标称合计 7.4V；不是助手测得的即时电压。按实物正极标识连接，不能把模型 wire_0 名字当作极性证明。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "BAT_PLUS",
      "conditional": true,
      "points_mm": [
        [
          -112.5,
          53.5,
          76.25
        ],
        [
          -122.5,
          53.5,
          76.25
        ],
        [
          -122.5,
          53.5,
          129.6
        ],
        [
          -137,
          67,
          129.6
        ],
        [
          -137,
          67,
          84
        ],
        [
          -137,
          67,
          74
        ]
      ]
    },
    {
      "id": "P02",
      "group": "power",
      "name": "开关输出 → 电机电源 Vs",
      "from": {
        "instance": "switch",
        "anchor": "OUT",
        "label": "保险＋开关 · 输出",
        "position_mm": [
          -113,
          67,
          74
        ],
        "direction": [
          0,
          0,
          1
        ],
        "kind": "functional_block"
      },
      "to": {
        "instance": "driver",
        "anchor": "PORT_+12V",
        "label": "L298N · Vs / +12V 丝印",
        "position_mm": [
          -29.7,
          -13.48,
          84.98
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#bf3f3f",
      "note": "+12V 是端子丝印，不是必须输入 12V。2S 满电约 8.4V；须核验 TT 电机额定电压、驱动压降与双电机电流。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "SWITCHED_BAT",
      "conditional": true,
      "points_mm": [
        [
          -113,
          67,
          74
        ],
        [
          -113,
          67,
          84
        ],
        [
          -113,
          67,
          132.0
        ],
        [
          -19.7,
          -13.48,
          132.0
        ],
        [
          -19.7,
          -13.48,
          84.98
        ],
        [
          -29.7,
          -13.48,
          84.98
        ]
      ]
    },
    {
      "id": "P03",
      "group": "power",
      "name": "电池负极 → 驱动 GND",
      "from": {
        "instance": "battery_holder",
        "anchor": "wire_1",
        "label": "电池盒 · 负极（按实物极性识别）",
        "position_mm": [
          -114.5,
          53.5,
          76.25
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "driver",
        "anchor": "PORT_GND",
        "label": "L298N · GND",
        "position_mm": [
          -29.7,
          -8.4,
          84.98
        ],
        "direction": [
          1.0,
          -0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#303b43",
      "note": "电池负极接驱动 GND，并与 UNO、扩展板共地。按实物极性识别；模型 wire_1 是几何引线名，不代表独立的测量证据。",
      "modes": [
        "usb",
        "offline"
      ],
      "net": "GND",
      "conditional": true,
      "points_mm": [
        [
          -114.5,
          53.5,
          76.25
        ],
        [
          -124.5,
          53.5,
          76.25
        ],
        [
          -124.5,
          53.5,
          134.4
        ],
        [
          -19.7,
          -8.4,
          134.4
        ],
        [
          -19.7,
          -8.4,
          84.98
        ],
        [
          -29.7,
          -8.4,
          84.98
        ]
      ]
    },
    {
      "id": "P04-usb",
      "group": "power",
      "name": "电脑 USB → UNO USB-B",
      "from": {
        "instance": "usb",
        "anchor": "USB",
        "label": "电脑 · USB 接口",
        "position_mm": [
          -5,
          103,
          99
        ],
        "direction": [
          0,
          0,
          1
        ],
        "kind": "functional_block"
      },
      "to": {
        "instance": "controller",
        "anchor": "usb_b_mating_face",
        "label": "UNO · USB-B 插座",
        "position_mm": [
          29.99,
          37.02,
          85.92
        ],
        "direction": [
          -0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "color": "#6b7683",
      "note": "整条 USB 数据线负责下载和主板 5V 供电；电机仍须电池供电。本调试模式将 UNO 圆孔电池插头拔掉，保留电池到 L298N 的支路。",
      "modes": [
        "usb"
      ],
      "net": "USB_CABLE",
      "conditional": false,
      "points_mm": [
        [
          -5,
          103,
          99
        ],
        [
          -5,
          103,
          109
        ],
        [
          -5,
          103,
          120.0
        ],
        [
          29.99,
          47.02,
          120.0
        ],
        [
          29.99,
          47.02,
          85.92
        ],
        [
          29.99,
          37.02,
          85.92
        ]
      ]
    },
    {
      "id": "P04-offline",
      "group": "power",
      "name": "电池正极分支 → UNO 圆孔中心",
      "from": {
        "instance": "switch",
        "anchor": "OUT",
        "label": "保险＋开关 · 输出",
        "position_mm": [
          -113,
          67,
          74
        ],
        "direction": [
          0,
          0,
          1
        ],
        "kind": "functional_block"
      },
      "to": {
        "instance": "controller",
        "anchor": "dc_barrel_entry",
        "label": "UNO 圆孔电源插头 · 中心正极",
        "position_mm": [
          -0.11,
          32.42,
          87.25
        ],
        "direction": [
          -0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor",
        "contact": "centre_positive"
      },
      "color": "#bf3f3f",
      "note": "电池从圆孔 DC 插头中心正极进入 UNO 板载稳压器，不能接 UNO 5V 针。与 P05 是同一根双芯电源线。USB 拔掉。2S 放电后的电压与舵机负载下 5V 稳定性必须实测。",
      "modes": [
        "offline"
      ],
      "net": "SWITCHED_BAT",
      "conditional": true,
      "points_mm": [
        [
          -113,
          67,
          74
        ],
        [
          -113,
          67,
          84
        ],
        [
          -113,
          67,
          122.4
        ],
        [
          -0.11,
          42.42,
          122.4
        ],
        [
          -0.11,
          42.42,
          87.25
        ],
        [
          -0.11,
          32.42,
          87.25
        ]
      ]
    },
    {
      "id": "P05-offline",
      "group": "power",
      "name": "电池负极分支 → UNO 圆孔外套",
      "from": {
        "instance": "battery_holder",
        "anchor": "wire_1",
        "label": "电池盒 · 负极（按实物极性识别）",
        "position_mm": [
          -114.5,
          53.5,
          76.25
        ],
        "direction": [
          -1.0,
          0.0,
          0
        ],
        "kind": "physical_anchor"
      },
      "to": {
        "instance": "controller",
        "anchor": "dc_barrel_entry",
        "label": "UNO 圆孔电源插头 · 外套负极",
        "position_mm": [
          -0.11,
          32.42,
          89.75
        ],
        "direction": [
          -0.0,
          1.0,
          0
        ],
        "kind": "physical_anchor",
        "contact": "sleeve_negative",
        "local_offset_mm": [
          0,
          0,
          2.5
        ]
      },
      "color": "#303b43",
      "note": "圆孔 DC 插头外套接电池负极；中心为正。图上两根线分别说明内部两芯，实物使用合格的中心正极插头及分线接头。",
      "modes": [
        "offline"
      ],
      "net": "GND",
      "conditional": true,
      "points_mm": [
        [
          -114.5,
          53.5,
          76.25
        ],
        [
          -124.5,
          53.5,
          76.25
        ],
        [
          -124.5,
          53.5,
          124.8
        ],
        [
          -0.11,
          42.42,
          124.8
        ],
        [
          -0.11,
          42.42,
          89.75
        ],
        [
          -0.11,
          32.42,
          89.75
        ]
      ]
    }
  ],
  "notes": [
    "用户确认实车已通电测试、四轮驱动也已测试；本图引脚与扩展板资料已核对。用户报告不等同于助手独立逐线复接或仪表测量。",
    "电池为两节、每节 3.7V（用户提供），串联标称合计 7.4V；不冒充当前仪表读数。",
    "车头为舵机端；左右以坐在车上面向车头为准。线色和线号用于本图辨认，实物仍看丝印。",
    "ENA、ENB 跳帽取下；本候选方案保留板载 5V_EN 稳压跳帽，L298N +5V 端悬空。实际模块须核验跳帽、输入条件与逻辑 5V 稳定性；电池低电压时不能假定板载稳压仍正常。",
    "用户确认的方案：舵机接扩展板 D9 的 S/V/G；电池分两路给 UNO 圆孔电源口与 L298N Vs。UNO 与扩展板通过排针叠装相连。",
    "扩展板排列按用户实物更正为 S/V/G；同类厂家与蓝板资料只作为功能及供电关系依据：SE/SEL 跳帽接通、蓝色端子留空时，V 默认来自 UNO 5V。不同板型仍按实物丝印识别；动态电压和温升未提供。",
    "USB 调试模式：USB 给主板供电并下载，拔掉 UNO 圆孔电池插头；电池保留给驱动板。脱机运行模式：拔 USB，电池同时给 UNO 圆孔口和驱动板。",
    "四台电机各两根线；同侧并联的两个端子必须可靠分线，不可硬塞多根不合规格的杜邦头。四台电机同时启动、堵转电流和驱动温升待测。",
    "电源功能块放在车外，只说明电气关系，不代表新增实物或已确定安装位置；虚线用于区分供电支路，不表示通电测试未做。",
    "三维走线是可读性布线示意，未通过柔性线束实体碰撞、弯曲半径或实装可达性验收。",
    "本阶段照片未安装超声波、循迹板和 LED，因此不添加这些模块的接线。后续接线继续使用硬件主记录预留脚。"
  ],
  "references": [
    {
      "title": "蓝色 V5 自购板原理图作者的 SEL 说明（同类参考）",
      "url": "https://github.com/lonelycorn/uno-sensor-shield"
    },
    {
      "title": "Arduino UNO 官方引脚图",
      "url": "https://content.arduino.cc/assets/Pinout-UNOrev3_latest.pdf"
    },
    {
      "title": "ST L298 芯片数据手册（不证明克隆模块跳帽接法）",
      "url": "https://www.st.com/resource/en/datasheet/l298.pdf"
    },
    {
      "title": "Handson L298N 模块参考（实物克隆批次仍待核验）",
      "url": "https://www.handsontec.com/dataspecs/module/L298N%20Motor%20Driver.pdf"
    },
    {
      "title": "Keyestudio Sensor Shield V5：S/V/G 与电源轨差异（同类参考）",
      "url": "https://docs.keyestudio.com/projects/KS0004/en/latest/docs/KS0004%20keyestudio%20Sensor%20Shield%20V5.html"
    },
    {
      "title": "Arduino Servo 库引脚/定时器说明",
      "url": "https://github.com/arduino-libraries/Servo/blob/master/docs/api.md"
    }
  ]
}