Refine repository structure for KiCad 9 optimization
- Add dedicated /kicad/ directory with organized subdirectories for libraries, schematics, gerbers, plots, and backups - Create comprehensive KiCad 9 library structure (symbols, footprints, 3D models) - Add manufacturing-ready directories for production files (gerbers, drill, pick-and-place) - Update all README files with KiCad-specific documentation and workflows - Add KiCad-optimized .gitignore file for proper version control - Create KICAD-PROJECT-TEMPLATE.md comprehensive usage guide - Add hardware assembly documentation and BOM management - Include detailed manufacturing file generation instructions - Add docs structure with design-notes and user-manual directories - Provide complete workflow from design to manufacturing with quality checklists
This commit is contained in:
18
kicad/README.md
Normal file
18
kicad/README.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# /kicad
|
||||
|
||||
KiCad-specific files and directories for your KiCad 9 project.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
- `libraries/` - Custom KiCad libraries (symbols, footprints, 3D models)
|
||||
- `schematics/` - Additional/hierarchical schematic files
|
||||
- `gerbers/` - Generated Gerber files for review
|
||||
- `plots/` - PDF plots and prints of schematics/PCBs
|
||||
- `backups/` - KiCad automatic backups (excluded from git)
|
||||
|
||||
## Usage Notes
|
||||
|
||||
- Your main project files (`.kicad_pro`, `.kicad_sch`, `.kicad_pcb`) should be in the root directory
|
||||
- Use relative paths when referencing custom libraries
|
||||
- The `backups/` folder is automatically managed by KiCad and excluded from version control
|
||||
- Generated files in `gerbers/` and `plots/` are for review - final production files go in `/manufacturing/`
|
||||
64
kicad/gerbers/README.md
Normal file
64
kicad/gerbers/README.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# /kicad/gerbers
|
||||
|
||||
Generated Gerber files for design review and verification.
|
||||
|
||||
## Purpose
|
||||
This directory contains Gerber files generated during the design process for:
|
||||
- Design review and verification
|
||||
- Quick prototyping
|
||||
- Sharing with colleagues for feedback
|
||||
- Design iteration tracking
|
||||
|
||||
**Note**: Final production Gerbers should be placed in `/manufacturing/gerbers/`
|
||||
|
||||
## File Types
|
||||
- **`.gbr`**: Gerber files for copper layers
|
||||
- **`.gbrjob`**: Gerber job file (KiCad 6+)
|
||||
- **`.drl`**: Excellon drill files
|
||||
- **`.pdf`**: PDF plots for review
|
||||
|
||||
## Generating Gerbers in KiCad
|
||||
1. Open your PCB file (`.kicad_pcb`)
|
||||
2. Go to **File → Fabrication Outputs → Gerbers**
|
||||
3. Select output directory: `kicad/gerbers/`
|
||||
4. Configure layers and options
|
||||
5. Click **Plot**
|
||||
6. Generate drill files: **File → Fabrication Outputs → Drill Files**
|
||||
|
||||
## Typical Layer Files
|
||||
```
|
||||
gerbers/
|
||||
├── ProjectName-F_Cu.gbr # Front copper
|
||||
├── ProjectName-B_Cu.gbr # Back copper
|
||||
├── ProjectName-F_SilkS.gbr # Front silkscreen
|
||||
├── ProjectName-B_SilkS.gbr # Back silkscreen
|
||||
├── ProjectName-F_Mask.gbr # Front solder mask
|
||||
├── ProjectName-B_Mask.gbr # Back solder mask
|
||||
├── ProjectName-F_Paste.gbr # Front solder paste
|
||||
├── ProjectName-B_Paste.gbr # Back solder paste
|
||||
├── ProjectName-Edge_Cuts.gbr # Board outline
|
||||
├── ProjectName.drl # Drill file
|
||||
├── ProjectName-NPTH.drl # Non-plated holes
|
||||
└── ProjectName-job.gbrjob # Job file
|
||||
```
|
||||
|
||||
## Review Checklist
|
||||
- [ ] All layers present and correct
|
||||
- [ ] Board outline properly defined
|
||||
- [ ] Drill files include all holes
|
||||
- [ ] Silkscreen readable and not overlapping pads
|
||||
- [ ] Solder mask openings correct
|
||||
- [ ] Component references visible
|
||||
- [ ] No missing copper or shorts
|
||||
|
||||
## Gerber Viewers
|
||||
- **KiCad Gerber Viewer**: Built into KiCad
|
||||
- **gerbv**: Open source Gerber viewer
|
||||
- **Online viewers**: PCBWay, JLCPCB gerber viewers
|
||||
- **Manufacturer tools**: Most PCB fabs provide online viewers
|
||||
|
||||
## Version Control
|
||||
- Include gerbers in git for design history
|
||||
- Tag important milestones
|
||||
- Use descriptive commit messages
|
||||
- Consider file size when committing frequently
|
||||
61
kicad/libraries/3dmodels/README.md
Normal file
61
kicad/libraries/3dmodels/README.md
Normal file
@@ -0,0 +1,61 @@
|
||||
# /kicad/libraries/3dmodels
|
||||
|
||||
Custom 3D models for your KiCad project footprints.
|
||||
|
||||
## File Formats
|
||||
- **STEP files (`.step`)**: Preferred for mechanical accuracy and CAD integration
|
||||
- **VRML files (`.wrl`)**: Legacy format, still supported by KiCad 3D viewer
|
||||
- **WRL files (`.wrl`)**: Alternative VRML extension
|
||||
|
||||
## Naming Convention
|
||||
- Use descriptive names matching your footprints
|
||||
- Examples:
|
||||
- `USB-C_Receptacle.step`
|
||||
- `STM32F4_LQFP64.step`
|
||||
- `Header_2x10_2.54mm.wrl`
|
||||
|
||||
## Model Guidelines
|
||||
- **Scale**: Ensure models are in millimeters (KiCad's native unit)
|
||||
- **Origin**: Position the model origin to match the footprint's origin
|
||||
- **Orientation**: Align the model with the footprint's orientation
|
||||
- **Detail Level**: Balance detail with file size for performance
|
||||
|
||||
## File Organization
|
||||
```
|
||||
3dmodels/
|
||||
├── connectors/
|
||||
│ ├── USB-C_Receptacle.step
|
||||
│ ├── Header_2x10_2.54mm.step
|
||||
│ └── Terminal_Block_3pin.step
|
||||
├── mcu/
|
||||
│ ├── STM32F4_LQFP64.step
|
||||
│ └── ESP32_Module.step
|
||||
├── sensors/
|
||||
│ ├── BME280_LGA8.step
|
||||
│ └── MPU6050_QFN24.step
|
||||
└── passive/
|
||||
├── Resistor_0603.step
|
||||
├── Capacitor_0805.step
|
||||
└── LED_0603.step
|
||||
```
|
||||
|
||||
## Associating Models with Footprints
|
||||
1. Open footprint in KiCad Footprint Editor
|
||||
2. Go to **Footprint Properties**
|
||||
3. Click **3D Settings** tab
|
||||
4. Add 3D model path (use relative paths)
|
||||
5. Adjust offset, rotation, and scale if needed
|
||||
|
||||
## Model Sources
|
||||
- **Manufacturer websites**: Often provide STEP models
|
||||
- **Component distributors**: Digi-Key, Mouser, etc.
|
||||
- **3D model libraries**: GrabCAD, 3D ContentCentral
|
||||
- **KiCad official libraries**: For standard components
|
||||
- **Custom modeling**: Create your own in CAD software
|
||||
|
||||
## Best Practices
|
||||
- Use relative paths: `${KIPRJMOD}/kicad/libraries/3dmodels/`
|
||||
- Keep file sizes reasonable (< 1MB per model when possible)
|
||||
- Test models in KiCad 3D viewer before finalizing
|
||||
- Document model sources and modifications
|
||||
- Version control important custom models
|
||||
41
kicad/libraries/README.md
Normal file
41
kicad/libraries/README.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# /kicad/libraries
|
||||
|
||||
Custom KiCad libraries for your project.
|
||||
|
||||
## Directory Structure
|
||||
|
||||
- `symbols/` - Custom schematic symbols (`.kicad_sym` files)
|
||||
- `footprints/` - Custom footprints (`.pretty` directories)
|
||||
- `3dmodels/` - Custom 3D models (`.step`, `.wrl` files)
|
||||
|
||||
## Usage Guidelines
|
||||
|
||||
### Symbols (`symbols/`)
|
||||
- Store custom schematic symbols as `.kicad_sym` files
|
||||
- Use descriptive names (e.g., `MyProject_MCU.kicad_sym`)
|
||||
- Include symbol properties and documentation
|
||||
|
||||
### Footprints (`footprints/`)
|
||||
- Each footprint library is a `.pretty` directory
|
||||
- Store related footprints together (e.g., `MyProject_Connectors.pretty/`)
|
||||
- Include courtyard and fabrication layers
|
||||
|
||||
### 3D Models (`3dmodels/`)
|
||||
- Store STEP files (`.step`) for mechanical accuracy
|
||||
- Store VRML files (`.wrl`) for KiCad 3D viewer compatibility
|
||||
- Use consistent naming with footprints
|
||||
|
||||
## Library Configuration
|
||||
|
||||
1. In KiCad, go to **Preferences → Manage Symbol Libraries**
|
||||
2. Add your custom symbol libraries from `symbols/`
|
||||
3. Go to **Preferences → Manage Footprint Libraries**
|
||||
4. Add your custom footprint libraries from `footprints/`
|
||||
5. Configure 3D model paths to point to `3dmodels/`
|
||||
|
||||
## Best Practices
|
||||
|
||||
- Use relative paths in your project settings
|
||||
- Document custom components in `/hardware/datasheets/`
|
||||
- Version control all custom libraries
|
||||
- Follow KiCad naming conventions
|
||||
54
kicad/libraries/footprints/README.md
Normal file
54
kicad/libraries/footprints/README.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# /kicad/libraries/footprints
|
||||
|
||||
Custom footprints for your KiCad project.
|
||||
|
||||
## File Format
|
||||
- Footprints are stored in `.pretty` directories
|
||||
- Each `.pretty` directory is a footprint library
|
||||
- Individual footprints are `.kicad_mod` files within the `.pretty` directory
|
||||
|
||||
## Naming Convention
|
||||
- Library directories: `ProjectName_ComponentType.pretty`
|
||||
- Footprint files: `ComponentName.kicad_mod`
|
||||
- Examples:
|
||||
- `MyProject_Connectors.pretty/`
|
||||
- `USB-C_Receptacle.kicad_mod`
|
||||
- `Header_2x10_2.54mm.kicad_mod`
|
||||
- `MyProject_MCU.pretty/`
|
||||
- `STM32F4_LQFP64.kicad_mod`
|
||||
|
||||
## Footprint Creation Guidelines
|
||||
- Include proper pad sizes and drill holes
|
||||
- Add courtyard layer (F.CrtYd/B.CrtYd) with 0.25mm clearance minimum
|
||||
- Include fabrication layer (F.Fab/B.Fab) with component outline
|
||||
- Add silkscreen layer (F.SilkS/B.SilkS) for component identification
|
||||
- Set reference designator and value positions
|
||||
- Include 3D model associations when available
|
||||
|
||||
## Layer Guidelines
|
||||
- **F.Cu/B.Cu**: Copper pads and traces
|
||||
- **F.SilkS/B.SilkS**: Silkscreen printing
|
||||
- **F.Fab/B.Fab**: Fabrication layer (component outline)
|
||||
- **F.CrtYd/B.CrtYd**: Courtyard (component keepout area)
|
||||
- **F.Mask/B.Mask**: Solder mask openings
|
||||
|
||||
## Adding to Project
|
||||
1. Open KiCad Project Manager
|
||||
2. Go to **Preferences → Manage Footprint Libraries**
|
||||
3. Click **Add** and browse to this directory
|
||||
4. Select your `.pretty` directory
|
||||
5. Set library nickname and path (use relative paths)
|
||||
|
||||
## Example Library Structure
|
||||
```
|
||||
footprints/
|
||||
├── MyProject_Connectors.pretty/
|
||||
│ ├── USB-C_Receptacle.kicad_mod
|
||||
│ ├── Header_2x10_2.54mm.kicad_mod
|
||||
│ └── Terminal_Block_3pin.kicad_mod
|
||||
├── MyProject_MCU.pretty/
|
||||
│ ├── STM32F4_LQFP64.kicad_mod
|
||||
│ └── ESP32_Module.kicad_mod
|
||||
└── MyProject_Sensors.pretty/
|
||||
├── BME280_LGA8.kicad_mod
|
||||
└── MPU6050_QFN24.kicad_mod
|
||||
36
kicad/libraries/symbols/README.md
Normal file
36
kicad/libraries/symbols/README.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# /kicad/libraries/symbols
|
||||
|
||||
Custom schematic symbols for your KiCad project.
|
||||
|
||||
## File Format
|
||||
- Store symbols as `.kicad_sym` files
|
||||
- Each file can contain multiple related symbols
|
||||
|
||||
## Naming Convention
|
||||
- Use descriptive names: `ProjectName_ComponentType.kicad_sym`
|
||||
- Examples:
|
||||
- `MyProject_MCU.kicad_sym`
|
||||
- `MyProject_Connectors.kicad_sym`
|
||||
- `MyProject_PowerManagement.kicad_sym`
|
||||
|
||||
## Symbol Creation Guidelines
|
||||
- Include all necessary pins with proper electrical types
|
||||
- Add symbol properties (Reference, Value, Footprint, Datasheet)
|
||||
- Use standard KiCad symbol conventions
|
||||
- Include documentation strings
|
||||
- Set appropriate pin numbers and names
|
||||
|
||||
## Adding to Project
|
||||
1. Open KiCad Project Manager
|
||||
2. Go to **Preferences → Manage Symbol Libraries**
|
||||
3. Click **Add** and browse to this directory
|
||||
4. Select your `.kicad_sym` file
|
||||
5. Set library nickname and path (use relative paths)
|
||||
|
||||
## Example Library Structure
|
||||
```
|
||||
symbols/
|
||||
├── MyProject_MCU.kicad_sym # Microcontrollers
|
||||
├── MyProject_Connectors.kicad_sym # Custom connectors
|
||||
├── MyProject_Sensors.kicad_sym # Sensor symbols
|
||||
└── MyProject_Power.kicad_sym # Power management ICs
|
||||
89
kicad/plots/README.md
Normal file
89
kicad/plots/README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# /kicad/plots
|
||||
|
||||
PDF plots and prints of schematics and PCB layouts.
|
||||
|
||||
## Purpose
|
||||
This directory contains PDF plots generated from KiCad for:
|
||||
- Design documentation
|
||||
- Design reviews and approvals
|
||||
- Printing for manual assembly
|
||||
- Sharing with non-KiCad users
|
||||
- Archive documentation
|
||||
|
||||
## File Types
|
||||
- **`.pdf`**: PDF plots of schematics and PCB layers
|
||||
- **`.svg`**: Vector graphics (optional alternative format)
|
||||
- **`.ps`**: PostScript files (legacy format)
|
||||
|
||||
## Generating Plots in KiCad
|
||||
|
||||
### Schematic Plots
|
||||
1. Open your schematic (`.kicad_sch`)
|
||||
2. Go to **File → Plot**
|
||||
3. Select output directory: `kicad/plots/`
|
||||
4. Choose format (PDF recommended)
|
||||
5. Configure options and click **Plot**
|
||||
|
||||
### PCB Plots
|
||||
1. Open your PCB (`.kicad_pcb`)
|
||||
2. Go to **File → Plot**
|
||||
3. Select output directory: `kicad/plots/`
|
||||
4. Choose layers to plot
|
||||
5. Select format (PDF recommended)
|
||||
6. Click **Plot**
|
||||
|
||||
## Recommended Plot Files
|
||||
```
|
||||
plots/
|
||||
├── schematic/
|
||||
│ ├── ProjectName-Schematic.pdf # Complete schematic
|
||||
│ ├── ProjectName-PowerSupply.pdf # Power supply sheet
|
||||
│ └── ProjectName-MCU.pdf # MCU sheet
|
||||
├── pcb/
|
||||
│ ├── ProjectName-Assembly-Top.pdf # Top assembly drawing
|
||||
│ ├── ProjectName-Assembly-Bottom.pdf # Bottom assembly drawing
|
||||
│ ├── ProjectName-Copper-F.pdf # Front copper layer
|
||||
│ ├── ProjectName-Copper-B.pdf # Back copper layer
|
||||
│ ├── ProjectName-Silkscreen-F.pdf # Front silkscreen
|
||||
│ └── ProjectName-Silkscreen-B.pdf # Back silkscreen
|
||||
└── combined/
|
||||
├── ProjectName-Complete.pdf # All sheets in one file
|
||||
└── ProjectName-Assembly.pdf # Assembly drawings only
|
||||
```
|
||||
|
||||
## Plot Settings Recommendations
|
||||
|
||||
### Schematic Plots
|
||||
- **Format**: PDF
|
||||
- **Page Size**: A4 or Letter
|
||||
- **Plot Mode**: Color or Black and White
|
||||
- **Plot Frame**: Include for documentation
|
||||
- **Plot All Pages**: For multi-sheet designs
|
||||
|
||||
### PCB Plots
|
||||
- **Format**: PDF
|
||||
- **Layers**: Select relevant layers
|
||||
- **Plot Mode**: Color recommended
|
||||
- **Drill Marks**: Include for assembly
|
||||
- **Plot Frame**: Include reference information
|
||||
- **Scale**: 1:1 for assembly drawings
|
||||
|
||||
## Usage Guidelines
|
||||
- Generate plots at major design milestones
|
||||
- Include version information in plot titles
|
||||
- Use consistent naming conventions
|
||||
- Create combined PDFs for easy sharing
|
||||
- Include assembly drawings for manufacturing
|
||||
|
||||
## Print Settings for Assembly
|
||||
- **Scale**: 1:1 (actual size)
|
||||
- **Paper**: A4 or larger
|
||||
- **Quality**: High resolution
|
||||
- **Color**: Recommended for clarity
|
||||
- **Margins**: Minimal for maximum size
|
||||
|
||||
## Version Control
|
||||
- Commit plots with design changes
|
||||
- Tag releases with complete plot sets
|
||||
- Use descriptive commit messages
|
||||
- Consider file sizes for frequent commits
|
||||
45
kicad/schematics/README.md
Normal file
45
kicad/schematics/README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# /kicad/schematics
|
||||
|
||||
Additional and hierarchical schematic files for your KiCad project.
|
||||
|
||||
## Purpose
|
||||
This directory contains supplementary schematic files that are not the main project schematic:
|
||||
- Hierarchical sheets (`.kicad_sch` files)
|
||||
- Alternative design versions
|
||||
- Modular circuit blocks
|
||||
- Test circuits
|
||||
|
||||
## File Types
|
||||
- **`.kicad_sch`**: KiCad 9 schematic files
|
||||
- **`.kicad_sch-bak`**: Automatic backup files (excluded from git)
|
||||
|
||||
## Hierarchical Design
|
||||
When using hierarchical sheets in KiCad:
|
||||
1. Create hierarchical sheet symbols in your main schematic
|
||||
2. Store the actual sheet files in this directory
|
||||
3. Use relative paths when linking sheets
|
||||
|
||||
## Naming Convention
|
||||
- Use descriptive names for hierarchical sheets
|
||||
- Examples:
|
||||
- `power_supply.kicad_sch`
|
||||
- `mcu_core.kicad_sch`
|
||||
- `sensor_interface.kicad_sch`
|
||||
- `communication.kicad_sch`
|
||||
|
||||
## Example Structure
|
||||
```
|
||||
schematics/
|
||||
├── power_supply.kicad_sch # Power management circuit
|
||||
├── mcu_core.kicad_sch # Microcontroller and core components
|
||||
├── sensor_interface.kicad_sch # Sensor connections and conditioning
|
||||
├── communication.kicad_sch # Communication interfaces (UART, SPI, I2C)
|
||||
└── test_circuits.kicad_sch # Test points and debug circuits
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
- Keep hierarchical sheets focused on specific functions
|
||||
- Use consistent naming conventions
|
||||
- Document sheet purposes in the main schematic
|
||||
- Use relative paths for portability
|
||||
- Include proper sheet titles and revision information
|
||||
Reference in New Issue
Block a user