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:
2025-08-03 16:27:46 +07:00
parent dabbd358f8
commit 046f66f6eb
21 changed files with 1703 additions and 68 deletions

18
kicad/README.md Normal file
View 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
View 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

View 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
View 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

View 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

View 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
View 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

View 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