{
  "schemaVersion": 1,
  "id": "robot-custom-1793249377847",
  "name": "Trailblazer · Blank-build rover",
  "template": "custom",
  "parts": [
    {
      "id": "chassis-a15170",
      "defId": "chassis",
      "name": "Rover chassis",
      "position": [
        0,
        0.065,
        0
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {}
    },
    {
      "id": "dc-motor-2ba38a",
      "defId": "dc-motor",
      "name": "Left drive motor",
      "position": [
        -0.055,
        0.045,
        -0.077
      ],
      "rotation": [
        0,
        1.5707963267948966,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "dc-motor-54da86",
      "defId": "dc-motor",
      "name": "Right drive motor",
      "position": [
        -0.055,
        0.045,
        0.077
      ],
      "rotation": [
        0,
        1.5707963267948966,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "wheel-6650a3",
      "defId": "wheel",
      "name": "Left wheel",
      "position": [
        -0.055,
        0.045,
        -0.115
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "wheel-6530f9",
      "defId": "wheel",
      "name": "Right wheel",
      "position": [
        -0.055,
        0.045,
        0.115
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "caster-8616bc",
      "defId": "caster",
      "name": "Ball caster",
      "position": [
        0.1,
        0.02,
        0
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "battery-f87292",
      "defId": "battery",
      "name": "2S battery · 2.2 Ah",
      "position": [
        -0.02,
        0.105,
        0
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "regulator-a7cfcb",
      "defId": "regulator",
      "name": "5 V buck regulator",
      "position": [
        0.07,
        0.09,
        -0.05
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "esp32-s3-e37531",
      "defId": "esp32-s3",
      "name": "ESP32-S3 · virtual controller",
      "position": [
        0.065,
        0.095,
        0.025
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    },
    {
      "id": "motor-driver-bd971c",
      "defId": "motor-driver",
      "name": "Dual H-bridge",
      "position": [
        -0.08,
        0.095,
        0
      ],
      "rotation": [
        0,
        0,
        0
      ],
      "joint": "fixed",
      "params": {
        "anchored": 0
      },
      "parentId": "chassis-a15170"
    }
  ],
  "wires": [
    {
      "id": "9a05c14c-73d7-4c59-8699-710bd80dcc48",
      "from": {
        "part": "battery-f87292",
        "pin": "POS"
      },
      "to": {
        "part": "regulator-a7cfcb",
        "pin": "VIN"
      }
    },
    {
      "id": "fdbdfeed-502c-4bba-9b8f-d81a5bf7291a",
      "from": {
        "part": "battery-f87292",
        "pin": "GND"
      },
      "to": {
        "part": "regulator-a7cfcb",
        "pin": "GND"
      }
    },
    {
      "id": "44bb355b-4cb8-4845-adc9-168bb73ee377",
      "from": {
        "part": "regulator-a7cfcb",
        "pin": "VOUT"
      },
      "to": {
        "part": "esp32-s3-e37531",
        "pin": "VIN"
      }
    },
    {
      "id": "00daa27b-1d2f-4d06-b491-cb48e428c068",
      "from": {
        "part": "battery-f87292",
        "pin": "GND"
      },
      "to": {
        "part": "esp32-s3-e37531",
        "pin": "GND"
      }
    },
    {
      "id": "e824950a-a431-411d-a1dd-662ff96993dd",
      "from": {
        "part": "battery-f87292",
        "pin": "POS"
      },
      "to": {
        "part": "motor-driver-bd971c",
        "pin": "VM"
      }
    },
    {
      "id": "7aecb95a-273c-463d-a542-87af2f59c15d",
      "from": {
        "part": "battery-f87292",
        "pin": "GND"
      },
      "to": {
        "part": "motor-driver-bd971c",
        "pin": "GND"
      }
    },
    {
      "id": "5a0f4947-eac5-42dc-af12-a61ae8a4ec15",
      "from": {
        "part": "esp32-s3-e37531",
        "pin": "PWM_L"
      },
      "to": {
        "part": "motor-driver-bd971c",
        "pin": "PWM_A"
      }
    },
    {
      "id": "5ad47aff-6e17-43a7-aa4f-9e7a27b624f4",
      "from": {
        "part": "esp32-s3-e37531",
        "pin": "PWM_R"
      },
      "to": {
        "part": "motor-driver-bd971c",
        "pin": "PWM_B"
      }
    },
    {
      "id": "1a78d0c7-0435-4035-8184-6a17605db10f",
      "from": {
        "part": "motor-driver-bd971c",
        "pin": "A+"
      },
      "to": {
        "part": "dc-motor-2ba38a",
        "pin": "+"
      }
    },
    {
      "id": "7711eca6-a5c7-4661-a079-f44a31f22cdb",
      "from": {
        "part": "motor-driver-bd971c",
        "pin": "A-"
      },
      "to": {
        "part": "dc-motor-2ba38a",
        "pin": "-"
      }
    },
    {
      "id": "9254d0d9-d798-4fdc-b7d3-09360e5cacc0",
      "from": {
        "part": "motor-driver-bd971c",
        "pin": "B+"
      },
      "to": {
        "part": "dc-motor-54da86",
        "pin": "+"
      }
    },
    {
      "id": "6da92a71-c97c-40e4-be3f-c0f7c7725299",
      "from": {
        "part": "motor-driver-bd971c",
        "pin": "B-"
      },
      "to": {
        "part": "dc-motor-54da86",
        "pin": "-"
      }
    }
  ],
  "groups": [],
  "diagramPositions": {
    "dc-motor-2ba38a": {
      "x": 1096,
      "y": 40
    },
    "dc-motor-54da86": {
      "x": 1096,
      "y": 228
    },
    "battery-f87292": {
      "x": 40,
      "y": 40
    },
    "regulator-a7cfcb": {
      "x": 40,
      "y": 199
    },
    "esp32-s3-e37531": {
      "x": 392,
      "y": 40
    },
    "motor-driver-bd971c": {
      "x": 744,
      "y": 40
    }
  },
  "code": "// Trailblazer: chassis, two motors, wheels and caster assembled from zero.\nlet last = '';\nfunction step(robot) {\n  if (robot.brownout || robot.battery.voltage < 6.3) { robot.drive(0, 0); return; }\n  const t = robot.time % 12;\n  let mode;\n  if (t < 6) { robot.drive(.45, .45); mode = 'Forward'; }\n  else if (t < 8) { robot.drive(.25, -.25); mode = 'Turn'; }\n  else if (t < 11) { robot.drive(-.3, -.3); mode = 'Reverse'; }\n  else { robot.drive(0, 0); mode = 'Stop'; }\n  if (mode !== last) { robot.log(mode); last = mode; }\n}\n",
  "environment": {
    "scenario": "workbench",
    "slope": 0,
    "friction": 0.8,
    "payload": 0,
    "seed": 42,
    "initialSoc": 1,
    "obstacles": []
  },
  "ai": {
    "provider": "replay",
    "endpoint": "",
    "model": "recorded-rover-guide",
    "timeoutMs": 15000,
    "prompt": "You control a simulated robot. Use bounded wheel commands. Stop when sensors are unavailable or battery is low. Describe your intended action briefly.",
    "vision": false
  },
  "createdAt": "2026-10-29T04:49:37.847Z",
  "updatedAt": "2026-10-29T04:51:30.659Z"
}