Skip to content

Commit

Permalink
test deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
CagriCatik committed Jan 24, 2025
1 parent 4bd8323 commit c88ea50
Show file tree
Hide file tree
Showing 11 changed files with 1,157 additions and 11 deletions.
2 changes: 1 addition & 1 deletion webpage/docs/02_kicad/05_new-project-scratch.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Creating a New KiCad Project
# Creating a New Project

In this section, we will cover how to create a new project from scratch in KiCad. Understanding how to start a project correctly is essential for a smooth workflow and project organization. We will also explore how KiCad automatically sets up project files and folders, giving you a clean environment to begin your PCB design.

Expand Down
2 changes: 1 addition & 1 deletion webpage/docs/02_kicad/06_new-project-template.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Creating a New KiCad Project from a Template
# Creating a New Project from a Template

In this section, we’ll focus on **creating a new project from a template** in KiCad. Templates can significantly speed up your workflow, especially when designing PCBs that follow a common structure, such as Arduino shields, Raspberry Pi expansion boards, or other standardized designs. KiCad includes several built-in templates, and you can also create your own from past projects for reuse.

Expand Down
106 changes: 105 additions & 1 deletion webpage/docs/03_schematic-design/03_finished-project.md
Original file line number Diff line number Diff line change
@@ -1 +1,105 @@
# The finished KiCad project and directory
# Finished KiCad Project and Directory Structure

The LED Torch Project functions as a foundational exercise within the KiCad environment, prioritizing the development of tool proficiency over the complexity of electronic circuitry. The circuit architecture is deliberately minimalistic, incorporating essential components such as an LED, a current-limiting resistor, a single-pole single-throw (SPST) switch, and a CR2032 coin cell battery. The schematic and printed circuit board (PCB) layout are designed with simplicity to facilitate the learning process for users new to KiCad. The finalized PCB design is characterized by its compact form factor and strategic component placement: the LED is situated at the front to optimize light emission, the switch is positioned for ergonomic thumb access, and the coin cell battery holder is centrally located to ensure mechanical stability. A three-dimensional rendering of the PCB (refer to Figure 1) provides a comprehensive visualization of the spatial arrangement and mechanical design, highlighting the integration of components within the board's architecture.

---

## Project Directory Structure

A KiCad project directory is systematically organized to encompass all necessary files and subdirectories essential for the development, management, and fabrication of the PCB. The core components of the directory structure are detailed below:

### 1. **Project Configuration File (*.kicad_pro)**

- **Location**: Root directory.
- **Purpose**: This file encapsulates the project's metadata, including global settings, associations between schematic and PCB files, and user-specific preferences. It serves as the central configuration point for the project, ensuring consistency and coherence across various design stages.
- **Format**: The configuration file is a plain-text document, allowing for manual editing using standard text editors such as Atom or Notepad++.
- **Example**: `LED_Torch.kicad_pro`.

### 2. **Schematic File (*.kicad_sch)**

- **Location**: Root directory.
- **Purpose**: This file delineates the electrical schematic of the project, detailing component symbols, net connections, and annotations. It serves as the blueprint for the electronic design, facilitating the translation of circuit concepts into a tangible PCB layout.
- **Example**: `LED_Torch.kicad_sch`.

### 3. **PCB Layout File (*.kicad_pcb)**

- **Location**: Root directory.
- **Purpose**: The PCB layout file contains comprehensive data regarding the physical design of the board, including component footprints, copper trace routing, board edges, and the layer stackup. This file is critical for the accurate fabrication of the PCB.
- **Example**: `LED_Torch.kicad_pcb`.

### 4. **Gerber Files (gerbers.zip)**

- **Location**: Generated within the root directory following the export of the PCB layout.
- **Purpose**: Gerber files adhere to industry standards for PCB fabrication, encompassing various layers such as copper (e.g., `F.Cu.gbr`, `B.Cu.gbr`), silkscreen (`F.SilkS.gbr`), drill files (`drill.xln`, `drill.drl`), and the board outline (`Edge.Cuts.gbr`). These files are consolidated into a ZIP archive for submission to PCB manufacturers, ensuring precise replication of the design specifications.

### 5. **Backup Directory (backups/)**

- **Location**: Subdirectory within the project folder.
- **Purpose**: The backups directory is designated for the storage of incremental backups of both schematic and PCB files, thereby safeguarding against potential data loss. This redundancy is crucial for maintaining project integrity over time.
- **Configuration**: Backup management is facilitated through KiCad’s **Preferences > Common > Project Backup** settings, which allow for the specification of backup intervals, the maximum number of daily backups, and the total number of backups retained.
- **Backup Interval**: 5 minutes (default).
- **Maximum Backups Per Day**: 5.
- **Total Backups Retained**: 25.
- **Naming Convention**: Backup files are timestamped to reflect their creation time, following a format such as `LED_Torch_2024-03-15_12-30-00.kicad_sch`.

---

## Schematic and PCB Design Details

### Schematic Design

The schematic design for the LED Torch Project is characterized by its simplicity, employing a single-loop topology that comprises a 3V coin cell battery, a current-limiting resistor, an LED, and an SPST switch. The design utilizes standard components from KiCad’s library, including:
- **Device:LED**: Represents the light-emitting diode.
- **Device:R**: Denotes the resistor.
- **Device:SW_SPST**: Indicates the single-pole single-throw switch.

Annotations within the schematic are managed through reference designators (e.g., D1 for the LED, R1 for the resistor), which can be assigned either automatically by the software or manually by the user to maintain clarity and organization within the circuit diagram.

### PCB Layout

The PCB layout translates the schematic into a physical board design, encompassing several critical aspects:

- **Board Outline**: The custom shape of the PCB is defined within the `Edge.Cuts` layer, allowing for non-standard board dimensions tailored to specific application requirements.

- **Component Placement**:
- **CR2032 Battery Holder**: Positioned centrally on the board to enhance mechanical stability and facilitate uniform distribution of stress during handling and operation.
- **LED**: Strategically located at the board’s edge to ensure optimal light emission and accessibility for user interaction.
- **Tactile Switch**: Situated near the board’s edge to provide ergonomic access, enabling seamless user operation.

- **Routing**: The PCB employs single-sided trace routing, with trace widths maintained at a minimal 0.25 mm to accommodate low-current paths efficiently. This approach minimizes potential interference and conserves board real estate.

### 3D Visualization

A three-dimensional visualization of the PCB is accessible via **View > 3D Viewer** within KiCad’s PCB Editor. This rendered model offers a detailed representation of component heights, board geometry, and assembly orientation, facilitating a comprehensive understanding of the final product’s physical characteristics and aiding in the verification of mechanical fit and component alignment.

---

## Manufacturing Preparation

### Gerber File Generation

The generation of Gerber files is a critical step in preparing the PCB design for manufacturing. The process involves the following steps:

1. **Procedure**:
- Navigate to **PCB Editor > File > Fabrication Outputs > Gerbers** within KiCad.
- Select the appropriate layers as specified by the PCB manufacturer’s requirements, typically including front and back copper layers (`F.Cu`, `B.Cu`), silkscreen layers (`F.SilkS`), and the board outline (`Edge.Cuts`).

2. **Drill Files**:
- Accessed via **PCB Editor > File > Fabrication Outputs > Drill Files**.
- Export drill files in **Excellon** format, ensuring that plated through-holes (PTH) and non-plated through-holes (NPTH) are merged as required by manufacturing specifications.

3. **Validation**:
- Utilize Gerber viewers, such as KiCad’s integrated GerbView or online Gerber validation tools, to verify the alignment and accuracy of the exported layers. This step is essential to ensure that the design adheres to manufacturing tolerances and to identify any potential issues prior to production.

---

## Backup Management Best Practices

Effective backup management is paramount to maintaining the integrity and continuity of the PCB design project. The following best practices are recommended:

- **Automatic Backups**: Enable the automatic backup feature within KiCad via **Preferences > Common > Project Backup**. This ensures that periodic snapshots of the project files are created without manual intervention, providing a safeguard against unexpected data loss.

- **Manual Backups**: In addition to automatic backups, it is prudent to periodically duplicate the entire project directory to external storage solutions, such as external hard drives or cloud-based services. This redundancy offers an additional layer of protection against data corruption or hardware failures.

- **Restoration Procedures**: In the event of file corruption or accidental deletion, restoration can be achieved by replacing the affected `.kicad_sch` or `.kicad_pcb` files with the most recent backup versions from the `backups/` directory. This process ensures that the project can be promptly recovered to its last stable state, minimizing downtime and preserving design continuity.

89 changes: 88 additions & 1 deletion webpage/docs/03_schematic-design/04_start-new-project.md
Original file line number Diff line number Diff line change
@@ -1 +1,88 @@
# Start KiCad and create a new project
# Initializing a New KiCad Project

## Project Creation Workflow

### **1. Launching KiCad**
- **Platform-Specific Execution**:
- **Windows**: Execute `kicad.exe` from the installation directory or shortcut.
- **Linux**: Run `kicad` via terminal or application launcher.
- **macOS**: Launch `KiCad.app` from the Applications folder.
- **Start Screen**: Upon launch, the KiCad Project Manager interface is displayed, providing access to recent projects, documentation, and configuration tools.

---

### **2. Closing Existing Projects**
- **Procedure**:
- Navigate to **File > Close Project** in the KiCad Project Manager.
- Ensure unsaved changes are committed to avoid data loss.
- **Outcome**: The workspace resets to a neutral state, enabling initiation of a new project.

---

### **3. Creating a New Project**
- **Step-by-Step Process**:
1. **Menu Navigation**: Select **File > New Project…** from the KiCad Project Manager.
2. **Directory Selection**:
- **Location**: Specify a dedicated directory for the project (e.g., `~/Projects/LED_Torch`).
- **Folder Creation**: Enable **Create a new folder for the project** to enforce organizational hierarchy.
3. **Naming Convention**:
- Assign a descriptive project name (e.g., `LED_Torch`).
- Avoid spaces or special characters; use underscores for multiword names (e.g., `LED_Torch_v1`).
4. **File Saving**: Click **Save** to generate core project files.

---

## Project Directory and File Structure

### **Generated Files**
1. **Project Configuration File (`*.kicad_pro`)**
- **Example**: `LED_Torch.kicad_pro`
- **Role**: Manages global project settings, including schematic-PCB associations, library paths, and user preferences.
- **Editable Format**: Plain-text JSON structure, modifiable via external editors (e.g., VSCode, Sublime Text).

2. **Schematic File (`*.kicad_sch`)**
- **Example**: `LED_Torch.kicad_sch`
- **Initial State**: Blank schematic canvas with default grid (100 mil), awaiting component placement and wiring.

3. **PCB Layout File (`*.kicad_pcb`)**
- **Example**: `LED_Torch.kicad_pcb`
- **Initial State**: Empty board workspace with default layers (e.g., `F.Cu`, `B.Cu`, `Edge.Cuts`) and grid (50 mil).

---

### **Directory Hierarchy**
```
LED_Torch/
├── LED_Torch.kicad_pro # Project configuration
├── LED_Torch.kicad_sch # Schematic design
├── LED_Torch.kicad_pcb # PCB layout
└── backups/ # Auto-saved revisions (if enabled)
```

---

## Configuration Best Practices

### **Project Directory Management**
- **Dedicated Folders**: Isolate each project to prevent file collisions and simplify version control.
- **Naming Consistency**: Use a standardized naming scheme (e.g., `ProjectName_RevX`) for iterative revisions.

### **Backup Configuration**
- **Automatic Backups**: Enable via **Preferences > Common > Project Backup**:
- **Backup Interval**: 5–10 minutes (balances safety and performance).
- **Retention Policy**: Retain 5–10 backups per project to mitigate data corruption risks.
- **Manual Backups**: Periodically archive the project directory to external storage or cloud platforms.

---

## Post-Creation Validation
1. **File Integrity Check**:
- Confirm the presence of `*.kicad_pro`, `*.kicad_sch`, and `*.kicad_pcb` in the project directory.
- Verify file permissions (read/write access).
2. **Schematic-PCB Linkage**:
- Open the schematic (`*.kicad_sch`) and PCB (`*.kicad_pcb`) to ensure bidirectional synchronization.
- Use **Tools > Update PCB from Schematic** to validate connectivity.

---

This protocol ensures a robust foundation for subsequent schematic capture, PCB layout, and manufacturing preparation within KiCad. Adherence to structured directory practices and backup configurations minimizes risks during iterative design phases.
Loading

0 comments on commit c88ea50

Please sign in to comment.