{
  "plan": "- NVIDIA Jetson Orin Nano or Raspberry Pi 5 to process video feeds and handle semantic extraction/object detection.\n- OBD-II to CAN Bus adapter interface (such as a PiCAN3 shield or MCP2515 transceiver module) to capture vehicle state diagnostics, speed, and steering angle.\n- External HD USB/MIPI CSI cameras (or a specialized GMSL/FPD-Link deserializer board if tapping OEM lines) to capture surround-view video.\n- Rugged 12V to 5V/4A DC-to-DC buck converter to tap vehicle accessory power safely via the OBD-II port or fuse box.\n- Custom 3D-printed enclosure with passive cooling vents or integrated fan mount to securely house the processor, CAN transceiver, and regulator.\n- Adjustable windshield and dashboard camera mounts, along with associated M3 hardware and high-strength adhesive pads.",
  "nodes": [
    {
      "id": "edge_compute_module",
      "name": "Edge AI Processing Unit",
      "pins": [
        "VIN_19V",
        "GND",
        "CAN_TX_3V3",
        "CAN_RX_3V3",
        "DP_OUT",
        "USB_C",
        "USB_A_1",
        "USB_A_2",
        "MIPI_CSI_1",
        "MIPI_CSI_2",
        "GND"
      ],
      "type": "mcu",
      "partId": "e4a95558-1948-4bb9-ba6d-f70269e5c866",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=NVIDIA+Jetson+Orin+Nano+Developer+Kit+%288GB%29&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://m.media-amazon.com/images/I/21OqzbXMrzL._SL500_.jpg",
      "quantity": 1,
      "research": {
        "sourcing": [
          {
            "url": "https://www.aliexpress.com/item/1005005956189380.html?pdp_npi=6%40dis%21USD%21435.13%21435.13%21%21%21435.13%21435.13%21%402151fce817794677605981277e0f14%2112000035017660646%21affd%21%21%21%211%210%21",
            "price": "$435.13",
            "vendor": "AliExpress"
          },
          {
            "url": "https://www.amazon.com/dp/B0BZJTQ5YP?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$249",
            "vendor": "Amazon"
          }
        ]
      },
      "dimensions": "100x79x21mm",
      "description": "Primary compute for autonomous ISR and remote edge computing, supports USB peripherals.",
      "productName": "NVIDIA Jetson Orin Nano Developer Kit (8GB)",
      "purchaseUrl": "https://www.digikey.com/en/products/detail/nvidia/943-33760-0000-000/21262334",
      "aliexpressUrl": "https://s.click.aliexpress.com/s/fwx308cRD9Eny963e3KDdYxyIpNj8TXVr7saiF9Um5rMUg1kZtJALLnfa2LNXtiVgnxdD8Og6MmvwBoxhnSYQGM6r0c08U4TfX8DFGo7vviCuu3q62Q60OAhRZcqm3G8PtwM69xY7TOEWRrvulP5ukZQ4uQbBBtaVsdr6EffAqVmp3O5GyUANU2DoA3dJufNhDfh7KOlLgKIvRVhDxRESHLmea6fTE26gLUqKEUuuizJiLENrCbax94DZHDu8WhaXM9vQ86gzlqceNPO5w3vwXm4VrBF3x2lAMEl06wgNdTSMiT7cNG4HIdW0JxRsILYxhkTROf9Q6D3oppGyLpUGNZgolLY0kLYJAf0leXLfjJ3dobISCnaBjs0M4Pi13ilLMwk7g1NR6XVKk85NqbwIrGy83BcvyBxGO7ZKF5ZgBeXd7T2bebdXHtlCsu2QC7nJohsG05eZa2OFpEQVSTjXe3ja0tFCdPEKH6HJeqGSRBsOwb1w9q9TReRTBmMpyO0aIoHbniqSWd1rFzuHO6MlZHtbn8ozXVLPlJXqvD6YIP5wQF9y3YwWKjJJ3n2wF0IUYXJZbMM3k6hUHLzfcmL6udvHekM4p7I934eHJwI5XmOMjRebwpEbjHSkLGGANl9qLQGVaJnfIAlFGACsBgO7FXIyjM7F82hJdces4hW9eFsHAtExBWor0ix5a4tTO2cYaU8bYSX3z8a1sHyDjnLJk57jqzvti1MPyqibx6RD1Sz5ulc3olv9XZnwVYOqACUJPbSXs8ZNABgdaWpYDegqNdfzeGDBIPIGf0KJVQH6R3UrUM5K2wg20J1DBL1FeUIcDiPNErcvPHT2dFWmMbBJ1eNMcpr93Y90BksWhmnbU5zuImv1yCQ80Nabc2W5qGIbZjBYLqwTSmb36EaU46JhiPVboNYYoJ5M9Rip3Mjn6yvsyViCaKVv0FSj2r7dsqvrtIAhxszvzOConjZNp",
      "estimatedCost": 499,
      "amazonUrl": "https://www.amazon.com/dp/B0BZJTQ5YP?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "front_camera_module",
      "name": "Front ADAS Camera",
      "pins": [
        "MIPI_TXP0",
        "MIPI_TXN0",
        "MIPI_TXP1",
        "MIPI_TXN1",
        "MIPI_MCP",
        "MIPI_MCN",
        "SCL",
        "SDA",
        "3V3",
        "GND"
      ],
      "type": "sensor",
      "partId": "71de5c2e-7716-4977-af09-a55c58ed8c97",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=Raspberry+Pi+Camera+Module+3+%28Wide%29&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://cdn-shop.adafruit.com/640x480/5657-04.jpg",
      "quantity": 1,
      "research": {
        "specs": [
          {
            "label": "pins",
            "value": "CSI,Power"
          }
        ],
        "sourcing": [
          {
            "url": "https://www.amazon.com/dp/B0BRY6MVXL?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$48.19",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.digikey.com/en/products/detail/raspberry-pi/SC1183/20054817",
            "price": "$25",
            "vendor": "DigiKey"
          },
          {
            "url": "https://www.adafruit.com/product/5658",
            "price": "$25",
            "vendor": "Adafruit"
          },
          {
            "url": "https://www.mouser.com/ProductDetail/Raspberry-Pi/SC1183?qs=R7lXl3l%2F8mYJp67T5U0G9g%3D%3D",
            "price": "$25",
            "vendor": "Mouser"
          },
          {
            "url": "https://www.aliexpress.com/item/1005007619775152.html?pdp_npi=6%40dis%21USD%217.19%216.89%21%21%217.19%216.89%21%402151fd2c17793276156288004e0f0f%2112000041529131029%21affd%21%21%21%211%210%21",
            "price": "$6.89",
            "vendor": "AliExpress"
          },
          {
            "url": "https://www.adafruit.com/product/5657",
            "price": "$29.25",
            "vendor": "Adafruit"
          },
          {
            "url": "https://www.amazon.com/dp/B0FNCY34DK?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$44.99",
            "vendor": "Amazon"
          }
        ],
        "documentationUrls": [
          {
            "url": "https://www.adafruit.com/product/5657",
            "title": "Product Page (Adafruit)"
          }
        ]
      },
      "dimensions": "25x24x12mm",
      "description": "Wide-angle camera for face and object tracking, connected via CSI to the Raspberry Pi.",
      "productName": "Raspberry Pi Camera Module 3 (Wide)",
      "purchaseUrl": "https://www.digikey.com/en/products/detail/raspberry-pi/SC0873/17887717",
      "aliexpressUrl": "https://s.click.aliexpress.com/s/fwx308cRD9Eny963e3KDdYxyIpNj8TXVr7saiF9Um5rMUg1kZtJALLnfa2LNXtiVgnxdD8Og6MmvwBoxhnSYQGM6r0c08U4TfX8DFGo7vviCuu3q62Q60OAhRZcqm3G8PtwM69xY7TOEWRrvulP5ukZQ4uQbBBtaVsdr6EffAqVmp3O5GyUANU2DoA3dJufNhDfh7KOlLgKIvRVhDxRESHLmea6fTE26gLUqKEUuuizJiLENrCbax94DZHDu8WhaXM9vQ86gzlqceNPO5w3vwXm4VrBF3x2lAMEl06wgNdTSMiT7cNG4HIdW0JxgUAlStoeRkYI9StuCvQZjsd7Gq1IsscOQ5RvIUx5XkhWwmtgPwy7yrMYYNV4cB9TxL20QJmrxyhq39A8vLQ9Vp8ggAbQq28UPvTy3pMyGwYqnFx7YqTTs6GvnVfBXkflR3EspxvLKCrturZunSmnmj1GeyyIXenzHrF1UdQ4yA3q2MwiF9DYKvAyuhsELmBRcMrcA7pEO0nPvEGuCEeRiKThj7KNCt1pBuz33gyN0Ksu4wmOH0Jt4UY8flDho9V1q2xeezMVTuzFNKEipcq4nCrNeQPPolAqpkRfp3WLAZTDGhGjNEX3jyay7aE5KMjhZe6aWaDTRQfDyDuqvA0dvLZ4XP3Y2Rn54rNfOAqo3we5KvGV0aFtFOzyylO4NyONe8Ze3vHfWKCIh4PuGG5DDNghVpzNQD4bhfPwQqL5aPP4SJP49us2gTnPLYejsD5jh7CHjMZElDWqQq4KSs7gguW2iEsJ5O7IZEHySOilfwW3Ml4BbsONKMyY3T9lyuyI4rlygYS1YeSQoF9nV4IGho67qk0UHSiDE70nKtEsVFWjGmLZdMyunHndtP2ZC8TflS7hcHhvGjzawbIu0oKE1JdBdg0E3mtvZKuAwzs2hFjGlUp1lFF0NlrqzfKNp0zAhaBRwSfoBj6LOacGtmh43UP",
      "estimatedCost": 35,
      "amazonUrl": "https://www.amazon.com/dp/B0BRY6MVXL?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "rear_camera_module",
      "name": "Rear ADAS Camera",
      "pins": [
        "MIPI_TXP0",
        "MIPI_TXN0",
        "MIPI_TXP1",
        "MIPI_TXN1",
        "MIPI_MCP",
        "MIPI_MCN",
        "SCL",
        "SDA",
        "3V3",
        "GND"
      ],
      "type": "sensor",
      "partId": "71de5c2e-7716-4977-af09-a55c58ed8c97",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=Raspberry+Pi+Camera+Module+3+%28Wide%29&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://cdn-shop.adafruit.com/640x480/5657-04.jpg",
      "quantity": 1,
      "research": {
        "specs": [
          {
            "label": "pins",
            "value": "CSI,Power"
          }
        ],
        "sourcing": [
          {
            "url": "https://www.amazon.com/dp/B0BRY6MVXL?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$48.19",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.digikey.com/en/products/detail/raspberry-pi/SC1183/20054817",
            "price": "$25",
            "vendor": "DigiKey"
          },
          {
            "url": "https://www.adafruit.com/product/5658",
            "price": "$25",
            "vendor": "Adafruit"
          },
          {
            "url": "https://www.mouser.com/ProductDetail/Raspberry-Pi/SC1183?qs=R7lXl3l%2F8mYJp67T5U0G9g%3D%3D",
            "price": "$25",
            "vendor": "Mouser"
          },
          {
            "url": "https://www.aliexpress.com/item/1005007619775152.html?pdp_npi=6%40dis%21USD%217.19%216.89%21%21%217.19%216.89%21%402151fd2c17793276156288004e0f0f%2112000041529131029%21affd%21%21%21%211%210%21",
            "price": "$6.89",
            "vendor": "AliExpress"
          },
          {
            "url": "https://www.adafruit.com/product/5657",
            "price": "$29.25",
            "vendor": "Adafruit"
          },
          {
            "url": "https://www.amazon.com/dp/B0FNCY34DK?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$44.99",
            "vendor": "Amazon"
          }
        ],
        "documentationUrls": [
          {
            "url": "https://www.adafruit.com/product/5657",
            "title": "Product Page (Adafruit)"
          }
        ]
      },
      "dimensions": "25x24x12mm",
      "description": "Wide-angle camera for face and object tracking, connected via CSI to the Raspberry Pi.",
      "productName": "Raspberry Pi Camera Module 3 (Wide)",
      "purchaseUrl": "https://www.digikey.com/en/products/detail/raspberry-pi/SC0873/17887717",
      "aliexpressUrl": "https://s.click.aliexpress.com/s/fwx308cRD9Eny963e3KDdYxyIpNj8TXVr7saiF9Um5rMUg1kZtJALLnfa2LNXtiVgnxdD8Og6MmvwBoxhnSYQGM6r0c08U4TfX8DFGo7vviCuu3q62Q60OAhRZcqm3G8PtwM69xY7TOEWRrvulP5ukZQ4uQbBBtaVsdr6EffAqVmp3O5GyUANU2DoA3dJufNhDfh7KOlLgKIvRVhDxRESHLmea6fTE26gLUqKEUuuizJiLENrCbax94DZHDu8WhaXM9vQ86gzlqceNPO5w3vwXm4VrBF3x2lAMEl06wgNdTSMiT7cNG4HIdW0JxgUAlStoeRkYI9StuCvQZjsd7Gq1IsscOQ5RvIUx5XkhWwmtgPwy7yrMYYNV4cB9TxL20QJmrxyhq39A8vLQ9Vp8ggAbQq28UPvTy3pMyGwYqnFx7YqTTs6GvnVfBXkflR3EspxvLKCrturZunSmnmj1GeyyIXenzHrF1UdQ4yA3q2MwiF9DYKvAyuhsELmBRcMrcA7pEO0nPvEGuCEeRiKThj7KNCt1pBuz33gyN0Ksu4wmOH0Jt4UY8flDho9V1q2xeezMVTuzFNKEipcq4nCrNeQPPolAqpkRfp3WLAZTDGhGjNEX3jyay7aE5KMjhZe6aWaDTRQfDyDuqvA0dvLZ4XP3Y2Rn54rNfOAqo3we5KvGV0aFtFOzyylO4NyONe8Ze3vHfWKCIh4PuGG5DDNghVpzNQD4bhfPwQqL5aPP4SJP49us2gTnPLYejsD5jh7CHjMZElDWqQq4KSs7gguW2iEsJ5O7IZEHySOilfwW3Ml4BbsONKMyY3T9lyuyI4rlygYS1YeSQoF9nV4IGho67qk0UHSiDE70nKtEsVFWjGmLZdMyunHndtP2ZC8TflS7hcHhvGjzawbIu0oKE1JdBdg0E3mtvZKuAwzs2hFjGlUp1lFF0NlrqzfKNp0zAhaBRwSfoBj6LOacGtmh43UP",
      "estimatedCost": 35,
      "amazonUrl": "https://www.amazon.com/dp/B0BRY6MVXL?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "obd2_can_transceiver",
      "name": "OBD-II CAN Controller Interface",
      "pins": [
        "CAN_H",
        "CAN_L",
        "TXD",
        "RXD",
        "VCC_5V",
        "GND"
      ],
      "type": "module",
      "partId": "eaab12f3-1ee0-4d8a-914c-eaf22b950b9c",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=Copperhill+Tech+isolated+CAN+Bus+breakout+board&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://m.media-amazon.com/images/I/417LDz7AKQL._SL500_.jpg",
      "quantity": 1,
      "dimensions": "51x43x12mm",
      "productName": "Copperhill Tech isolated CAN Bus breakout board",
      "purchaseUrl": "https://copperhilltech.com/mcp2515-can-bus-breakout-board-with-spi-interface/",
      "estimatedCost": 29.95,
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c3izqteX",
      "amazonUrl": "https://www.amazon.com/dp/B0B2C1145D?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "obd2_cable_adapter",
      "name": "OBD-II to Bare Wire Cable",
      "pins": [
        "PIN_4_CHASSIS_GND",
        "PIN_5_SIGNAL_GND",
        "PIN_6_CAN_HIGH",
        "PIN_14_CAN_LOW",
        "PIN_16_BATTERY_POS"
      ],
      "type": "module",
      "partId": "e5e93cc5-ef7c-4705-9b6b-b67774d95009",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=OBD2+16-pin+Male+to+Open+Wire+Diagnostic+Cable&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://cdn-shop.adafruit.com/640x480/261-01.jpg",
      "quantity": 1,
      "research": {
        "sourcing": [
          {
            "url": "https://octopart.com/opatz8j6/a1?t=FWErZ5KvZBheRRsqUJr1G6jq8gsX9rd3iUlpAz6IX1muYicKm7G0k8z3qqV_XMdwYsHYYcs14jr3CJeXl1-GUCChspiK5yGtklFrI2ceTA62Om5xRN45HJ_ClRvmXWBFkYho5zadnsVdbsYDKwoTtG8iB0sDR6uhyEGAntciJ7tuzLkZjiz_rhMDevorS51h3VFVPtICpEwo5xE46aeMI_rfQ8TpsJjqoSy4f0q-igODkRR_puF_hOnA0Y5-cNOW7LIi50aU7xkrfF2QoMbaC5JbWHtc",
            "price": "$165.34",
            "vendor": "Master Electronics"
          },
          {
            "url": "https://octopart.com/opatz8j6/a1?t=Iy2nf6yReEwzLxK7_M2w4WfjEQfXhaQNuVEgRgoO7c6ULaNGAVSYAKGwuaNVYvNRCRC-ZYW_TkqFQgIQiersZncb7Tz8rc7mlJJmzrP7CQTgMp0qw7bXhEj69ozBXwcOhdRRFybEHW3jWlfKWOBCd0rcYSAQvsVjLwiIi8lmLoE8xV1IMdnh_uneNW_0sK2ZMPdudqpetfmuULUhcsF1MqsCVZJoUqFxqRSfD0193lNDuVbyQTPfsXVdNzsNUaUOG9YvV27b2LUW3cRm1IduYTCmWGNv",
            "price": "$165.34",
            "vendor": "Onlinecomponents.com"
          },
          {
            "url": "https://www.amazon.com/dp/B09QYFB7N8?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$8.99",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.aliexpress.com/item/1005010630946999.html?pdp_npi=6%40dis%21USD%2115.65%217.82%21%21%21105.68%2152.84%21%402151fce817798379458457309e0f9a%2112000053029819064%21affd%21%21%21%211%210%21",
            "price": "$7.82",
            "vendor": "AliExpress"
          },
          {
            "url": "https://www.amazon.com/dp/B0CHFP3XBF?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$15.99",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.adafruit.com/product/261",
            "price": "$0.75",
            "vendor": "Adafruit"
          }
        ],
        "documentationUrls": [
          {
            "url": "https://www.adafruit.com/product/261",
            "title": "Product Page (Adafruit)"
          }
        ]
      },
      "dimensions": "1000x15x15mm",
      "productName": "OBD2 16-pin Male to Open Wire Diagnostic Cable",
      "purchaseUrl": "https://www.adafruit.com/product/261",
      "aliexpressUrl": "https://s.click.aliexpress.com/s/fwx308cRD9Eny963e3KDdYxyIpNj8TXVr7saiF9Um5rMUg1kZtJALLnfa2LNXtiVgnxdD8Og6MmvwBoxhnSYQGM6r0c08U4TfX8DFGo7vviCuu3q62Q60OAhRZcqm3G8PtwM69xY7TOEWRrvulP5ukZQ4uQbBBtaVsdr6EffAqVmp3O5GyUANU2DoA3dJufNhDfh7KOlLgKIvRVhDxRESHLmea6fTE26gLUqKEUuuizJiLENrCbax94DZHDu8WhaXM9vQ86gzlqceNPO5w3vwXm4VrBF3x2lAMEl06wgNdTSMiT7cNG4HIdW0JxQiM6lmrKthRi9I42QXmiU2QD1bnjUUtYCFVwEtOj24w5p2TpoBATkAiYjjEcNfUhVzS3jjGEPiYjcC9OS2i2jh2NCTnpRqEZLJOVfGyFMjqnYSTp5pTafoaqHnbDiIbbNRoueWteOcotP11hhLnkQbMwCTUbw9EITbuiE0chFwv0uOCJXlQxjO5RaopJwqEsIdbhrcZC0AUiUUVsCIYr4toTED0lpabhFtyxBtrYjyObEH6T090kICuLIfX7Ks01oe9JLEe8hpLPHRWph4pCIXDNTxZ3KMDdk0GhFeRQAiiDkSaEVpt55GxPtR9Sg2LN1I7ZuwUISOeEqORZJEAr4iMA7sTgr4QPaNBj1zLj3TkzAvnzOXxMFwPgDegF1EFT2KTqOjcI1yPpWrH9idU2GrrljbH8ird8C5Qf9ZsBhLiBDBcc9JpmenFknujh0E9FJxEoR6jRetaj24lD2TYSfWX45q7RIczf0u6r5vpzn69tHjsgKFywAevbKNzCorS4PguiDzkVCn6Nsf7IIhxKpM1eh3jvVXOM4emMgEldb30qrKtacIpBtOX2pQ4iviEsceSTcP8PS3m7vDoKt4DU5Oqgbiq3DR7brrdj9znWlLgCeFGutpBabPf7kEICifZMr5CtR4mZQKwgxy38AwgM4R1",
      "estimatedCost": 12.99,
      "amazonUrl": "https://www.amazon.com/dp/B09QYFB7N8?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "power_supply_regulator",
      "name": "Automotive DC-DC Buck Converter",
      "pins": [
        "VIN+",
        "VIN-",
        "VOUT+",
        "VOUT-"
      ],
      "type": "power",
      "partId": "68347db0-ccc0-4b6f-aecc-c5bd494e0620",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=DROK+12V+to+19V+Step-Up%2FStep-Down+Automotive+Power+Regulator&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://m.media-amazon.com/images/I/41oqdQ8-iUL._SL500_.jpg",
      "quantity": 1,
      "dimensions": "74x74x32mm",
      "productName": "DROK 12V to 19V Step-Up/Step-Down Automotive Power Regulator",
      "purchaseUrl": "https://www.amazon.com/s?k=DROK+automotive+DC-DC+buck+boost+converter+19v",
      "estimatedCost": 23.99,
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c4dtIZWB",
      "amazonUrl": "https://www.amazon.com/dp/B0B6VK97KR?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "cellular_gps_telemetry",
      "name": "LTE & GPS Telemetry Module",
      "pins": [
        "VCC_5V",
        "GND",
        "UART_TX",
        "UART_RX",
        "USB_D+",
        "USB_D-",
        "GPS_ANT",
        "LTE_ANT"
      ],
      "type": "module",
      "partId": "fece1702-4258-459d-9fe9-9e04062a8b18",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=SIM7600G-H+4G+HAT+for+GNSS%2FCellular&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "electrical",
      "imageUrl": "https://m.media-amazon.com/images/I/51aLP80CKgL._SL500_.jpg",
      "quantity": 1,
      "research": {
        "sourcing": [
          {
            "url": "https://www.amazon.com/dp/B08ZY2FV22?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$98.87",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.aliexpress.com/w/wholesale-simcom-sim7600g-h-4g-hat.html",
            "vendor": "AliExpress"
          }
        ]
      },
      "dimensions": "65x32x14mm",
      "productName": "SIM7600G-H 4G HAT for GNSS/Cellular",
      "purchaseUrl": "https://www.amazon.com/dp/B08ZY2FV22?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c4sE4iUD",
      "estimatedCost": 69,
      "amazonUrl": "https://www.amazon.com/dp/B08ZY2FV22?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "main_enclosure_base",
      "name": "Main Enclosure Base Plate",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "PETG",
      "quantity": 1,
      "mountsFor": "edge_compute_module",
      "dimensions": "150x120x15mm",
      "description": "Base mounting plate with integrated standoffs for the Edge AI processing unit, power regulator, and LTE telemetry module.",
      "purchaseUrl": "https://www.amazon.com/s?k=PETG+filament+1.75mm",
      "estimatedCost": 4.5,
      "printSettings": "40% infill, 0.2mm layer, 4 perimeters"
    },
    {
      "id": "main_enclosure_lid",
      "name": "Main Enclosure Ventilated Lid",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "PETG",
      "quantity": 1,
      "dimensions": "150x120x35mm",
      "description": "Top cover featuring passive cooling vents and slotted mounting channels for securing the main compute system to vehicle interiors.",
      "purchaseUrl": "https://www.amazon.com/s?k=PETG+filament+1.75mm",
      "estimatedCost": 3.8,
      "printSettings": "20% infill, 0.2mm layer"
    },
    {
      "id": "front_camera_windshield_mount",
      "name": "Front Camera Windshield Mount",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "ABS",
      "quantity": 1,
      "mountsFor": "front_camera_module",
      "dimensions": "45x45x35mm",
      "description": "Adjustable angled mount designed to stick directly to the front windshield, holding the front ADAS camera securely.",
      "purchaseUrl": "https://www.amazon.com/s?k=ABS+filament+1.75mm",
      "estimatedCost": 2.2,
      "printSettings": "50% infill, 0.15mm layer, high heat resistance"
    },
    {
      "id": "rear_camera_glass_mount",
      "name": "Rear Camera Glass Mount",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "ABS",
      "quantity": 1,
      "mountsFor": "rear_camera_module",
      "dimensions": "45x45x35mm",
      "description": "Adjustable bracket for mounting the rear-facing camera to the vehicle back glass, optimized for wide-angle road monitoring.",
      "purchaseUrl": "https://www.amazon.com/s?k=ABS+filament+1.75mm",
      "estimatedCost": 2.2,
      "printSettings": "50% infill, 0.15mm layer, high heat resistance"
    },
    {
      "id": "obd_transceiver_mount_clip",
      "name": "OBD-II Transceiver Snap Bracket",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "PETG",
      "quantity": 1,
      "mountsFor": "obd2_can_transceiver",
      "dimensions": "65x40x20mm",
      "description": "Small strain-relief clip that holds the OBD-II CAN controller interface and routing cable tightly underneath the footwell or dashboard panels.",
      "purchaseUrl": "https://www.amazon.com/s?k=PETG+filament+1.75mm",
      "estimatedCost": 1.5,
      "printSettings": "30% infill, 0.2mm layer"
    },
    {
      "id": "buck_converter_heatsink_clamp",
      "name": "Power Regulator Mounting Clamp",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "ABS",
      "quantity": 1,
      "mountsFor": "power_supply_regulator",
      "dimensions": "50x35x15mm",
      "description": "Flame-retardant thermal isolation mount to snap-fit the automotive DC-DC buck converter safely inside the primary enclosure.",
      "purchaseUrl": "https://www.amazon.com/s?k=ABS+filament+1.75mm",
      "estimatedCost": 1.2,
      "printSettings": "40% infill, 0.2mm layer"
    },
    {
      "id": "m3_threaded_inserts",
      "name": "M3 Brass Heat-Set Inserts",
      "type": "misc",
      "partId": "a40c6184-19ff-48d2-beb8-9865d3142554",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=uxcell+M3x5mmx5mm+Female+Brass+Threaded+Knurled+Insert+Nuts&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "mechanical",
      "imageUrl": "https://m.media-amazon.com/images/I/51-jcXxYy6L._SL500_.jpg",
      "material": "Brass",
      "quantity": 16,
      "research": {
        "sourcing": [
          {
            "url": "https://www.amazon.com/dp/B0CTCR9DX6?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$6.83",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.aliexpress.com/w/wholesale-uxcell-m3-x-4mm-x-5mm-female-thread-brass-knurled-nut-inserts.html",
            "vendor": "AliExpress"
          }
        ]
      },
      "dimensions": "M3x5mm",
      "description": "Brass threaded inserts melted into 3D-printed parts for durable, repeated fastening of compute board and lids.",
      "productName": "uxcell M3x5mmx5mm Female Brass Threaded Knurled Insert Nuts",
      "purchaseUrl": "https://www.amazon.com/dp/B0CTCR9DX6?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c3VZAhN5",
      "estimatedCost": 0.08,
      "amazonUrl": "https://www.amazon.com/dp/B0CTCR9DX6?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "m3_assembly_screws",
      "name": "M3 Enclosure Assembly Screws",
      "type": "misc",
      "partId": "07fa1885-b8d4-45ce-9988-ee6125362af0",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=iExcell+M3+x+10mm+Button+Head+Socket+Cap+Screws&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "mechanical",
      "imageUrl": "https://m.media-amazon.com/images/I/41DEGf+ycJL._SL500_.jpg",
      "material": "Alloy Steel",
      "quantity": 16,
      "research": {
        "sourcing": [
          {
            "url": "https://www.aliexpress.com/w/wholesale-m3x8mm-button-head-socket-cap.html",
            "vendor": "AliExpress"
          },
          {
            "url": "https://www.amazon.com/dp/B071YDZBGP?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$12.99",
            "vendor": "Amazon"
          },
          {
            "url": "https://www.amazon.com/dp/B06ZZC22YD?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
            "price": "$12.99",
            "vendor": "Amazon"
          }
        ]
      },
      "dimensions": "M3x10mm",
      "description": "Black oxide alloy steel hex screws to secure the enclosure lids, boards, and mounts to the main assembly.",
      "productName": "iExcell M3 x 10mm Button Head Socket Cap Screws",
      "purchaseUrl": "https://www.amazon.com/dp/B071YDZBGP?tag=blueprintam-20&linkCode=osi&th=1&psc=1",
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c3cWYDm1",
      "estimatedCost": 0.05,
      "amazonUrl": "https://www.amazon.com/dp/B071YDZBGP?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "adhesive_mounting_pads",
      "name": "VHB Double-Sided Adhesive Tape Pads",
      "type": "structural",
      "partId": "57b52f01-6814-44dd-9d18-2853359e3315",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=3M+VHB+Heavy+Duty+Mounting+Tape+Strips&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "mechanical",
      "material": "Acrylic Foam",
      "quantity": 4,
      "dimensions": "40x40x1mm",
      "description": "High-strength, temperature-resistant double-sided adhesive pads to securely bond the camera mounts directly to automotive glass.",
      "productName": "3M VHB Heavy Duty Mounting Tape Strips",
      "purchaseUrl": "https://www.amazon.com/s?k=3M+VHB+tape+pads+heavy+duty",
      "estimatedCost": 0.75,
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c2xidIcJ",
      "amazonUrl": "https://www.amazon.com/dp/B0FPCLGP6B?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "chassis_zip_ties",
      "name": "Automotive Grade Cable Ties",
      "type": "misc",
      "partId": "3afc3820-cf6c-4ff6-9869-ec082102cdb4",
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=Kable+Kontrol+UV+Black+Nylon+Zip+Ties&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1",
      "category": "mechanical",
      "material": "Nylon",
      "quantity": 25,
      "dimensions": "150x3.6x1.2mm",
      "description": "UV-resistant nylon zip ties for clean cable routing from OBD-II port and windshield/rear cameras to the edge processor.",
      "productName": "Kable Kontrol UV Black Nylon Zip Ties",
      "purchaseUrl": "https://www.amazon.com/s?k=automotive+zip+ties+black",
      "estimatedCost": 0.04,
      "aliexpressUrl": "https://s.click.aliexpress.com/e/_c3xgj52X",
      "amazonUrl": "https://www.amazon.com/dp/B078YD2JWF?tag=blueprintam-20&linkCode=osi&th=1&psc=1"
    },
    {
      "id": "obd2_cable_adapter_mount",
      "name": "OBD-II to Bare Wire Cable Mount",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "PETG",
      "quantity": 1,
      "mountsFor": "obd2_cable_adapter",
      "dimensions": "50x40x12mm",
      "description": "Adapter plate for the OBD-II to Bare Wire Cable that bolts to the main chassis with M3 hardware. Includes wire-routing channels.",
      "purchaseUrl": "",
      "estimatedCost": 2,
      "printSettings": "30% infill, 0.2mm layer, 4 perimeters"
    },
    {
      "id": "cellular_gps_telemetry_mount",
      "name": "LTE & GPS Telemetry Module Mount",
      "type": "3d_printed",
      "category": "mechanical",
      "material": "PETG",
      "quantity": 1,
      "mountsFor": "cellular_gps_telemetry",
      "dimensions": "50x40x12mm",
      "description": "Adapter plate for the LTE & GPS Telemetry Module that bolts to the main chassis with M3 hardware. Includes wire-routing channels.",
      "purchaseUrl": "",
      "estimatedCost": 2,
      "printSettings": "30% infill, 0.2mm layer, 4 perimeters"
    },
    {
      "id": "power_dist_block",
      "name": "Power Distribution Terminal Block",
      "pins": [
        "VIN_19V_IN",
        "VCC_5V_IN",
        "GND_IN",
        "VIN_19V_OUT",
        "VCC_5V_OUT1",
        "VCC_5V_OUT2",
        "GND_OUT1",
        "GND_OUT2",
        "GND_OUT3",
        "GND_OUT4"
      ],
      "type": "module",
      "category": "electrical",
      "imageUrl": "https://m.media-amazon.com/images/I/41LtG8JaNbL._SL500_.jpg",
      "quantity": 1,
      "description": "Splits the multi-voltage outputs of the regulator to the compute module, CAN transceiver, and telemetry module.",
      "productName": "Power Distribution Terminal Block",
      "purchaseUrl": "",
      "estimatedCost": 0,
      "ebayUrl": "https://www.ebay.com/sch/i.html?_nkw=Power+Distribution+Terminal+Block&_sacat=0&_from=R40&mkcid=1&mkrid=711-53200-19255-0&siteid=0&campid=5339153059&customid=blueprint&toolid=10001&mkevt=1"
    }
  ],
  "notes": [
    "minimal install",
    "semantic driving assistant",
    "two channel design",
    "external camera option",
    "OBD state ingress",
    "lightweight form factor"
  ],
  "assembly": {
    "version": 2,
    "joints": [
      {
        "id": "mig-main_enclosure_base-buck_converter_heatsink_clamp",
        "parent": {
          "part": "main_enclosure_base"
        },
        "child": {
          "part": "buck_converter_heatsink_clamp"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": -40,
            "y": 15,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-cellular_gps_telemetry_mount-cellular_gps_telemetry",
        "parent": {
          "part": "cellular_gps_telemetry_mount"
        },
        "child": {
          "part": "cellular_gps_telemetry"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 13,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-main_enclosure_base-cellular_gps_telemetry_mount",
        "parent": {
          "part": "main_enclosure_base"
        },
        "child": {
          "part": "cellular_gps_telemetry_mount"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 40,
            "y": 13.5,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-main_enclosure_base-edge_compute_module",
        "parent": {
          "part": "main_enclosure_base"
        },
        "child": {
          "part": "edge_compute_module"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 18,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-front_camera_windshield_mount-front_camera_module",
        "parent": {
          "part": "front_camera_windshield_mount"
        },
        "child": {
          "part": "front_camera_module"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 0,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-adhesive_mounting_pads-front_camera_windshield_mount",
        "parent": {
          "part": "adhesive_mounting_pads"
        },
        "child": {
          "part": "front_camera_windshield_mount"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 18,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-main_enclosure_lid-main_enclosure_base",
        "parent": {
          "part": "main_enclosure_lid"
        },
        "child": {
          "part": "main_enclosure_base"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": -25,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-adhesive_mounting_pads-main_enclosure_lid",
        "parent": {
          "part": "adhesive_mounting_pads"
        },
        "child": {
          "part": "main_enclosure_lid"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 18,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-obd_transceiver_mount_clip-obd2_can_transceiver",
        "parent": {
          "part": "obd_transceiver_mount_clip"
        },
        "child": {
          "part": "obd2_can_transceiver"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 0,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-adhesive_mounting_pads-obd_transceiver_mount_clip",
        "parent": {
          "part": "adhesive_mounting_pads"
        },
        "child": {
          "part": "obd_transceiver_mount_clip"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": -10.5,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-buck_converter_heatsink_clamp-power_supply_regulator",
        "parent": {
          "part": "buck_converter_heatsink_clamp"
        },
        "child": {
          "part": "power_supply_regulator"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 0,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-adhesive_mounting_pads-rear_camera_glass_mount",
        "parent": {
          "part": "adhesive_mounting_pads"
        },
        "child": {
          "part": "rear_camera_glass_mount"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 18,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      },
      {
        "id": "mig-rear_camera_glass_mount-rear_camera_module",
        "parent": {
          "part": "rear_camera_glass_mount"
        },
        "child": {
          "part": "rear_camera_module"
        },
        "type": "rigid",
        "offset": {
          "translation": {
            "x": 0,
            "y": 0,
            "z": 0
          },
          "rotationDeg": {
            "x": 0,
            "y": 0,
            "z": 0
          }
        }
      }
    ]
  },
  "projectName": "Semantic Driver Assistant",
  "originalPrompt": "I am building a plugin autonomous driving system. \n\nA CAN bus frame carries at most a few bytes of payload. Even CAN-FD is tiny compared to video. A single camera stream can generate hundreds of megabits per second. Modern surround-view and ADAS cameras are typically connected via:\n\n* FPD-Link\n* GMSL\n* LVDS variants\n* Automotive Ethernet\n\nrather than CAN. CAN is generally used to exchange metadata, commands, status, and diagnostics, not raw video. ([ITU][1])\n\nA simplified architecture often looks like:\n\n```text\nFront Camera ----\\\nRear Camera ------\\\nLeft Camera ------- ADAS ECU ---- Ethernet ---- Central Compute\nRight Camera -----/\n\n             |\n             +---- CAN Messages\n                    - Speed\n                    - Steering Angle\n                    - Gear Position\n                    - Camera Status\n```\n\nThe OBD-II port typically gives you access to:\n\n* Vehicle speed\n* Steering angle (sometimes)\n* Wheel speeds\n* Yaw rate\n* Diagnostic trouble codes\n* Sensor status\n* ECU information\n\nbut not the raw camera feeds. ([ITU][1])\n\n---\n\n### For Your Autonomous Driving Idea\n\nIronically, I think you're asking a more interesting question than most autonomous vehicle projects.\n\nMost self-driving stacks are:\n\n```text\nVideo\n  ↓\nCNN\n  ↓\nFeature Maps\n  ↓\nPlanning\n  ↓\nControl\n```\n\nYou're asking:\n\n```text\nVideo\n  ↓\nSemantic Compression\n  ↓\nRelationships\n  ↓\nControl\n```\n\nThere is active research showing surround-view fisheye camera systems are extremely valuable for low-speed autonomy, parking, and near-field perception. ([arXiv][2])\n\nThe question becomes:\n\n> Can we extract the minimum semantic representation necessary for driving?\n\nHumans don't calculate depth maps for every pixel. We reason about:\n\n* lane boundaries,\n* vehicle positions,\n* pedestrian motion,\n* relative speed,\n* collision risk.\n\n---\n\n### If You Want Camera Access\n\nThere are usually three approaches:\n\n#### 1. Tap the Camera Wiring\n\nThe most practical reverse-engineering route.\n\n```text\nCamera\n   |\nGMSL / FPD-Link / LVDS\n   |\nADAS ECU\n```\n\nYou intercept the link before it reaches the ADAS ECU.\n\nThis is how many aftermarket integrations and researchers obtain OEM camera feeds.\n\n---\n\n#### 2. Compromise or Interface with the ADAS ECU\n\nIf the ECU runs Linux (many do), you might find:\n\n* RTSP streams\n* V4L2 devices\n* shared memory buffers\n* Ethernet interfaces\n\nThis is difficult but powerful.\n\n---\n\n#### 3. Ethernet-Based Vehicles\n\nMany newer vehicles are moving to zonal architectures where cameras eventually travel over Automotive Ethernet. ([Infineon Technologies][3])\n\nIn those vehicles, the camera traffic may be much easier to access than on older CAN-centric architectures.\n\n---\n\n### The Research Angle I'd Investigate\n\nIf your goal is genuinely to contribute something new rather than recreate existing ADAS stacks, I'd investigate:\n\n```text\nCamera\n   ↓\nObject Extraction\n   ↓\nRelationship Graph\n\nVehicle A:\n  distance=3.4m\n  velocity=15mph\n\nLane:\n  left_boundary\n  right_boundary\n\nPedestrian:\n  crossing=true\n\nTraffic Light:\n  red\n```\n\ninstead of:\n\n```text\nCamera\n   ↓\nTensor\n   ↓\nTransformer\n   ↓\nTensor\n   ↓\nTensor\n   ↓\nDecision\n```\n\nThis aligns remarkably well with your earlier ideas about semantic packets and graph-based computation.\n\nOne thing that would help: **what vehicle are you considering?** The answer changes dramatically between a 2015 Toyota, a 2020 Ford, and a 2025 Tesla. Some vehicles expose almost nothing, while others have Linux-based ADAS computers connected to Ethernet backbones that are much more accessible for research.\n\n[1]: https://www.itu.int/epublications/en/publication/itu-t-x-1381-2023-03-security-guidelines-for-ethernet-based-in-vehicle-networks?utm_source=chatgpt.com \"Recommendation ITU-T X.1381 (03/2023) - Security guidelines for Ethernet-based in-vehicle networks\"\n[2]: https://arxiv.org/abs/2103.17001?utm_source=chatgpt.com \"Near-field Perception for Low-Speed Vehicle Automation using Surround-view Fisheye Cameras\"\n[3]: https://www.infineon.com/product-information/ethernet-camera-bridge-for-software-defined-vehicles?utm_source=chatgpt.com \"Ethernet Camera Bridge for Software-Defined Vehicles | Infineon Technologies\"\n\nYes — that is the correct architectural distinction. OBD-II and standard CAN usually give you vehicle state and diagnostics, but not raw surround-view video; modern camera links typically run over SerDes or automotive Ethernet, with CAN reserved for metadata, commands, and status. [embedded](https://www.embedded.com/iso-13400-and-ethernet-for-adas/)\n\n## What this means for your system\n\nIf the goal is a minimal-install situational-awareness stack, the OBD port should be treated as the **vehicle-state ingress**, not the vision ingress. It can provide power, speed, gear, and other telemetry, while camera data must come from a separate path if you want true visual perception. [dashlogic](https://www.dashlogic.com/docs/technical/obdii_connector_pinout)\n\nThat makes the system a two-channel design:\n- **State channel** via OBD-II/CAN for speed, steering, gear, and diagnostics. [softechpro-solutions](https://www.softechpro-solutions.com/obd-connector-pinout.html)\n- **Vision channel** via direct camera access, usually before the ADAS ECU or through an Ethernet-based camera path in newer vehicles. [ieee802](https://www.ieee802.org/3/ad_hoc/ngrates/public/23_05/20230516a_DataCollection_PotentialCFI.pdf)\n\n## Access strategies\n\nThere are three realistic ways to get camera data:\n1. **Tap the camera link directly** before the ADAS ECU, where FPD-Link, GMSL, or LVDS carry the video stream. [ti](https://www.ti.com/lit/SSZTD02)\n2. **Interoperate with the ADAS ECU** if the vehicle exposes a Linux or Ethernet-based interface that already handles the streams. [cpdevice](https://www.cpdevice.com/automotive-ethernet-explained-guide/)\n3. **Use an external camera system** if you want a non-invasive prototype first, which avoids reverse-engineering OEM camera transport entirely.\n\nFor a first product, the external camera approach is usually fastest and safest. Direct camera tapping becomes a second-stage engineering effort once you know which vehicle platforms are worth targeting. [keysight](https://www.keysight.com/blogs/en/tech/educ/2024/automotive-ethernet)\n\n## Architecture choice\n\nThe important design decision is that your compute should consume **semantic outputs**, not raw camera bytes whenever possible. That means the edge module should turn video into objects, lanes, motion vectors, and risk cues before anything else downstream uses it. This aligns with your earlier semantic-compression direction and keeps the system lightweight enough to fit an aftermarket form factor. [repository.hkust.edu](https://repository.hkust.edu.hk/ir/Record/1783.1-123896)\n\nA practical pipeline is:\n- Camera input.\n- Object detection and tracking.\n- Lane and free-space estimation.\n- Vehicle-state fusion from OBD/CAN.\n- Relationship graph or risk scoring.\n- Alerts or assistive actions.\n\n## Recommended product scope\n\nGiven the access constraints, the best first version is not “autonomous driving” but a **semantic driving assistant**. It should:\n- detect vehicles, pedestrians, cyclists, and lane context,\n- fuse that with speed and steering-state data,\n- estimate relative risk,\n- and present warnings or situational summaries.\n\nThat keeps you inside a tractable aftermarket research path while preserving the more ambitious long-term direction of semantic vehicle computation. [pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12251678/)\n\n## Practical next step\n\nIf you want to stay close to the research frontier, the next deliverable should be a vehicle architecture matrix:\n- OBD-only vehicles.\n- CAN-accessible vehicles.\n- Ethernet-camera vehicles.\n- External-camera fallback vehicles.\n\nThat matrix will tell you which car families are feasible for a minimal-install prototype and which require direct camera tapping or a completely external sensing package.",
  "instructionSteps": [
    {
      "id": "fabricate",
      "subSteps": [
        {
          "id": "fabricate_1",
          "title": "3D print all structural enclosures and mounting brackets",
          "partIds": [
            "main_enclosure_base",
            "main_enclosure_lid",
            "front_camera_windshield_mount",
            "rear_camera_glass_mount",
            "obd_transceiver_mount_clip",
            "buck_converter_heatsink_clamp",
            "obd2_cable_adapter_mount",
            "cellular_gps_telemetry_mount"
          ]
        },
        {
          "id": "fabricate_2",
          "title": "Install M3 brass heat-set inserts into the enclosure base plate and brackets",
          "partIds": [
            "main_enclosure_base",
            "m3_threaded_inserts",
            "cellular_gps_telemetry_mount",
            "buck_converter_heatsink_clamp"
          ]
        },
        {
          "id": "fabricate_3",
          "title": "Test fit the snap-fit interlocking joint between the OBD clip and cable mount",
          "partIds": [
            "obd_transceiver_mount_clip",
            "obd2_cable_adapter_mount"
          ]
        }
      ]
    },
    {
      "id": "wire",
      "subSteps": [
        {
          "id": "wire_1",
          "title": "Wire the OBD-II adapter cable raw battery lines to the DC-DC buck converter input",
          "partIds": [
            "obd2_cable_adapter",
            "power_supply_regulator"
          ]
        },
        {
          "id": "wire_2",
          "title": "Solder OBD-II CAN high/low signals to the OBD-II CAN controller interface",
          "partIds": [
            "obd2_cable_adapter",
            "obd2_can_transceiver"
          ]
        },
        {
          "id": "wire_3",
          "title": "Connect the DC-DC buck converter outputs to the main edge compute and subsystems",
          "partIds": [
            "power_supply_regulator",
            "edge_compute_module",
            "obd2_can_transceiver",
            "cellular_gps_telemetry"
          ]
        },
        {
          "id": "wire_4",
          "title": "Establish serial communications between CAN transceiver and the edge compute module",
          "partIds": [
            "obd2_can_transceiver",
            "edge_compute_module"
          ]
        },
        {
          "id": "wire_5",
          "title": "Connect the MIPI CSI ribbon cables from both front and rear cameras to the compute module",
          "partIds": [
            "front_camera_module",
            "rear_camera_module",
            "edge_compute_module"
          ]
        },
        {
          "id": "wire_6",
          "title": "Interface the LTE & GPS telemetry module with the Edge compute module over USB",
          "partIds": [
            "cellular_gps_telemetry",
            "edge_compute_module"
          ]
        }
      ]
    },
    {
      "id": "bringup",
      "subSteps": [
        {
          "id": "bringup_1",
          "title": "Perform impedance checks and verify buck converter output voltage levels",
          "partIds": [
            "power_supply_regulator"
          ]
        },
        {
          "id": "bringup_2",
          "title": "Flash OS onto the Edge AI Processing Unit and boot-test",
          "partIds": [
            "edge_compute_module"
          ]
        },
        {
          "id": "bringup_3",
          "title": "Initialize MIPI CSI drivers and test dual video stream acquisition",
          "partIds": [
            "front_camera_module",
            "rear_camera_module",
            "edge_compute_module"
          ]
        },
        {
          "id": "bringup_4",
          "title": "Verify CAN communication and OBD-II state ingress data rates",
          "partIds": [
            "obd2_can_transceiver",
            "edge_compute_module",
            "obd2_cable_adapter"
          ]
        },
        {
          "id": "bringup_5",
          "title": "Validate telemetry GPS lock and cell module connection stability",
          "partIds": [
            "cellular_gps_telemetry",
            "edge_compute_module"
          ]
        }
      ]
    },
    {
      "id": "assemble",
      "subSteps": [
        {
          "id": "assemble_1",
          "title": "Secure modules and buck converter to the base plate using clamps and mounts",
          "partIds": [
            "main_enclosure_base",
            "buck_converter_heatsink_clamp",
            "power_supply_regulator",
            "cellular_gps_telemetry_mount",
            "cellular_gps_telemetry",
            "obd_transceiver_mount_clip",
            "obd2_can_transceiver"
          ]
        },
        {
          "id": "assemble_2",
          "title": "Mount the Edge AI Processing Unit onto the main enclosure base plate",
          "partIds": [
            "main_enclosure_base",
            "edge_compute_module"
          ]
        },
        {
          "id": "assemble_3",
          "title": "Attach camera modules to windshield and rear glass brackets using VHB tape",
          "partIds": [
            "front_camera_windshield_mount",
            "rear_camera_glass_mount",
            "front_camera_module",
            "rear_camera_module",
            "adhesive_mounting_pads"
          ]
        },
        {
          "id": "assemble_4",
          "title": "Route internal wiring and fasten the enclosure lid to the base plate",
          "partIds": [
            "main_enclosure_base",
            "main_enclosure_lid",
            "m3_assembly_screws"
          ]
        },
        {
          "id": "assemble_5",
          "title": "Secure cable assemblies and mount the device inside the vehicle",
          "partIds": [
            "chassis_zip_ties",
            "obd2_cable_adapter_mount",
            "obd2_cable_adapter",
            "main_enclosure_base"
          ]
        }
      ]
    }
  ],
  "wiringCleanedHash": "8399de1f-4d53-4a32-b7ca-da5289492717::cellular_gps_telemetry:VCC_5V|GND|UART_TX|UART_RX|USB_D+|USB_D-|GPS_ANT|LTE_ANT,edge_compute_module:VIN_19V|GND|CAN_TX_3V3|CAN_RX_3V3|DP_OUT|USB_C|USB_A_1|USB_A_2|MIPI_CSI_1|MIPI_CSI_2|GND,front_camera_module:MIPI_TXP0|MIPI_TXN0|MIPI_TXP1|MIPI_TXN1|MIPI_MCP|MIPI_MCN|SCL|SDA|3V3|GND,obd2_cable_adapter:PIN_4_CHASSIS_GND|PIN_5_SIGNAL_GND|PIN_6_CAN_HIGH|PIN_14_CAN_LOW|PIN_16_BATTERY_POS,obd2_can_transceiver:CAN_H|CAN_L|TXD|RXD|VCC_5V|GND,power_dist_block:VIN_19V_IN|VCC_5V_IN|GND_IN|VIN_19V_OUT|VCC_5V_OUT1|VCC_5V_OUT2|GND_OUT1|GND_OUT2|GND_OUT3|GND_OUT4,power_supply_regulator:VIN+|VIN-|VOUT+|VOUT-,rear_camera_module:MIPI_TXP0|MIPI_TXN0|MIPI_TXP1|MIPI_TXN1|MIPI_MCP|MIPI_MCN|SCL|SDA|3V3|GND::data|cellular_gps_telemetry|USB_D+|edge_compute_module|USB_A_1||USB_TELEMETRY_DATA_SYSTEM;data|edge_compute_module|CAN_TX_3V3|obd2_can_transceiver|RXD||UART_TX_STEERING_VEHICLE_CONTROL_DATA;data|front_camera_module|MIPI_TXP0|edge_compute_module|MIPI_CSI_1||MIPI_CSI_CAMERA_LOGIC_FRONT_DATA;data|front_camera_module|SDA|edge_compute_module|USB_A_2||3.3V_I2C_FRONT_CAMERA_SDA_DATA_LINE_THRU_USB_OR_EXPANSION_GPIO;data|obd2_cable_adapter|PIN_14_CAN_LOW|obd2_can_transceiver|CAN_L||CAN_L_STEERING_VEHICLE_CONTROL;data|obd2_cable_adapter|PIN_6_CAN_HIGH|obd2_can_transceiver|CAN_H||CAN_H_STEERING_VEHICLE_CONTROL;data|obd2_can_transceiver|TXD|edge_compute_module|CAN_RX_3V3||UART_RX_STEERING_VEHICLE_CONTROL_DATA;data|rear_camera_module|MIPI_TXP0|edge_compute_module|MIPI_CSI_2||MIPI_CSI_CAMERA_LOGIC_REAR_DATA;power|edge_compute_module|GND|front_camera_module|GND||3.3V_CAMERA_LOGIC_FRONT_POWER;power|edge_compute_module|GND|rear_camera_module|GND||3.3V_CAMERA_LOGIC_REAR_POWER;power|obd2_cable_adapter|PIN_16_BATTERY_POS|power_supply_regulator|VIN+||12V_BATTERY_POS_INPUT_FOR_STEERING_AND_ADAS_SYSTEMS;power|obd2_cable_adapter|PIN_4_CHASSIS_GND|power_supply_regulator|VIN-||0V_CHASSIS_GND;power|power_dist_block|GND_IN|cellular_gps_telemetry|GND||;power|power_dist_block|GND_IN|edge_compute_module|GND||;power|power_dist_block|GND_IN|obd2_can_transceiver|GND||;power|power_dist_block|VCC_5V_OUT1|obd2_can_transceiver|VCC_5V||5V;power|power_dist_block|VCC_5V_OUT2|cellular_gps_telemetry|VCC_5V||5V;power|power_dist_block|VIN_19V_OUT|edge_compute_module|VIN_19V||19V;power|power_supply_regulator|VOUT+|edge_compute_module|VIN_19V||19V_EDGE_COMPUTE_MAIN_POWER;power|power_supply_regulator|VOUT+|power_dist_block|VCC_5V_IN||5V;power|power_supply_regulator|VOUT+|power_dist_block|VIN_19V_IN||19V;power|power_supply_regulator|VOUT-|cellular_gps_telemetry|GND||;power|power_supply_regulator|VOUT-|edge_compute_module|GND||;power|power_supply_regulator|VOUT-|obd2_can_transceiver|GND||;power|power_supply_regulator|VOUT-|power_dist_block|GND_IN||",
  "projectDescription": "An dual-channel AI driving assistant that processes front and rear ADAS camera feeds alongside real-time OBD-II vehicle telemetry. The compact system features an edge processing unit, cellular GPS tracking, and a buck converter housed in a ventilated enclosure for minimal vehicle installation.",
  "imagePromptSnapshot": {
    "tags": [
      "minimal install",
      "semantic driving assistant",
      "two channel design",
      "external camera option",
      "OBD state ingress",
      "lightweight form factor"
    ],
    "description": "Project idea: I am building a plugin autonomous driving system. \n\nA CAN bus frame carries at most a few bytes of payload. Even CAN-FD is tiny compared to video. A single camera stream can generate hundreds of megabits per second. Modern surround-view and ADAS cameras are typically connected via:\n\n* FPD-Link\n* GMSL\n* LVDS variants\n* Automotive Ethernet\n\nrather than CAN. CAN is generally used to exchange metadata, commands, status, and diagnostics, not raw video. ([ITU][1])\n\nA simplified architecture often looks like:\n\n```text\nFront Camera ----\\\nRear Camera ------\\\nLeft Camera ------- ADAS ECU ---- Ethernet ---- Central Compute\nRight Camera -----/\n\n             |\n             +---- CAN Messages\n                    - Speed\n                    - Steering Angle\n                    - Gear Position\n                    - Camera Status\n```\n\nThe OBD-II port typically gives you access to:\n\n* Vehicle speed\n* Steering angle (sometimes)\n* Wheel speeds\n* Yaw rate\n* Diagnostic trouble codes\n* Sensor status\n* ECU information\n\nbut not the raw camera feeds. ([ITU][1])\n\n---\n\n### For Your Autonomous Driving Idea\n\nIronically, I think you're asking a more interesting question than most autonomous vehicle projects.\n\nMost self-driving stacks are:\n\n```text\nVideo\n  ↓\nCNN\n  ↓\nFeature Maps\n  ↓\nPlanning\n  ↓\nControl\n```\n\nYou're asking:\n\n```text\nVideo\n  ↓\nSemantic Compression\n  ↓\nRelationships\n  ↓\nControl\n```\n\nThere is active research showing surround-view fisheye camera systems are extremely valuable for low-speed autonomy, parking, and near-field perception. ([arXiv][2])\n\nThe question becomes:\n\n> Can we extract the minimum semantic representation necessary for driving?\n\nHumans don't calculate depth maps for every pixel. We reason about:\n\n* lane boundaries,\n* vehicle positions,\n* pedestrian motion,\n* relative speed,\n* collision risk.\n\n---\n\n### If You Want Camera Access\n\nThere are usually three approaches:\n\n#### 1. Tap the Camera Wiring\n\nThe most practical reverse-engineering route.\n\n```text\nCamera\n   |\nGMSL / FPD-Link / LVDS\n   |\nADAS ECU\n```\n\nYou intercept the link before it reaches the ADAS ECU.\n\nThis is how many aftermarket integrations and researchers obtain OEM camera feeds.\n\n---\n\n#### 2. Compromise or Interface with the ADAS ECU\n\nIf the ECU runs Linux (many do), you might find:\n\n* RTSP streams\n* V4L2 devices\n* shared memory buffers\n* Ethernet interfaces\n\nThis is difficult but powerful.\n\n---\n\n#### 3. Ethernet-Based Vehicles\n\nMany newer vehicles are moving to zonal architectures where cameras eventually travel over Automotive Ethernet. ([Infineon Technologies][3])\n\nIn those vehicles, the camera traffic may be much easier to access than on older CAN-centric architectures.\n\n---\n\n### The Research Angle I'd Investigate\n\nIf your goal is genuinely to contribute something new rather than recreate existing ADAS stacks, I'd investigate:\n\n```text\nCamera\n   ↓\nObject Extraction\n   ↓\nRelationship Graph\n\nVehicle A:\n  distance=3.4m\n  velocity=15mph\n\nLane:\n  left_boundary\n  right_boundary\n\nPedestrian:\n  crossing=true\n\nTraffic Light:\n  red\n```\n\ninstead of:\n\n```text\nCamera\n   ↓\nTensor\n   ↓\nTransformer\n   ↓\nTensor\n   ↓\nTensor\n   ↓\nDecision\n```\n\nThis aligns remarkably well with your earlier ideas about semantic packets and graph-based computation.\n\nOne thing that would help: **what vehicle are you considering?** The answer changes dramatically between a 2015 Toyota, a 2020 Ford, and a 2025 Tesla. Some vehicles expose almost nothing, while others have Linux-based ADAS computers connected to Ethernet backbones that are much more accessible for research.\n\n[1]: https://www.itu.int/epublications/en/publication/itu-t-x-1381-2023-03-security-guidelines-for-ethernet-based-in-vehicle-networks?utm_source=chatgpt.com \"Recommendation ITU-T X.1381 (03/2023) - Security guidelines for Ethernet-based in-vehicle networks\"\n[2]: https://arxiv.org/abs/2103.17001?utm_source=chatgpt.com \"Near-field Perception for Low-Speed Vehicle Automation using Surround-view Fisheye Cameras\"\n[3]: https://www.infineon.com/product-information/ethernet-camera-bridge-for-software-defined-vehicles?utm_source=chatgpt.com \"Ethernet Camera Bridge for Software-Defined Vehicles | Infineon Technologies\"\n\nYes — that is the correct architectural distinction. OBD-II and standard CAN usually give you vehicle state and diagnostics, but not raw surround-view video; modern camera links typically run over SerDes or automotive Ethernet, with CAN reserved for metadata, commands, and status. [embedded](https://www.embedded.com/iso-13400-and-ethernet-for-adas/)\n\n## What this means for your system\n\nIf the goal is a minimal-install situational-awareness stack, the OBD port should be treated as the **vehicle-state ingress**, not the vision ingress. It can provide power, speed, gear, and other telemetry, while camera data must come from a separate path if you want true visual perception. [dashlogic](https://www.dashlogic.com/docs/technical/obdii_connector_pinout)\n\nThat makes the system a two-channel design:\n- **State channel** via OBD-II/CAN for speed, steering, gear, and diagnostics. [softechpro-solutions](https://www.softechpro-solutions.com/obd-connector-pinout.html)\n- **Vision channel** via direct camera access, usually before the ADAS ECU or through an Ethernet-based camera path in newer vehicles. [ieee802](https://www.ieee802.org/3/ad_hoc/ngrates/public/23_05/20230516a_DataCollection_PotentialCFI.pdf)\n\n## Access strategies\n\nThere are three realistic ways to get camera data:\n1. **Tap the camera link directly** before the ADAS ECU, where FPD-Link, GMSL, or LVDS carry the video stream. [ti](https://www.ti.com/lit/SSZTD02)\n2. **Interoperate with the ADAS ECU** if the vehicle exposes a Linux or Ethernet-based interface that already handles the streams. [cpdevice](https://www.cpdevice.com/automotive-ethernet-explained-guide/)\n3. **Use an external camera system** if you want a non-invasive prototype first, which avoids reverse-engineering OEM camera transport entirely.\n\nFor a first product, the external camera approach is usually fastest and safest. Direct camera tapping becomes a second-stage engineering effort once you know which vehicle platforms are worth targeting. [keysight](https://www.keysight.com/blogs/en/tech/educ/2024/automotive-ethernet)\n\n## Architecture choice\n\nThe important design decision is that your compute should consume **semantic outputs**, not raw camera bytes whenever possible. That means the edge module should turn video into objects, lanes, motion vectors, and risk cues before anything else downstream uses it. This aligns with your earlier semantic-compression direction and keeps the system lightweight enough to fit an aftermarket form factor. [repository.hkust.edu](https://repository.hkust.edu.hk/ir/Record/1783.1-123896)\n\nA practical pipeline is:\n- Camera input.\n- Object detection and tracking.\n- Lane and free-space estimation.\n- Vehicle-state fusion from OBD/CAN.\n- Relationship graph or risk scoring.\n- Alerts or assistive actions.\n\n## Recommended product scope\n\nGiven the access constraints, the best first version is not “autonomous driving” but a **semantic driving assistant**. It should:\n- detect vehicles, pedestrians, cyclists, and lane context,\n- fuse that with speed and steering-state data,\n- estimate relative risk,\n- and present warnings or situational summaries.\n\nThat keeps you inside a tractable aftermarket research path while preserving the more ambitious long-term direction of semantic vehicle computation. [pmc.ncbi.nlm.nih](https://pmc.ncbi.nlm.nih.gov/articles/PMC12251678/)\n\n## Practical next step\n\nIf you want to stay close to the research frontier, the next deliverable should be a vehicle architecture matrix:\n- OBD-only vehicles.\n- CAN-accessible vehicles.\n- Ethernet-camera vehicles.\n- External-camera fallback vehicles.\n\nThat matrix will tell you which car families are feasible for a minimal-install prototype and which require direct camera tapping or a completely external sensing package.\n\nDesign notes: minimal install, semantic driving assistant, two channel design, external camera option, OBD state ingress, lightweight form factor\n\nElectrical components (current): Edge AI Processing Unit (mcu, 100x79x21mm); 2x sensor: Front ADAS Camera, Rear ADAS Camera; 3x module: OBD-II CAN Controller Interface, OBD-II to Bare Wire Cable, LTE & GPS Telemetry Module; Automotive DC-DC Buck Converter (power, 74x74x32mm)\n\nMechanical/structural parts (current): 8x 3d_printed: Main Enclosure Base Plate, Main Enclosure Ventilated Lid, Front Camera Windshield Mount, Rear Camera Glass Mount +4 more; 3x misc: M3 Brass Heat-Set Inserts, M3 Enclosure Assembly Screws, Automotive Grade Cable Ties; VHB Double-Sided Adhesive Tape Pads (structural, 40x40x1mm)"
  },
  "instructionPreamble": {
    "tools": [
      "3D printer (PETG and ABS capable)",
      "Soldering iron and solder",
      "Heat-set insert tip and soldering iron",
      "M3 Hex key / screwdriver",
      "Multimeter",
      "Wire strippers and crimping tool",
      "Heat gun (for heat shrink tubing)"
    ],
    "assumptions": [
      "Access to a 12V DC vehicle battery or bench power supply for testing",
      "Basic experience with Linux terminal and embedded systems",
      "3D printer sliced files prepared for PETG and high-temp ABS"
    ]
  },
  "electricalConnections": [
    {
      "type": "power",
      "source": "obd2_cable_adapter",
      "target": "power_supply_regulator",
      "voltage": "12V_BATTERY_POS_INPUT_FOR_STEERING_AND_ADAS_SYSTEMS",
      "sourcePin": "PIN_16_BATTERY_POS",
      "targetPin": "VIN+"
    },
    {
      "type": "power",
      "source": "obd2_cable_adapter",
      "target": "power_supply_regulator",
      "voltage": "0V_CHASSIS_GND",
      "sourcePin": "PIN_4_CHASSIS_GND",
      "targetPin": "VIN-"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "edge_compute_module",
      "voltage": "19V_EDGE_COMPUTE_MAIN_POWER",
      "sourcePin": "VOUT+",
      "targetPin": "VIN_19V"
    },
    {
      "type": "power",
      "source": "edge_compute_module",
      "target": "front_camera_module",
      "voltage": "3.3V_CAMERA_LOGIC_FRONT_POWER",
      "sourcePin": "GND",
      "targetPin": "GND"
    },
    {
      "type": "power",
      "source": "edge_compute_module",
      "target": "rear_camera_module",
      "voltage": "3.3V_CAMERA_LOGIC_REAR_POWER",
      "sourcePin": "GND",
      "targetPin": "GND"
    },
    {
      "type": "data",
      "source": "obd2_cable_adapter",
      "target": "obd2_can_transceiver",
      "voltage": "CAN_H_STEERING_VEHICLE_CONTROL",
      "sourcePin": "PIN_6_CAN_HIGH",
      "targetPin": "CAN_H"
    },
    {
      "type": "data",
      "source": "obd2_cable_adapter",
      "target": "obd2_can_transceiver",
      "voltage": "CAN_L_STEERING_VEHICLE_CONTROL",
      "sourcePin": "PIN_14_CAN_LOW",
      "targetPin": "CAN_L"
    },
    {
      "type": "data",
      "source": "obd2_can_transceiver",
      "target": "edge_compute_module",
      "voltage": "UART_RX_STEERING_VEHICLE_CONTROL_DATA",
      "sourcePin": "TXD",
      "targetPin": "CAN_RX_3V3"
    },
    {
      "type": "data",
      "source": "edge_compute_module",
      "target": "obd2_can_transceiver",
      "voltage": "UART_TX_STEERING_VEHICLE_CONTROL_DATA",
      "sourcePin": "CAN_TX_3V3",
      "targetPin": "RXD"
    },
    {
      "type": "data",
      "source": "front_camera_module",
      "target": "edge_compute_module",
      "voltage": "MIPI_CSI_CAMERA_LOGIC_FRONT_DATA",
      "sourcePin": "MIPI_TXP0",
      "targetPin": "MIPI_CSI_1"
    },
    {
      "type": "data",
      "source": "rear_camera_module",
      "target": "edge_compute_module",
      "voltage": "MIPI_CSI_CAMERA_LOGIC_REAR_DATA",
      "sourcePin": "MIPI_TXP0",
      "targetPin": "MIPI_CSI_2"
    },
    {
      "type": "data",
      "source": "cellular_gps_telemetry",
      "target": "edge_compute_module",
      "voltage": "USB_TELEMETRY_DATA_SYSTEM",
      "sourcePin": "USB_D+",
      "targetPin": "USB_A_1"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "edge_compute_module",
      "sourcePin": "VOUT-",
      "targetPin": "GND"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "obd2_can_transceiver",
      "sourcePin": "VOUT-",
      "targetPin": "GND"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "cellular_gps_telemetry",
      "sourcePin": "VOUT-",
      "targetPin": "GND"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "power_dist_block",
      "voltage": "19V",
      "sourcePin": "VOUT+",
      "targetPin": "VIN_19V_IN"
    },
    {
      "type": "power",
      "source": "power_dist_block",
      "target": "edge_compute_module",
      "voltage": "19V",
      "sourcePin": "VIN_19V_OUT",
      "targetPin": "VIN_19V"
    },
    {
      "type": "power",
      "source": "power_supply_regulator",
      "target": "power_dist_block",
      "voltage": "5V",
      "sourcePin": "VOUT+",
      "targetPin": "VCC_5V_IN"
    },
    {
      "type": "power",
      "source": "power_dist_block",
      "target": "obd2_can_transceiver",
      "voltage": "5V",
      "sourcePin": "VCC_5V_OUT1",
      "targetPin": "VCC_5V"
    },
    {
      "type": "power",
      "source": "power_dist_block",
      "target": "cellular_gps_telemetry",
      "voltage": "5V",
      "sourcePin": "VCC_5V_OUT2",
      "targetPin": "VCC_5V"
    },
    {
      "type": "data",
      "source": "front_camera_module",
      "target": "edge_compute_module",
      "voltage": "3.3V_I2C_FRONT_CAMERA_SDA_DATA_LINE_THRU_USB_OR_EXPANSION_GPIO",
      "sourcePin": "SDA",
      "targetPin": "USB_A_2"
    },
    {
      "source": "power_supply_regulator",
      "target": "power_dist_block",
      "type": "power",
      "sourcePin": "VOUT-",
      "targetPin": "GND_IN"
    },
    {
      "source": "power_dist_block",
      "target": "edge_compute_module",
      "type": "power",
      "sourcePin": "GND_IN",
      "targetPin": "GND"
    },
    {
      "source": "power_dist_block",
      "target": "obd2_can_transceiver",
      "type": "power",
      "sourcePin": "GND_IN",
      "targetPin": "GND"
    },
    {
      "source": "power_dist_block",
      "target": "cellular_gps_telemetry",
      "type": "power",
      "sourcePin": "GND_IN",
      "targetPin": "GND"
    }
  ],
  "mechanicalConnections": [
    {
      "delta": {
        "x": 0,
        "y": -25,
        "z": 0
      },
      "label": "M3 Enclosure Assembly Screws into M3 Brass Heat-Set Inserts",
      "source": "main_enclosure_lid",
      "target": "main_enclosure_base"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "Heat-set press fit",
      "source": "m3_threaded_inserts",
      "target": "main_enclosure_base"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "Through-hole clearance fit",
      "source": "m3_assembly_screws",
      "target": "main_enclosure_lid"
    },
    {
      "delta": {
        "x": 40,
        "y": -15,
        "z": 0
      },
      "label": "M3 bolts into heat-set inserts",
      "source": "buck_converter_heatsink_clamp",
      "target": "main_enclosure_base"
    },
    {
      "delta": {
        "x": -40,
        "y": -13.5,
        "z": 0
      },
      "label": "M3 bolts into heat-set inserts",
      "source": "cellular_gps_telemetry_mount",
      "target": "main_enclosure_base"
    },
    {
      "delta": {
        "x": 0,
        "y": -18,
        "z": 0
      },
      "label": "VHB Double-Sided Adhesive Tape",
      "source": "front_camera_windshield_mount",
      "target": "adhesive_mounting_pads"
    },
    {
      "delta": {
        "x": 0,
        "y": -18,
        "z": 0
      },
      "label": "VHB Double-Sided Adhesive Tape",
      "source": "rear_camera_glass_mount",
      "target": "adhesive_mounting_pads"
    },
    {
      "delta": {
        "x": 0,
        "y": -16,
        "z": 0
      },
      "label": "Snap-fit interlocking joint",
      "source": "obd_transceiver_mount_clip",
      "target": "obd2_cable_adapter_mount"
    },
    {
      "delta": {
        "x": 0,
        "y": -6.6,
        "z": 0
      },
      "label": "Secured to vehicle under-dash frame",
      "source": "obd2_cable_adapter_mount",
      "target": "chassis_zip_ties"
    },
    {
      "delta": {
        "x": 0,
        "y": -8.1,
        "z": 0
      },
      "label": "Secured to vehicle under-dash structure",
      "source": "main_enclosure_base",
      "target": "chassis_zip_ties"
    },
    {
      "delta": {
        "x": 0,
        "y": 18,
        "z": 0
      },
      "label": "mount",
      "source": "main_enclosure_base",
      "target": "edge_compute_module"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "mount",
      "source": "front_camera_windshield_mount",
      "target": "front_camera_module"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "mount",
      "source": "rear_camera_glass_mount",
      "target": "rear_camera_module"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "mount",
      "source": "obd_transceiver_mount_clip",
      "target": "obd2_can_transceiver"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "mount",
      "source": "buck_converter_heatsink_clamp",
      "target": "power_supply_regulator"
    },
    {
      "delta": {
        "x": 0,
        "y": 0,
        "z": 0
      },
      "label": "mount",
      "source": "obd2_cable_adapter_mount",
      "target": "obd2_cable_adapter"
    },
    {
      "delta": {
        "x": 0,
        "y": 13,
        "z": 0
      },
      "label": "mount",
      "source": "cellular_gps_telemetry_mount",
      "target": "cellular_gps_telemetry"
    },
    {
      "delta": {
        "x": 0,
        "y": 18,
        "z": 0
      },
      "label": "attached",
      "source": "adhesive_mounting_pads",
      "target": "main_enclosure_lid"
    },
    {
      "delta": {
        "x": 0,
        "y": -10.5,
        "z": 0
      },
      "label": "attached",
      "source": "adhesive_mounting_pads",
      "target": "obd_transceiver_mount_clip"
    }
  ],
  "projectId": "8399de1f-4d53-4a32-b7ca-da5289492717"
}