{
  "title": "RCI Public Robot BOM Evidence Audit",
  "version": "0.1.0",
  "schemaVersion": 1,
  "released": "2026-08-10",
  "canonical": "https://robotcomponentindex.com/research/open-source-robot-bom-evidence-audit/",
  "methodology": "https://robotcomponentindex.com/methodology/",
  "rightsNotice": "RCI publishes source mapping, publication-surface counts, disclosure states and editorial findings. It does not redistribute the third parties’ full BOM rows, CAD, product images, marks, live prices or retailer data. Linked material remains with its respective owners and under its respective terms.",
  "completenessBoundary": "A public BOM proves only what the responsibility party declared at the selected source and revision. It does not independently prove current availability, qualified substitutions, safe wiring, regulatory suitability, performance, a unit-level as-built configuration or successful independent replication.",
  "countBoundary": "The 207 selected entries are rows or list items on unlike publication surfaces. They include nested assemblies, generic groups, tools, alternatives and cross-platform table rows. They are not 207 unique components and must not be used as a complexity ranking.",
  "disclosureCriteria": [
    "exactPlatformRevision",
    "versionedBomSnapshot",
    "lineItemQuantities",
    "manufacturerPartNumbers",
    "supplierLinks",
    "customPartFiles",
    "electricalInterconnectDefinition",
    "softwareFirmwareBinding",
    "licenseBoundary",
    "changeEolSubstitutionHistory",
    "asBuiltManifest",
    "independentRebuildEvidence"
  ],
  "recordCount": 5,
  "selectedDeclaredEntryCount": 207,
  "commitAddressableBomCount": 4,
  "nativeTabularBomCount": 1,
  "completeRebuildEvidencePackageCount": 0,
  "responsibilitySourceConflictCount": 1,
  "disclosurePublishedCounts": {
    "exactPlatformRevision": 2,
    "versionedBomSnapshot": 1,
    "lineItemQuantities": 2,
    "manufacturerPartNumbers": 0,
    "supplierLinks": 1,
    "customPartFiles": 5,
    "electricalInterconnectDefinition": 4,
    "softwareFirmwareBinding": 0,
    "licenseBoundary": 2,
    "changeEolSubstitutionHistory": 5,
    "asBuiltManifest": 0,
    "independentRebuildEvidence": 0
  },
  "records": [
    {
      "id": "bom-audit-so101-follower",
      "platform": "SO-101 follower arm",
      "responsibilityParty": "Hugging Face LeRobot / TheRobotStudio",
      "morphology": "desktop-arm",
      "platformRevisionBoundary": "SO-101 follower arm at the selected LeRobot documentation and SO-ARM100 repository commits; 7.4 V servo variant boundary retained.",
      "selectedBomSurface": "TheRobotStudio SO-ARM100 README procurement table plus SO-101 printable-part lists",
      "bomFormat": "markdown-table",
      "declaredEntryCount": 17,
      "entryCountBoundary": "Six follower-arm procurement rows excluding the Total row, plus eleven individually listed common and follower-specific printable parts. Tools and fixtures remain inside the procurement-table publication boundary.",
      "commitAddressableBom": true,
      "nativeTabularBom": false,
      "versionState": "The current SO-101 material is commit-addressable but not bound to an SO-101 release tag; the repository’s only selected release predates the current SO-101 main branch.",
      "lifecycleBoundary": "LeRobot calls SO-101 the current flagship and the repository documents the move from SO-100; the current material also distinguishes 7.4 V and 12 V servo variants.",
      "strongestPublishedEvidence": "Exact servo variants and gear ratios, regional procurement links, voltage warning, assembly guidance, and downloadable STL/STEP/URDF assets.",
      "largestRebuildGap": "No release-tagged BOM snapshot, unit-level as-built manifest, or independent rebuild package is tied to the current list.",
      "responsibilitySourceConflict": false,
      "conflictNote": "No numerical responsibility-source conflict was selected for this record.",
      "disclosures": {
        "exactPlatformRevision": "published",
        "versionedBomSnapshot": "partial",
        "lineItemQuantities": "partial",
        "manufacturerPartNumbers": "partial",
        "supplierLinks": "published",
        "customPartFiles": "published",
        "electricalInterconnectDefinition": "published",
        "softwareFirmwareBinding": "partial",
        "licenseBoundary": "partial",
        "changeEolSubstitutionHistory": "published",
        "asBuiltManifest": "not-published",
        "independentRebuildEvidence": "not-published"
      },
      "editorialBoundary": "A commit-pinned current list narrows what RCI audited, but it does not prove that every linked item is available, substituted parts are qualified, or one built arm matches the list.",
      "sources": [
        {
          "id": "so101-lerobot-doc",
          "title": "LeRobot SO-101 documentation",
          "url": "https://github.com/huggingface/lerobot/blob/d23b65416ff1042a7268eea6e3671d18ec37d29d/docs/source/so101.mdx",
          "location": "SO-101 identity, flagship status, build boundary and links to official hardware material",
          "revision": "Commit d23b654 · 2026-07-30"
        },
        {
          "id": "so101-bom-readme",
          "title": "TheRobotStudio SO-ARM100 hardware README",
          "url": "https://github.com/TheRobotStudio/SO-ARM100/blob/7629d2ad9853d10fb903093a33ef6114099d97e5/README.md",
          "location": "Follower-arm procurement rows, servo variants, regional links, voltage warning and printable-part lists",
          "revision": "Commit 7629d2a · 2026-08-05"
        },
        {
          "id": "so101-hardware-repository",
          "title": "TheRobotStudio SO-ARM100 repository",
          "url": "https://github.com/TheRobotStudio/SO-ARM100",
          "location": "CAD, printable parts, URDF, repository activity and Apache-2.0 repository license metadata"
        }
      ],
      "completeRebuildEvidencePackage": false,
      "verifiedDate": "2026-08-10"
    },
    {
      "id": "bom-audit-berkeley-humanoid-lite",
      "platform": "Berkeley Humanoid Lite",
      "responsibilityParty": "Hybrid Robotics / UC Berkeley",
      "morphology": "humanoid",
      "platformRevisionBoundary": "Platform release v1.1.0 is selected for lifecycle context; the live Google Sheet is audited separately because it is not embedded in or frozen by that release.",
      "selectedBomSurface": "Public Google Sheet tabs: Humanoid, M6C12 Actuator and 5010 Actuator",
      "bomFormat": "google-sheet",
      "declaredEntryCount": 52,
      "entryCountBoundary": "Twenty-six Humanoid rows, thirteen M6C12 rows and thirteen 5010 rows after excluding headings and totals. Four rows are generic Misc aggregates; formulas and alternative items remain part of the live-sheet boundary.",
      "commitAddressableBom": false,
      "nativeTabularBom": true,
      "versionState": "The sheet is a live public document with no immutable release identifier exposed in the selected surface; repository release v1.1.0 and the live BOM therefore remain separate evidence boundaries.",
      "lifecycleBoundary": "Release v1.1.0 records missing-BOM-part fixes and the project announces V2 exploration; the selected sheet also contains an alternative IMU row outside its totals.",
      "strongestPublishedEvidence": "All 52 selected rows publish quantities; 42 provide both US and China procurement links, with regional price formulas and separate actuator/humanoid tabs.",
      "largestRebuildGap": "No immutable sheet snapshot binds the live BOM to release v1.1.0, and generic Misc rows prevent a fully flattened procurement boundary.",
      "responsibilitySourceConflict": false,
      "conflictNote": "The paper’s historical high-level cost table and the current live-sheet totals have different dates and are retained as version drift, not asserted as an internal conflict.",
      "disclosures": {
        "exactPlatformRevision": "partial",
        "versionedBomSnapshot": "partial",
        "lineItemQuantities": "published",
        "manufacturerPartNumbers": "partial",
        "supplierLinks": "partial",
        "customPartFiles": "published",
        "electricalInterconnectDefinition": "published",
        "softwareFirmwareBinding": "partial",
        "licenseBoundary": "partial",
        "changeEolSubstitutionHistory": "published",
        "asBuiltManifest": "not-published",
        "independentRebuildEvidence": "not-published"
      },
      "editorialBoundary": "A live spreadsheet can be procurement-useful while remaining a weak citation target: values, links and formulas may change without an immutable public revision tied to the robot release.",
      "sources": [
        {
          "id": "berkeley-bom-doc",
          "title": "Berkeley Humanoid Lite materials and parts BOM",
          "url": "https://berkeley-humanoid-lite.gitbook.io/docs/getting-started-with-hardware/materials-and-parts-bom",
          "location": "Official documentation page linking the public BOM sheet"
        },
        {
          "id": "berkeley-bom-sheet",
          "title": "Berkeley Humanoid Lite public BOM spreadsheet",
          "url": "https://docs.google.com/spreadsheets/d/1AQEHcH_nPkXYfor2-h7bwNIUMmsePtAm53epnsWgZXc/edit?usp=sharing",
          "location": "Humanoid, M6C12 Actuator and 5010 Actuator line items, quantities, regional links and formulas",
          "revision": "Live sheet verified 2026-08-10; no immutable public revision selected"
        },
        {
          "id": "berkeley-release-v110",
          "title": "Berkeley Humanoid Lite v1.1.0 release",
          "url": "https://github.com/HybridRobotics/Berkeley-Humanoid-Lite/releases/tag/v1.1.0",
          "location": "Release boundary, missing-BOM-part fixes and V2 exploration note",
          "revision": "Tag v1.1.0 · commit aa93e47 · 2025-09-07"
        },
        {
          "id": "berkeley-repository",
          "title": "Berkeley Humanoid Lite repository",
          "url": "https://github.com/HybridRobotics/Berkeley-Humanoid-Lite",
          "location": "CAD, PCB, software and split code/asset license statements"
        }
      ],
      "completeRebuildEvidencePackage": false,
      "verifiedDate": "2026-08-10"
    },
    {
      "id": "bom-audit-turtlebot3-burger",
      "platform": "TurtleBot3 Burger",
      "responsibilityParty": "ROBOTIS",
      "morphology": "mobile-base",
      "platformRevisionBoundary": "Burger parts-list column at the selected e-Manual commit; Raspberry Pi and LDS generation footnotes are preserved rather than collapsed into one implied as-built revision.",
      "selectedBomSurface": "ROBOTIS e-Manual TurtleBot3 parts-list table",
      "bomFormat": "markdown-table",
      "declaredEntryCount": 46,
      "entryCountBoundary": "Forty-six published table rows across Burger and Waffle Pi columns. Count is the shared publication surface, not 46 Burger-only unique purchased parts.",
      "commitAddressableBom": true,
      "nativeTabularBom": false,
      "versionState": "The e-Manual source file is commit-addressable but the parts table is not a release-tagged, unit-specific BOM snapshot.",
      "lifecycleBoundary": "The official footnotes record Raspberry Pi 3 B+ to Pi 4 B and LDS-01 to LDS-02 transitions, plus Waffle discontinuation after Intel Joule end-of-life.",
      "strongestPublishedEvidence": "A quantified parts table with official CAD/OpenCR links and explicit historical substitution and end-of-life footnotes.",
      "largestRebuildGap": "The current specifications name Pi 4 and LDS-02 while the parts row remains generic or alternative; no exact unit manifest fixes those selections.",
      "responsibilitySourceConflict": false,
      "conflictNote": "The generic parts row and dated revision footnotes are treated as an unresolved revision boundary, not a numerical source conflict.",
      "disclosures": {
        "exactPlatformRevision": "partial",
        "versionedBomSnapshot": "partial",
        "lineItemQuantities": "published",
        "manufacturerPartNumbers": "partial",
        "supplierLinks": "partial",
        "customPartFiles": "published",
        "electricalInterconnectDefinition": "published",
        "softwareFirmwareBinding": "partial",
        "licenseBoundary": "partial",
        "changeEolSubstitutionHistory": "published",
        "asBuiltManifest": "not-published",
        "independentRebuildEvidence": "not-published"
      },
      "editorialBoundary": "A current product name does not freeze the historical Pi, LDS, cable and board combination shipped in a particular unit; the exact build boundary must be recorded separately.",
      "sources": [
        {
          "id": "turtlebot3-features",
          "title": "TurtleBot3 features and parts list",
          "url": "https://emanual.robotis.com/docs/en/platform/turtlebot3/features/",
          "location": "Rendered official specifications, parts table, revision footnotes and linked hardware resources"
        },
        {
          "id": "turtlebot3-features-source",
          "title": "TurtleBot3 parts-list source file",
          "url": "https://github.com/ROBOTIS-GIT/emanual/blob/ee86bc91df505e7bc8b3e4337216c054cdc67264/docs/en/platform/turtlebot3/features/features.md",
          "location": "Commit-pinned table and historical hardware footnotes",
          "revision": "Commit ee86bc9 · 2024-12-20"
        },
        {
          "id": "robotis-emanual-repository",
          "title": "ROBOTIS e-Manual repository",
          "url": "https://github.com/ROBOTIS-GIT/emanual",
          "location": "Documentation source and MIT repository license metadata"
        }
      ],
      "completeRebuildEvidencePackage": false,
      "verifiedDate": "2026-08-10"
    },
    {
      "id": "bom-audit-odri-solo12",
      "platform": "ODRI Solo12",
      "responsibilityParty": "Open Dynamic Robot Initiative",
      "morphology": "quadruped",
      "platformRevisionBoundary": "Solo12 v1 base robot plus the separately published v1.1 autonomy upgrade; the two lists are not silently flattened into one implied revision.",
      "selectedBomSurface": "quadruped_robot_12dof_v1 top-level BOM plus quadruped_robot_12dof_v1.1 upgrade BOM",
      "bomFormat": "nested-markdown-tables",
      "declaredEntryCount": 45,
      "entryCountBoundary": "Twenty-seven v1 top-level rows plus eighteen v1.1 upgrade rows. The base list contains nested assemblies such as 3DOF Leg ×4, so 45 is not a unique-part or fully flattened quantity.",
      "commitAddressableBom": true,
      "nativeTabularBom": false,
      "versionState": "Versioned hardware folders and commit-pinned source files provide a stable selected snapshot; nested subassembly BOMs remain distributed across the repository.",
      "lifecycleBoundary": "The repository publishes an explicit v1 base and v1.1 autonomy upgrade boundary; its latest selected repository activity is from 2022.",
      "strongestPublishedEvidence": "Versioned mechanical boundaries, quantified top-level lists, custom STL/SolidWorks files, Eagle schematics/boards/Gerbers, wiring and calibration material under BSD-3-Clause.",
      "largestRebuildGap": "No single fully flattened BOM joins every nested leg, actuator, board and v1.1 upgrade item, and no unit-level as-built manifest is published.",
      "responsibilitySourceConflict": false,
      "conflictNote": "No numerical responsibility-source conflict was selected for this record.",
      "disclosures": {
        "exactPlatformRevision": "published",
        "versionedBomSnapshot": "published",
        "lineItemQuantities": "partial",
        "manufacturerPartNumbers": "partial",
        "supplierLinks": "partial",
        "customPartFiles": "published",
        "electricalInterconnectDefinition": "published",
        "softwareFirmwareBinding": "partial",
        "licenseBoundary": "published",
        "changeEolSubstitutionHistory": "published",
        "asBuiltManifest": "not-published",
        "independentRebuildEvidence": "not-published"
      },
      "editorialBoundary": "Versioned folders and rich production files are stronger than a live list, but a nested repository still requires a controlled flattening step before procurement or replication.",
      "sources": [
        {
          "id": "solo12-v1-bom",
          "title": "Solo12 v1 top-level BOM",
          "url": "https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware/blob/66af1522b4fba0ec4a1d7790e66f5e4652208d30/mechanics/quadruped_robot_12dof_v1/README.md",
          "location": "Base robot BOM, nested assemblies and custom mechanical files",
          "revision": "Repository snapshot 66af152 · file material revision 7ace859"
        },
        {
          "id": "solo12-v11-bom",
          "title": "Solo12 v1.1 autonomy upgrade BOM",
          "url": "https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware/blob/66af1522b4fba0ec4a1d7790e66f5e4652208d30/mechanics/quadruped_robot_12dof_v1.1/README.md",
          "location": "Autonomy upgrade parts and printed files",
          "revision": "Commit 66af152 · 2022-09-06"
        },
        {
          "id": "odri-hardware-repository",
          "title": "Open Robot Actuator Hardware repository",
          "url": "https://github.com/open-dynamic-robot-initiative/open_robot_actuator_hardware",
          "location": "Nested mechanical/electrical production files, wiring, calibration and BSD-3-Clause license"
        }
      ],
      "completeRebuildEvidencePackage": false,
      "verifiedDate": "2026-08-10"
    },
    {
      "id": "bom-audit-poppy-humanoid",
      "platform": "Poppy Humanoid",
      "responsibilityParty": "Poppy Project",
      "morphology": "humanoid",
      "platformRevisionBoundary": "Poppy Humanoid hardware documentation version 1.0 with alternative head configurations; repository README and BOM source commits are audited separately.",
      "selectedBomSurface": "Poppy Humanoid BOM markdown list, excluding the subsequent tools section",
      "bomFormat": "markdown-list",
      "declaredEntryCount": 47,
      "entryCountBoundary": "Forty-seven list items before the tools heading. Generic cable/bolt groupings and alternative head configurations mean the count is not a flattened procurement total.",
      "commitAddressableBom": true,
      "nativeTabularBom": false,
      "versionState": "README and BOM source are commit-addressable but the selected BOM is not directly bound to a hardware release tag.",
      "lifecycleBoundary": "Assembly documentation records the MX-28 to MX-28AT replacement and two head options; hardware/software license boundaries are explicit.",
      "strongestPublishedEvidence": "Open STL/assembly material, actuator model groupings, separate wiring guides, explicit hardware/software licenses and obsolete-part substitution notes.",
      "largestRebuildGap": "The responsibility-party README states 25 required DYNAMIXEL actuators while selected BOM quantities sum to 20; generic rows and head options also prevent one exact as-built boundary.",
      "responsibilitySourceConflict": true,
      "conflictNote": "Official README: 25 DYNAMIXEL actuators required. Selected official BOM: legs 8 MX-28 + 3 MX-64, torso 1 AX + 5 MX-28 + 2 MX-64, head option A 1 AX = 20; difference = 5.",
      "disclosures": {
        "exactPlatformRevision": "partial",
        "versionedBomSnapshot": "partial",
        "lineItemQuantities": "partial",
        "manufacturerPartNumbers": "partial",
        "supplierLinks": "not-published",
        "customPartFiles": "published",
        "electricalInterconnectDefinition": "partial",
        "softwareFirmwareBinding": "partial",
        "licenseBoundary": "published",
        "changeEolSubstitutionHistory": "published",
        "asBuiltManifest": "not-published",
        "independentRebuildEvidence": "not-published"
      },
      "editorialBoundary": "RCI preserves both official actuator counts. It does not repair the BOM, infer five missing placements, or select a head configuration on the responsibility party’s behalf.",
      "sources": [
        {
          "id": "poppy-humanoid-readme",
          "title": "Poppy Humanoid hardware repository README",
          "url": "https://github.com/poppy-project/poppy-humanoid/blob/d66c8fbd6aa3ebbf9e38399cc56aae3c155ee991/README.md",
          "location": "Robot identity, 25-actuator statement, cost boundary, licenses and trademark notice",
          "revision": "Commit d66c8fb · 2021-12-06"
        },
        {
          "id": "poppy-humanoid-bom",
          "title": "Poppy Humanoid BOM source",
          "url": "https://github.com/poppy-project/poppy-docs/blob/213082801b82d227313e08f9f1dccf2b9aa70065/en/assembly-guides/poppy-humanoid/bom.md",
          "location": "Component-list items, quantities and head alternatives",
          "revision": "Commit 2130828 · 2021-07-04"
        },
        {
          "id": "poppy-humanoid-assembly",
          "title": "Poppy Humanoid assembly guide",
          "url": "https://docs.poppy-project.org/en/assembly-guides/poppy-humanoid/",
          "location": "Hardware version, wiring/assembly routes and MX-28 replacement note"
        }
      ],
      "completeRebuildEvidencePackage": false,
      "verifiedDate": "2026-08-10"
    }
  ]
}