# /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 and Fields ### Required Fields - **Designator**: Component reference (R1, C1, U1, etc.) - **Qty**: Quantity required - **Manufacturer Part Number**: Official MPN from manufacturer - **Manufacturer**: Component manufacturer name - **Package**: Physical package/footprint - **Description**: Detailed component description - **RoHS**: RoHS compliance status (Yes/No) ### Additional Recommended Fields - **Value**: Component value (10K, 100nF, etc.) - **Tolerance**: Component tolerance (1%, 5%, etc.) - **Voltage Rating**: Maximum voltage rating - **Power Rating**: Power dissipation rating - **Temperature Range**: Operating temperature range - **Unit Price**: Cost per unit in USD - **Extended Price**: Total cost (Qty × Unit Price) - **Datasheet URL**: Link to manufacturer datasheet - **Notes**: Assembly notes and component purpose ### Supplier Part Numbers - **Digi-Key Part Number**: Digi-Key supplier part number - **Mouser Part Number**: Mouser Electronics part number - **LCSC Part Number**: LCSC (JLCPCB) part number for PCB assembly ### Example BOM Structure See `example-project_bom_v1.0.0_2024-08-04.csv` for a complete example BOM with all recommended fields including: - STM32F401 microcontroller-based design - Power regulation circuit - USB and power connectors - Status LEDs and user interface - Test points for debugging - Multiple supplier part numbers for sourcing flexibility ## 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