Saturday, November 14, 2026

PLM and Version Control

Saturday, November 14, 2026

The intersection of Version Control Systems (VCS) like Git and Product Lifecycle Management (PLM) / PDM is one of the most critical architectural challenges in hardware engineering. While software development enjoys a unified toolchain, hardware engineering bridges two distinct worlds: rapid, iterative design source control and rigid, lifecycle-governed manufacturing data.

1. Defining the Boundaries: VCS vs. PLM

Trying to force a PLM tool to act as a source code repository—or trying to use Git as an enterprise BOM and lifecycle manager—creates unnecessary friction. Each system serves a distinct domain:

Focus Version Control (Git / TortoiseGit) PLM / PDM (OpenBOM / Enterprise)
Artifacts Source files, schematic symbols, PCB footprints, automation scripts (VBA/DelphiScript). Assembled BOMs, Approved Vendor Lists (AVL), lifecycle states, ECOs.
Tracking Line-by-line diffs, branching, merging, commit histories, tag releases. Assembly revisions (Rev A, Rev B), where-used analysis, compliance tracking.
Users Design engineers authoring layout, schematics, and automation code. Cross-functional stakeholders: procurement, manufacturing, quality, management.
Approach Decentralized, file-centric, optimized for iteration and parallel engineering. Centralized/cloud-managed, database-centric, single source of truth governance.

2. The Hardware Dilemma: Managing Binary Files

The core challenge in hardware version control is that CAD tools (Altium Designer, SolidWorks) generate large binary files (.PcbDoc, .SchDoc). Standard Git diffing cannot inspect inside binary blocks. To make Git effective for hardware, teams separate design source from snapshots:

  • Granular Library Control: Keeping schematic symbols and PCB footprints as individual, single-file assets in a Git repository enables clean tracking of symbol revisions and footprint updates.
  • Database-Driven Components (DBLibs): Decoupling parametric data (MPNs, descriptions, footprints) into a flat relational table (MySQL or Access) backed by Git-tracked schema and query definitions.
  • Automation & Scripts: Storing automation scripts, design rule checkers, and export macros under strict version control to keep the toolchain reproducible.

3. Bridging the Gap: The Release Pipeline

A robust workflow uses Git and PLM sequentially rather than treating them as competing systems:

  1. The Iteration Phase (Git & Local DB): During active schematic capture and layout, engineers rely on Git for branching and experimental routing trials, validating component metadata against a local or cloud-backed database.
  2. The Release Gate (PLM / BOM Sync): Once a design reaches a milestone (Prototype or Production Release), the flattened BOM and manufacturing outputs (Gerbers, ODB++, STEP models) are pushed to the PLM environment.
  3. Lifecycle Governance: In the PLM, parts are assigned lifecycle states (In Design, Released, Observed, EOL). Subsequent changes require a formal Engineering Change Order (ECO).

Tuesday, November 3, 2026

Compare Excel Workbooks - Copilot

Copilot Request

Compare two Excel workbooks. Report all value changes, formula changes, added/removed rows, and missing worksheets. Generate the results as an Excel report.

What you did is actually the correct upload method. The issue is that Copilot Web can handle uploaded Excel files in a few different ways depending on the session and feature rollout.

To maximize the chance that I receive the actual workbook binary (so I can create a downloadable comparison workbook):

  1. Start a new chat.
  2. Click Upload images and files.
  3. Select the two .xlsx files from your PC.
  4. Wait until the files appear as attachments.
  5. Send a message such as:

    Compare these two Excel files and create an Excel differences report.

A few things to avoid:

  • Don't use Attach cloud files.
  • Don't paste OneDrive links.
  • Don't open the workbook first and share it from Excel.
  • Upload the local .xlsx files directly from disk.

What happened in this session is that Copilot exposed the workbook contents as searchable document data rather than giving me direct access to the workbook files themselves. I could read and compare the data, but I couldn't generate and return a new .xlsx report from those attachments.

A quick test:

  • Create a brand-new chat.
  • Upload a small Excel file (even a simple test workbook).
  • Ask: "How many sheets are in this workbook?"
  • If I can inspect workbook metadata and generate files from it, then the binary upload path is working.

Based on the files you uploaded, I was able to determine that the two workbooks are effectively identical except for the worksheet name (parts vs Imported). [Parts Demo...61103.xlsx | Excel], [Parts Demo...61103.xlsx | Excel]

If you'd like, I can also show you a very robust Excel/VBA or Python comparison utility that will generate the exact differences report locally on your machine for large BOM and parts-library comparisons.

Saturday, October 31, 2026

Soft / Flexible Termination

What Soft / Flexible Termination Means:

In standard MLCCs, the end terminations consist of rigid metallic layers (typically Copper/Nickel/Tin). When a PCB undergoes mechanical flexing—from panel depanelation, screw mounting, thermal cycling, or shock/vibration—that strain is transferred directly to the rigid ceramic body, causing micro-cracks that can lead to catastrophic electrical shorts.

Soft Termination places a conductive, pliable epoxy polymer layer between the inner copper electrode/ceramic body and the outer nickel/tin barrier plating:

  1. Strain Absorption: The flexible polymer layer absorbs mechanical stress, allowing the component to withstand significantly higher board flexure without cracking the ceramic dielectric.
  2. Fail-Safe Mechanism: If extreme over-stress occurs, the soft termination layer usually yields or separates at the termination interface rather than propagating a crack through the ceramic body, preventing high-voltage short-circuit failures (especially critical in high-voltage 2kV automotive/industrial applications).

Manufacturer Naming Equivalent for Soft Termination:

Each vendor uses their own trademarked name for this exact technology:

  • Knowles Syfer: FlexiCap™ (represented by the Y suffix in 1206Y...)
  • KEMET: FT-CAP / Flexible Termination (represented by the X suffix in C1206X...)
  • KYOCERA AVX: FLEXITERM® (represented by the Z termination code in ...KAZ2A)
  • TDK: Soft Termination / MEGACAP
  • Murata: Resin External Electrode (Automotive KRM/GCJ series)

Parts User Defined Fields

Parts has 15 User Defined Fields, like Features and Termination, see User Defined Fields