INDRBT / ENGINEERING

INDRBT / Reading room

Electronics circuit review

Digital engineering model. Payload and repeatability are design targets. All ordinary guide reading, figures and PDFs work here. Links marked Source file lead to the public engineering repository.
On this page

Retained digital evidence · results/validation/electronics_circuit_review.json · SHA-256 02ab20807deb1e75184fc98df15dface1f1c91e30511e9bee200038c0ebb52c0

This readable record comes from the engineering project. Its assumptions, sampling and rule scope remain part of the result.

{
  "scope": "28 October 2026 native MCP inspection of the exact saved INDRBT joint-interface source, plus native KiCad CLI ERC/DRC/parity/export execution. No editor/IPC session was running; unsaved editor changes are excluded.",
  "source_revision": "INDRBT branded working tree; exact saved native source SHA-256 bindings below",
  "board_sha256": "1046bd78d82cd37f4eb656b654840edead73e625d1d94488c067a607fa495aba",
  "schematic_sha256": "17d7f75f067bb735ad2a5a8c1007acfb8115b868c983112e39b75b617fe1129e",
  "power_audit_dispositions": [
    {
      "finding": "No >=10 uF bulk on +3V3",
      "disposition": "Advisory heuristic, not a circuit failure: AP2112 minimum effective output requirement is 1 uF; C2 is 4.7 uF nominal and C7 adds 100 nF. Effective capacitance/load transient performance remain physical selection checks."
    },
    {
      "finding": "No bypass capacitor on +5V_IN / +5V_FUSED",
      "disposition": "These are the short source/fuse segments before the reverse-polarity diode; they feed no IC. C1 provides 10 uF at U1 VIN on the protected rail. Duplicating caps ahead of reverse protection is not required by this architecture."
    },
    {
      "finding": "No dedicated test points on four supply rails",
      "disposition": "Optional physical-debug recommendation. J1/J2/J3 expose input/logic supply and ground, and intermediate pad lands can be probed. Dedicated production fixtures/test points were not part of the digital interface brief."
    }
  ],
  "circuit_review": [
    {
      "area": "Power path",
      "result": "No required circuit edit found",
      "evidence": "Fuse then correctly oriented SS14 then U1 input and EN; 10 uF input and 4.7 uF output. Shared 150 mA budget explicit. LDO heat calculation corrected separately to include quiescent current; temperature/headroom claims remain conditional."
    },
    {
      "area": "Input conditioning",
      "result": "Matches declared low-voltage short-cable contract",
      "evidence": "3 channels with 1 kOhm / 100 pF and correctly oriented upper/lower BAT54H clamps; 1 kOhm / 10 kOhm / 100 nF NC limit filter. External Schmitt inputs and power sequencing are required; no field transient or 5 V immunity claim."
    },
    {
      "area": "External drive",
      "result": "Matches external-drive interface scope",
      "evidence": "330 Ohm STEP/DIR/ENABLE paths, pull-down disabling ENABLE when disconnected, 10 kOhm pull-up for a 3.3 V open-drain fault. No motor current/power stage implemented."
    },
    {
      "area": "RS485",
      "result": "Pinout and declared topology coherent",
      "evidence": "LTC2850IS8 /RE and DE tied to pulled-low direction input; 100 nF decoupling has 3.562 mm local copper path. Switchable 120 Ohm endpoint termination and optional single-node 330/330 Ohm bias. Manufacturer confirms internal failsafe for open, shorted and terminated-undriven input. No cable EMC/isolation qualification."
    },
    {
      "area": "F1 land pattern",
      "result": "Manufacturer nominal drawing agrees",
      "evidence": "Native MCP saved-board pad readback shows 1.0 x 1.6 mm pads at board x=33.5/36.5 mm, giving 2.0 mm inner gap. MF-NSMF025X-2 selected; no manufacturer-specific 3D body or solder-process approval asserted."
    }
  ],
  "primary_sources": {
    "regulator": "https://www.diodes.com/assets/Datasheets/AP2112.pdf",
    "rs485": "https://www.analog.com/media/en/technical-documentation/data-sheets/285012fe.pdf",
    "fuse": "https://www.bourns.com/docs/product-datasheets/mf-nsmf.pdf"
  },
  "library_comparison_summary": {
    "footprint_pad_contracts": 48,
    "embedded_symbol_pin_contracts": 14,
    "mismatches": 0
  },
  "status": "PASS",
  "checked_at_utc": "2026-10-28T13:08:20.966267+00:00",
  "native_application_version": "10.0.6",
  "source_evidence": {
    "board_state": "saved_file",
    "gui_running": false,
    "excludes_unsaved_editor_state": true
  },
  "native_findings": {
    "mcp_erc_errors": 0,
    "mcp_erc_warnings": 0,
    "native_cli_erc_findings": 0,
    "native_cli_drc_findings": 0,
    "native_cli_unconnected": 0,
    "native_cli_schematic_parity": 0
  },
  "mcp_tools_used": [
    "check_kicad_ui",
    "get_board_info",
    "get_component_pads",
    "run_erc",
    "get_schematic_component",
    "get_component_nets",
    "audit_connections",
    "audit_decoupling",
    "audit_power_rails"
  ],
  "rename_invariance": {
    "scope": "Complete parsed native board and schematic equal the archived original after normalizing only the project name and local library alias. All other fields and values remain unchanged.",
    "checks": {
      "whole_board": {
        "expected": "c6e9ba0cee41656733b1dc1dd1427daff1fce7a97914debf46fecab2c9eb57b6",
        "actual": "c6e9ba0cee41656733b1dc1dd1427daff1fce7a97914debf46fecab2c9eb57b6",
        "matches": true
      },
      "whole_schematic": {
        "expected": "03a8da4c963c07f6fb843ef991948deec6c000c1174271ca812dbe454cee7f2f",
        "actual": "03a8da4c963c07f6fb843ef991948deec6c000c1174271ca812dbe454cee7f2f",
        "matches": true
      },
      "copper_and_zones": {
        "expected": "1fd8e0c557c984d57bd55a158a18c0f318995bf41bbd1a4ea56f31a6ff943d5d",
        "actual": "1fd8e0c557c984d57bd55a158a18c0f318995bf41bbd1a4ea56f31a6ff943d5d",
        "matches": true
      },
      "footprints_with_pad_geometry_and_net_assignments": {
        "expected": "dfe5d080b5cd73fdac32ca89bfae7129eae59981e61137d33d3e085d8e5db504",
        "actual": "dfe5d080b5cd73fdac32ca89bfae7129eae59981e61137d33d3e085d8e5db504",
        "matches": true
      },
      "board_settings_and_layers": {
        "expected": "7a4755740ecb39a7d06daab8baf1aadb93c72d40e9bb852f7bfd76c49889199d",
        "actual": "7a4755740ecb39a7d06daab8baf1aadb93c72d40e9bb852f7bfd76c49889199d",
        "matches": true
      }
    },
    "counts": {
      "footprint": 48,
      "segment": 265,
      "via": 32,
      "zone": 2
    },
    "unchanged_inputs": [
      "pin_contract.json",
      "joint_interface.kicad_pro",
      "joint_interface.kicad_dru",
      "sym-lib-table",
      "local F1 footprint geometry"
    ]
  },
  "canonical_proof_sha256": {
    "erc_report.json": "a7f6c2dd4d7e062b2de1de08a4e61e3d3f1a85033fd3810ea75fb4b6a88b3aac",
    "pcb_drc_report.json": "295e527e505e5ccad630e0fcfa63394753e84208e8afa102a1d0dd06c1f3e010",
    "pcb_verification.json": "2f4763645c1bc934e1e92fa58b5a4877024c85e5b88b1a8abf9d13b2fbcdc792",
    "pin_contract.json": "f964f42f6c746b9edde86030eaaf766f3679cf2e9fab22e903129eb435d2d81d",
    "joint_interface.kicad_pro": "1cbe4d95a46fe4c8e8a28a635cd5d81d293c97451c79740726e6cffe839bdd1a",
    "joint_interface.kicad_dru": "72afecaf275113ea1933885f575e19720a433f4028c2282d8bdac265d51b80cd"
  }
}