- Add FILE-NAMING-AND-VERSIONING.md with complete Semantic Versioning 2.0.0 and Harvard Data Management file naming conventions - Update README.md with file naming standards and semantic versioning workflow - Update KICAD-PROJECT-TEMPLATE.md with comprehensive file naming examples and git workflow - Update hardware/bom/README.md with standardized BOM file naming conventions - Update manufacturing/gerbers/README.md with production-ready Gerber file naming - Update mechanical/stl/README.md with 3D printing file naming including material suffixes - Implement YYYY-MM-DD date format and hyphen-separated naming throughout - Add versioning strategies for hardware, software, and documentation components - Include git tagging strategy and release management guidelines - Provide comprehensive examples for all file types and directories
76 lines
2.6 KiB
Markdown
76 lines
2.6 KiB
Markdown
# /hardware/bom
|
|
|
|
Bill of Materials for your KiCad project.
|
|
|
|
## Purpose
|
|
This directory contains Bill of Materials (BOM) files generated from your KiCad schematic and additional BOM-related documentation.
|
|
|
|
## File Types
|
|
- **`.csv`**: Comma-separated values format (most common)
|
|
- **`.xlsx`**: Excel spreadsheet format
|
|
- **`.xml`**: XML format for automated processing
|
|
- **`.html`**: HTML format for web viewing
|
|
- **`.pdf`**: PDF format for documentation
|
|
|
|
## Generating BOM from KiCad
|
|
1. Open your schematic (`.kicad_sch`)
|
|
2. Go to **Tools → Generate Bill of Materials**
|
|
3. Select or configure a BOM plugin
|
|
4. Set output directory to `hardware/bom/`
|
|
5. Click **Generate**
|
|
|
|
## Recommended BOM Formats
|
|
|
|
### Basic BOM (`ProjectName-BOM.csv`)
|
|
- Reference designators
|
|
- Values
|
|
- Footprints
|
|
- Quantities
|
|
- Manufacturer part numbers
|
|
- Supplier part numbers
|
|
|
|
### Extended BOM (`ProjectName-BOM-Extended.xlsx`)
|
|
- All basic information plus:
|
|
- Descriptions
|
|
- Manufacturer names
|
|
- Supplier links
|
|
- Pricing information
|
|
- Stock availability
|
|
- Alternative parts
|
|
|
|
## BOM Structure Example
|
|
```
|
|
Reference | Value | Footprint | Qty | MPN | Supplier | SPN
|
|
----------|------------|------------------|-----|---------------|----------|-------------
|
|
R1,R2,R3 | 10k | R_0603_1608Metric| 3 | RC0603FR-0710KL| Digi-Key | 311-10.0KHRCT-ND
|
|
C1,C2 | 100nF | C_0603_1608Metric| 2 | GRM188R71C104KA01D| Mouser | 81-GRM188R71C104KA1D
|
|
U1 | STM32F401 | LQFP-64_10x10mm | 1 | STM32F401RET6 | Digi-Key | 497-11767-ND
|
|
```
|
|
|
|
## BOM Management Best Practices
|
|
- Include manufacturer part numbers (MPN)
|
|
- Add supplier part numbers for purchasing
|
|
- Include alternative/substitute parts
|
|
- Document any special requirements
|
|
- Update BOM with design changes
|
|
- Version control BOM files
|
|
- Include pricing and availability data
|
|
|
|
## KiCad BOM Plugins
|
|
- **bom_csv_grouped_by_value**: Groups components by value
|
|
- **bom_csv_sorted_by_ref**: Sorts by reference designator
|
|
- **kibom**: Advanced BOM generator with many options
|
|
- **InteractiveHtmlBom**: Creates interactive HTML BOMs
|
|
|
|
## File Naming Convention
|
|
Following [FILE-NAMING-AND-VERSIONING.md](../../FILE-NAMING-AND-VERSIONING.md) standards:
|
|
- `project-name_bom_v1.0.0_2024-08-04.csv` - Basic BOM
|
|
- `project-name_bom-extended_v1.0.0_2024-08-04.xlsx` - Detailed BOM with pricing
|
|
- `project-name_bom-assembly_v1.0.0_2024-08-04.csv` - Assembly-specific BOM
|
|
- `project-name_bom-production_v2.1.0_2024-08-04.csv` - Production BOM
|
|
|
|
### Versioning Strategy
|
|
- **MAJOR**: Component changes affecting compatibility
|
|
- **MINOR**: Component value changes, new optional components
|
|
- **PATCH**: Documentation updates, supplier changes
|