RUE Logo

Module 1.11 - Documentation

Ensuring complete, accurate documentation for manufacturing, assembly, and maintenance

1. BOM Complete and Accurate Critical

What It Is

The Bill of Materials (BOM) is the complete list of every component required to assemble the PCB. It must include: reference designator, manufacturer part number (MPN), description, value, package/footprint, quantity, and approved alternatives. Every component on the schematic must appear in the BOM, and every BOM entry must correspond to a component on the schematic. Zero discrepancies are acceptable.

The BOM is the primary procurement and assembly document - errors here directly become physical errors on boards.

Why It Matters

A BOM error results in wrong parts being ordered and assembled onto boards. A missing MPN means the purchaser guesses (wrong package, wrong value, wrong voltage rating). A wrong quantity means boards are partially assembled. A missing component means an empty pad that must be reworked ($5-$50 per board in production). BOM errors are caught only at electrical test - after all assembly labor is spent. In worst case, wrong parts pass test initially but fail in the field (wrong temperature grade, insufficient voltage rating).

How to Check - Step by Step

  1. Export BOM from schematic tool. Export component list from PCB layout. Compare: both lists must be identical in component count and reference designators.
  2. Verify every line item has a valid manufacturer part number (MPN) - no "TBD", "??", or generic descriptions without MPN.
  3. Check that all component values in BOM match the schematic display values (resistor values, capacitor values match schematic annotation).
  4. Verify package/footprint specified in BOM matches the PCB footprint (0402 vs 0603, LQFP100 vs LQFP144).
  5. Count total unique parts: verify against schematic component count. Look for missing items (test points, mounting hardware, fiducials).
  6. Check for duplicate entries (same MPN appearing twice with different reference designators that should be consolidated).
  7. Verify BOM includes non-schematic items if applicable: thermal pads, underfill material, solder paste specification.

Complete BOM entry example:

+------+--------------------+---------------------------+-------+--------+-----+
| Ref  | MPN                | Description               | Value | Pkg    | Qty |
+------+--------------------+---------------------------+-------+--------+-----+
| C1   | GRM155R71C104KA88J | Cap Ceramic 100nF 16V X7R | 100nF | 0402   |  1  |
| C2-5 | GRM155R71C104KA88J | Cap Ceramic 100nF 16V X7R | 100nF | 0402   |  4  |
| R1   | RC0402FR-0710KL    | Res 10k 1% 1/16W          | 10k   | 0402   |  1  |
| U1   | STM32F407VGT6      | MCU ARM Cortex-M4 168MHz  | -     | LQFP100|  1  |
| Y1   | NX3225SA-8M00000   | Crystal 8MHz 8pF 20ppm    | 8MHz  | 3225   |  1  |
| J1   | 12401610E4#2A      | Conn USB-C Receptacle SMD | -     | USB-C  |  1  |
+------+--------------------+---------------------------+-------+--------+-----+

Alt sources documented:
  C1-5 Alt: Samsung CL05B104KO5NNNC (verified equivalent)
  R1 Alt: Yageo RC0402FR-0710KL (exact equivalent)

Incomplete BOM:

+------+------------+------------------+-------+-----+
| Ref  | MPN        | Description      | Value | Qty |
+------+------------+------------------+-------+-----+
| C1-20| (see note) | 100nF capacitor  | 100nF | 20  |  <-- No MPN! What package? What voltage?
| R??  | TBD        | Resistor         | ??    |  3  |  <-- Unassigned, value unknown
| U1   | STM32F4xx  | Microcontroller  | -     |  1  |  <-- Which STM32F4?? Dozens of variants!
| J1   | (generic)  | USB connector    | -     |  1  |  <-- Which type? A? B? C? Receptacle? Plug?
+------+------------+------------------+-------+-----+

Note: "Use standard 100nF caps" -- What package? Voltage? Dielectric? Manufacturer?
Missing: test points, fiducials, mounting hardware

KiCad: Use Symbol Fields Table (Edit > Symbol Fields) to bulk-edit all component fields. Export BOM with KiBOM or Interactive BOM plugin. Verify MPN field populated for every component.

Altium: ActiveBOM provides real-time BOM management with live pricing and availability. Use BOM comparison tool to verify schematic-to-BOM consistency. Report > Bill of Materials.

OrCAD: Use BOM report generator (Reports > Bill of Materials). CIS (Component Information System) integrates with supplier databases for MPN validation. Cross-reference with PCB component list.

  • Generic descriptions: "100nF capacitor" is not orderable. Must specify exact MPN or at minimum: value, voltage, tolerance, dielectric, package size.
  • BOM-schematic mismatch: Changing a component value on the schematic but forgetting to re-export BOM. Production builds 100 boards with the old value.
  • Missing DNP (Do Not Place): Optional components not clearly marked in BOM. Assembly house populates everything, including debug jumpers and test-only components not needed in production.

2. Assembly Notes on Schematic Major

What It Is

Assembly notes are instructions placed directly on the schematic that communicate critical information to the assembly house: component orientation requirements, special handling procedures, soldering parameters, test procedures, and configuration-specific population. These notes supplement the BOM and assembly drawings by providing context that raw data cannot convey. They are particularly important for non-standard components, sensitive devices, and configuration options.

Assembly notes on the schematic ensure critical information travels WITH the design, not in separate documents that get lost.

Why It Matters

Without assembly notes: the assembly house guesses component orientation for non-standard packages, uses standard reflow profile for temperature-sensitive components, populates debug-only components in production builds, and handles moisture-sensitive parts without precaution. Each missing note is a potential assembly defect. At $3-$10 per rework touch, 100 boards with 3 defects each = $900-$3000 in rework costs plus schedule delay. Clear notes prevent these entirely.

How to Check - Step by Step

  1. Check for notes about component orientation for polarized devices: electrolytic caps, tantalum caps, diodes, LEDs (polarity marking method).
  2. Verify notes for special handling: MSL-sensitive components, ESD-sensitive bare die, components requiring baking before reflow.
  3. Check for soldering notes: hand-solder components, specific reflow profile requirements, no-clean vs. cleaned flux requirements.
  4. Verify configuration notes: which components are DNP (Do Not Place) for different product variants.
  5. Check for mechanical assembly notes: heatsink attachment, thermal compound application, connector mounting order.
  6. Verify test notes: functional test points, go/no-go criteria, programming requirements.

Assembly notes on power supply sheet:

ASSEMBLY NOTES - POWER SUPPLY SECTION:
1. D1 (Schottky diode): Cathode band orientation per PCB silkscreen marking.
2. C15 (47uF electrolytic): Positive terminal toward R12 (silkscreen + marking).
3. U2 (TPS62130 QFN): Exposed thermal pad MUST be soldered to ground pour.
   Use solder paste stencil aperture per manufacturer recommendation (60% coverage).
4. L1 (2.2uH power inductor): No component height restriction - 3mm max height OK.
5. R8/R9 (feedback divider): Use 1% tolerance ONLY. Do NOT substitute 5% parts.
6. Variant A (3.3V output): Populate all components as shown.
   Variant B (5.0V output): Substitute R8=20k, R9=10k. Change C10 to 22uF/10V.
7. MSL NOTE: U2 is MSL-3. Track floor life from moisture barrier bag opening.

No assembly notes: Schematic has no text notes. BOM lists components but provides no assembly guidance. Assembly house: (1) Orients D1 diode randomly (50% chance backwards). (2) Uses maximum reflow temperature profile (damages temperature-sensitive crystal). (3) Does not solder thermal pad on QFN (regulator overheats). (4) Populates debug-only 0-ohm resistors in production (changes board behavior). Total defect rate: 15% on first production run. All boards require inspection and selective rework.

KiCad: Use Place > Text for assembly notes. Place notes prominently on relevant schematic sheets. Include in PDF print output. Use text boxes for grouping related notes.

Altium: Use Text Frames for assembly notes. Include in schematic print output and smart PDF. Notes can be linked to specific components or regions.

OrCAD: Place text annotations on schematic pages. Include in print/PDF output. Use standardized note formatting for consistency across projects.

  • Notes in separate document: Assembly notes in a Word document that gets lost, not updated, or not sent to the assembly house. Notes ON the schematic are permanent and always travel with the design.
  • Too many notes: A schematic covered in notes becomes unreadable. Keep notes concise, group by section, and focus on non-obvious information (don't note standard orientation for standard components).
  • Contradictory notes: Schematic says "populate R5" but BOM says "DNP". Assembly house calls for clarification, causing 2-day delay. Notes and BOM must agree.

3. Variant/Option Management Major

What It Is

Variant management handles multiple product configurations from a single PCB design. Different variants may have: different component populations (DNP certain parts), different component values (different feedback resistors for different output voltages), different firmware loads, or different connector configurations. All variants must be clearly documented with a variant table showing exactly which components are placed for each configuration.

This is essential when a single PCB serves multiple products or regional configurations (voltage, frequency, features).

Why It Matters

Without clear variant documentation, the assembly house builds all boards identically (either all components populated, or random selection). Variant errors are discovered only during functional testing (if caught) or by the customer (expensive). A board built as "Variant A" but requiring "Variant B" configuration may need 10-20 component changes in rework - often more expensive than scrapping and rebuilding. Clear variant management eliminates this waste entirely and enables flexible manufacturing from common PCB stock.

How to Check - Step by Step

  1. Identify if the design has multiple variants (check project documentation, marketing requirements).
  2. Verify a variant table exists listing: variant name, description, and component differences from base configuration.
  3. Check that each variant-specific component is clearly marked on the schematic (e.g., "DNP for Variant B", "R8=20k for 5V option").
  4. Verify variant-specific BOM outputs can be generated (one BOM per variant, not a combined BOM that confuses assembly).
  5. Check that variant differences are physically marked on the PCB (silkscreen marking area for variant identification).
  6. Verify variant configurations have been tested/simulated (not just documented - the alternate values must actually produce correct operation).

Variant management table:

VARIANT TABLE - Smart Sensor Hub
+----------+------------------+---------+---------+---------+
| Ref Des  | Base (WiFi+BLE)  | Var A   | Var B   | Var C   |
|          |                  | (WiFi)  | (BLE)   | (LoRa)  |
+----------+------------------+---------+---------+---------+
| U5 (WiFi)| ESP32-WROOM-32E  | Populate| DNP     | DNP     |
| U6 (BLE) | nRF52832         | DNP     | Populate| DNP     |
| U7 (LoRa)| SX1276           | DNP     | DNP     | Populate|
| R20-R23  | WiFi matching    | Populate| DNP     | DNP     |
| R24-R27  | BLE matching     | DNP     | Populate| DNP     |
| R28-R31  | LoRa matching    | DNP     | DNP     | Populate|
| L2 (ant) | 2.4GHz matching  | Populate| Populate| DNP     |
| L3 (ant) | 868MHz matching  | DNP     | DNP     | Populate|
| J3 (ant) | U.FL (2.4GHz)    | Populate| Populate| DNP     |
| J4 (ant) | SMA (868MHz)     | DNP     | DNP     | Populate|
+----------+------------------+---------+---------+---------+

Each variant has separate BOM output file for manufacturing.
PCB has silkscreen area for variant label sticker.

Undocumented variants: Engineer knows that "to make the 5V version, change R3 to 33k and remove C7." This information exists only in the engineer's memory. When they are on vacation, production builds 500 units of the wrong variant. Discovery happens 2 weeks later during customer acceptance testing. 500 boards must be reworked (R3 replaced + C7 removed): cost = 500 * $15 rework + $2000 expedite shipping = $9,500 total. All preventable with a variant table.

KiCad: Use component fields (e.g., "Variant" field) to mark DNP status. KiCad 7+ supports variants in schematic. Generate variant-specific BOMs with scripting or plugins.

Altium: Native Variant Management: Project > Variants. Define base design and variant-specific changes. Generates separate BOM, assembly drawings, and pick-place per variant automatically.

OrCAD: Use variant manager in CIS. Define configurations with different component populations. Generate variant-specific outputs for manufacturing.

  • Footprint incompatibility: Variant B requires a component in a different package size than Variant A - but there's only one footprint on the PCB. Must design footprint to accommodate all variant component packages.
  • Testing all variants: Only testing the "base" variant and assuming others work. Each variant must be prototyped and tested independently.
  • Production mix-ups: Without clear labeling on the board itself (not just paperwork), variant A and B boards look identical after assembly. Silkscreen variant marking area is essential.

4. Revision History Updated Minor

What It Is

Revision history is a formal log of all changes made to the schematic across design iterations. It records: revision letter/number, date, author, description of changes, reason for change (ECO reference), and affected components/sheets. The current revision in the title block must match the latest entry in the revision history. This provides full traceability of the design evolution from initial concept through production.

In regulated industries (medical, automotive, aerospace), revision history is a legal requirement and audit item.

Why It Matters

Without revision history: nobody knows what changed between Rev B and Rev C, making it impossible to determine if a specific board revision includes a critical fix. When a field failure occurs, engineers cannot determine which revision introduced the problem or which units are affected (was the fix in Rev C or Rev D?). For regulated products, missing revision history means the design documentation is uncontrolled - this fails regulatory audits (ISO 13485, IATF 16949, AS9100) and can result in product recall.

How to Check - Step by Step

  1. Locate the revision history (usually on the first schematic sheet, near the title block, or on a dedicated revision history sheet).
  2. Verify the current revision letter/number in the title block matches the latest revision history entry.
  3. Check that all changes from the previous revision are documented (component value changes, added/removed components, circuit modifications).
  4. Verify each revision entry includes: date, author, change description, reason/ECO number.
  5. Check that affected reference designators or nets are listed (enables targeted board inspection).
  6. Verify the revision history is complete (no gaps: Rev A -> Rev C with no Rev B explanation).

Complete revision history:

REVISION HISTORY - Smart Sensor Hub (PCB-2024-001)
+-----+------------+----------+-----------------------------------------------+
| Rev | Date       | Author   | Description                                   |
+-----+------------+----------+-----------------------------------------------+
| A   | 2024-01-15 | J.Smith  | Initial release for prototype                 |
| B   | 2024-03-02 | J.Smith  | ECO-2024-012: Fix USB enumeration failure     |
|     |            |          | - Changed R5 from 1.5k to 22R (USB DP pull-up)|
|     |            |          | - Added C18 100nF to VBUS for stability       |
|     |            |          | - Corrected U1 pin 45 connection (was floating)|
| C   | 2024-04-18 | M.Lee    | ECO-2024-019: Production optimization         |
|     |            |          | - Changed C1-C12 from 0402 to 0603 (assembly) |
|     |            |          | - Added TP5-TP8 test points for production    |
|     |            |          | - Updated J2 connector to new supplier MPN    |
+-----+------------+----------+-----------------------------------------------+
Current revision: C (matches title block on all sheets)

No revision history: Title block shows "Rev D" but there is no revision history document anywhere. Nobody knows what Rev A, B, C, or D changed. A field failure is traced to a specific component - but which board revision has the fix? Production is building Rev D, but the fix might have been in Rev C (requiring recall of Rev A/B only) or might be unfixed (all revisions affected). Without history, engineering must manually compare netlists of all revisions - taking days instead of minutes.

KiCad: Add revision history as text frame on sheet 1. Update revision field in File > Page Settings. Use git commits for detailed change tracking alongside schematic revision marks.

Altium: Use built-in revision management (Altium 365/Vault). Document changes in schematic text frame. Project history tracks all modifications automatically.

OrCAD: Add revision history table on first schematic page. Update Design Properties for revision tracking. Use ECO (Engineering Change Order) process for formal change management.

  • Version control is not revision history: Git history shows file-level changes but is not a design revision history. Schematic revision history is a formal document that summarizes design intent changes, not just file modifications.
  • Revision letter mismatch: Title block says "Rev C" but revision history only goes to "Rev B." Latest changes are undocumented. This happens when engineers change the title block revision but forget to add the history entry.
  • Insufficient detail: "Rev B: various fixes" tells nobody anything useful. Must list specific component changes with reference designators.

5. Design Notes for Unusual Circuits Major

What It Is

Design notes explain the "why" behind non-obvious circuit choices directly on the schematic. They document: design equations (feedback divider ratios, filter cutoff calculations), component selection rationale (why this specific part and not the obvious alternative), operating constraints (maximum duty cycle, minimum load for stability), and any circuit behavior that would not be obvious to another engineer reviewing the design. These notes preserve design knowledge that would otherwise be lost when the original designer moves to another project.

If a competent engineer would ask "why is this done this way?" - there should be a note explaining it.

Why It Matters

Without design notes, the next engineer who touches the design (or the original engineer 6 months later) will not understand the design rationale. They may "optimize" a component value that was carefully chosen for stability, remove a "unnecessary" resistor that was actually critical for oscillator startup, or change a capacitor to a cheaper type that doesn't meet the ESR requirement. Design notes prevent these well-intentioned "improvements" that break the design. They also dramatically speed up debugging by explaining expected behavior.

How to Check - Step by Step

  1. Identify circuits that require explanation: feedback networks, filters, timing circuits, protection circuits with specific trip points, stability compensation networks.
  2. Verify design equations are shown for calculated component values: Vout = Vref * (1 + R1/R2), f_c = 1/(2*pi*R*C), etc.
  3. Check that component selection rationale is documented for non-obvious choices (why this specific TVS, why NP0 instead of X7R, why 1% instead of 5%).
  4. Verify operating constraints are noted: "Minimum load: 10mA for stability", "Do not exceed 80% duty cycle", "Must have > 2mm trace spacing for safety".
  5. Check for cross-references to datasheets, application notes, and standards that drove specific design decisions.
  6. Verify notes for known limitations: "This circuit does not support hot-plug", "Maximum cable length: 2m", "Requires firmware initialization before use".

Well-annotated voltage regulator circuit:

Notes on schematic near TPS62130 circuit:

"OUTPUT VOLTAGE SETTING:
Vout = Vref * (1 + R_top/R_bot) = 0.8V * (1 + 31.6k/10k) = 3.328V
Tolerance analysis: With 1% resistors, worst case: 3.278V to 3.379V
                    STM32 requirement: 3.0V to 3.6V. PASS.

COMPENSATION: Internal Type-III. Stable with ESR < 50mOhm on output cap.
Selected caps: 2x 22uF X5R (ESR ~3mOhm). See TPS62130 datasheet Figure 23.

SOFT-START: Internal 1ms. Inrush current limited by soft-start.
External SS cap: none required (internal sufficient for this load).

MINIMUM LOAD: 0mA (pulse-skipping mode below 10mA - acceptable for this design).
EMI NOTE: At light load, switches to PFM mode. Switching frequency varies 100kHz-2MHz.
If EMI-sensitive, keep load > 10mA to force PWM mode (continuous switching).

EFFICIENCY: 92% at 500mA, 88% at 100mA, 78% at 10mA (PFM mode)."

No design notes: Complex compensation network on a switching regulator: R_comp = 4.7k, C_comp = 2.2nF, C_high = 47pF. No explanation of why these values were chosen. New engineer "cleans up" the design - removes C_high (thinks it's a leftover from prototype rework). Regulator now has insufficient phase margin at high output current. Board oscillates at 500kHz with 200mV ripple when load exceeds 1.5A. Takes 2 weeks of debugging to discover the missing 47pF capacitor was a critical stability component.

KiCad: Use Place > Text for design notes. Place near the relevant circuit elements. Use different text size to distinguish notes from component labels.

Altium: Use Text Frames and annotations. Can link to external documents. Notes survive schematic edits without being accidentally moved.

OrCAD: Use schematic text annotations. Group notes with borders for visual organization. Include in PDF output for review distribution.

  • Overly verbose: Three paragraphs explaining a standard decoupling cap wastes space and dilutes important information. Focus notes on non-obvious design decisions only.
  • External documents only: "See design note DN-2024-003 for explanation" - if that document is lost or not accessible during a production issue at 2 AM, the information is useless. Put critical info directly on the schematic.
  • Stale notes: Component values were changed but the calculation note still shows old values. Stale notes are worse than no notes - they actively mislead. Update notes whenever the circuit changes.

6. Test Point Identification Major

What It Is

Test points are dedicated pads or loops on the PCB that provide access for probing, measurement, and automated testing. They must be identified on the schematic with clear designation (TP1, TP2, etc.), labeled with the signal they provide access to, and designed for the testing method (scope probe, bed-of-nails fixture, pogo pin, flying probe). Critical signals that need test points include: all power rails, clock signals, communication buses, reset, and any signal that cannot be accessed at a component pin.

Test points are not afterthoughts - they are design requirements that must be planned from the schematic stage.

Why It Matters

Without test points: production testing requires probing tiny IC pins (risk of damage, slow, unreliable contact), debugging requires soldering wires to 0402 pads (time-consuming, can damage board), and automated in-circuit testing is impossible (no fixture access points). A board without test points costs 10x more to debug during development and cannot be efficiently tested in production. Test points cost essentially nothing (empty pad) but save hours of engineering time and enable high-volume automated testing.

How to Check - Step by Step

  1. Verify test points exist for all power rails (minimum: one TP per regulated voltage, plus input power, plus key ground point).
  2. Check for test points on critical signals: system clock, UART TX/RX (for debug console), I2C bus, SPI bus, reset line.
  3. Verify test points are on the schematic with proper designators (TP1-TPn) and included in the BOM.
  4. Check that test point signals are labeled clearly (TP_VCC_3V3, TP_UART_TX, TP_nRESET) not just numbered.
  5. Verify test point pad size is appropriate: 1mm diameter minimum for probe contact, 1.5mm for pogo pins, 2mm+ for bed-of-nails.
  6. Check that test points are accessible in the final assembled product (not under shields, heatsinks, or stacked boards).
  7. For ICT (In-Circuit Test): verify test point grid allows fixture design (minimum 2.54mm spacing between adjacent test points).

Complete test point allocation:

POWER TEST POINTS:
  TP1: VIN (input voltage, before protection)
  TP2: VCC_5V (after input regulator)
  TP3: VCC_3V3 (main digital rail)
  TP4: VCC_1V8 (MCU core)
  TP5: GND (star ground reference point)

SIGNAL TEST POINTS:
  TP6: HSE_CLK (8MHz crystal output for frequency verification)
  TP7: UART1_TX (debug console output)
  TP8: UART1_RX (debug console input)
  TP9: nSYS_RESET (verify reset timing with scope)
  TP10: SPI1_SCK (verify clock quality and frequency)

PRODUCTION TEST POINTS:
  TP11-TP14: ADC calibration points (known voltage divider outputs)
  TP15: PGOOD signal (power sequencing verification)
  TP16: MCU GPIO_TEST_MODE (pull high to enter factory test mode)

All test points: 1.5mm pad diameter, top side accessible, 2.54mm grid aligned.
Included in BOM: Keystone 5000 (SMD test point, gold-plated).

No test points: Board has no dedicated test points. All signals accessible only at IC pins (0.5mm pitch QFP) or 0402 component pads. During prototype bring-up, engineer spends 30 minutes per measurement point soldering a wire to probe. Accidentally bridges two pins while soldering to UART for debug output - shorts VCC to GPIO, damages MCU. In production, ICT fixture cannot be built (no probe points). Alternative: flying probe testing takes 3 minutes per board instead of 5 seconds with fixture. Production cost increases $2/board for 10,000 boards = $20,000 over the product lifetime.

KiCad: Use "TestPoint" library symbol. Assign TP reference designators. Include in PCB with dedicated footprint (single pad). Verify in 3D that they don't conflict with enclosure.

Altium: Use Test Point Manager for automated testpoint assignment. Verify ICT grid alignment with DRC rules. Generate test point report for fixture design.

OrCAD: Place test point symbols from library. Assign properties indicating purpose and access requirements. Generate test point report for production test engineering.

  • Test points only on bottom: If the production test fixture accesses from the bottom but all debug test points are also on the bottom, you cannot probe during bring-up (board must be flipped). Put development TPs on top, ICT TPs on bottom.
  • Under shields or connectors: Test points placed under an RF shield or behind a tall connector are inaccessible. Verify physical accessibility in the 3D model.
  • Missing ground test point: Voltage measurements are meaningless without a ground reference. Always include a dedicated ground test point near your signal test points for scope probe ground clip.