Skip to content

SiliconWit/pcb-design-kicad

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

title PCB Design with KiCad - Collaboration Guide
description Contributing guide for PCB Design with KiCad course content
tableOfContents true
sidebar
order
999

PCB Design with KiCad

Build License Contributors Welcome

Read this course at: https://siliconwit.com/education/pcb-design-kicad/

A hands-on course covering PCB design and manufacturing using KiCad 9. Nine lessons produce nine complete boards, from a through-hole ATmega328P breakout to multi-layer STM32 and ESP32 boards with USB-C, WiFi, battery management, motor control, and code-based PCB generation via KiCad Python scripting.

Lessons

# Title
1 ATmega328P Breakout Board (Through-Hole)
2 ATmega328P Sensor Shield (SMD Components)
3 STM32 USB Development Board
4 STM32 USB-C Four-Layer Board
5 ESP32 WiFi/Bluetooth DevKit
6 ESP32 Battery IoT Sensor Node
7 RP2040 USB-C Development Board
8 Motor Driver and Sensor Integration Board
9 Code-Based PCB Design (KiCad Scripting)

File Structure

pcb-design-kicad/
├── index.mdx
├── atmega328p-breakout-board-through-hole.mdx
├── atmega328p-sensor-shield-smd-components.mdx
├── stm32-usb-development-board.mdx
├── stm32-usb-c-four-layer-pcb.mdx
├── esp32-wifi-bluetooth-devkit.mdx
├── esp32-battery-iot-sensor-node.mdx
├── rp2040-usb-c-development-board.mdx
├── motor-driver-sensor-integration-board.mdx
├── code-based-pcb-design-kicad-scripting.mdx
├── schematics/
│   ├── atmega328p-breakout-board-through-hole.pdf
│   ├── atmega328p-sensor-shield-smd-components.pdf
│   ├── stm32-usb-development-board.pdf
│   ├── stm32-usb-c-four-layer-pcb.pdf
│   ├── esp32-wifi-bluetooth-devkit.pdf
│   ├── esp32-battery-iot-sensor-node.pdf
│   ├── rp2040-usb-c-development-board.pdf
│   └── motor-driver-sensor-integration-board.pdf
└── README.md

How to Contribute

All commands below work on Linux, macOS, and Windows (using Git Bash, PowerShell, or Command Prompt with Git installed).

For Team Members (with push access)

First time setup (clone the repo once):

git clone https://github.com/SiliconWit/pcb-design-kicad.git
cd pcb-design-kicad

Every time you start working:

git pull origin main

Always pull before making changes. This avoids conflicts with other contributors.

After making your changes:

git add .
git commit -m "Brief description of what you changed"
git push origin main

Adding schematic PDFs:

Place your PDF files in the schematics/ folder, then:

git add schematics/
git commit -m "Add schematic for lesson name"
git push origin main

If you get a push error (someone pushed before you):

git pull origin main

Git will merge the changes automatically in most cases. If there is a conflict, Git will mark the conflicting lines in the file. Open the file, choose which version to keep, then:

git add .
git commit -m "Resolve merge conflict"
git push origin main

Tips to avoid conflicts:

  • Always git pull origin main before you start working
  • Push your changes as soon as you are done, do not hold onto uncommitted work for long
  • Coordinate with other contributors so two people are not editing the same file at the same time

For External Contributors (without push access)

  1. Fork the repository: SiliconWit/pcb-design-kicad
  2. Clone your fork:
    git clone https://github.com/YOUR-USERNAME/pcb-design-kicad.git
    cd pcb-design-kicad
  3. Make your changes and commit:
    git add .
    git commit -m "Brief description of what you changed"
    git push origin main
  4. Open a Pull Request against main on the original repository
  5. Describe what you changed and why in the PR description

Content Standards

  • All lesson files use .mdx format
  • Do not use <BionicText> in this course
  • Code blocks should include a title attribute:
    ```python title="generate_board.py"
    import pcbnew
    board = pcbnew.GetBoard()
    ```
  • Use Starlight components (<Tabs>, <TabItem>, <Steps>, <Card>) where appropriate
  • Keep paragraphs concise and focused on practical application
  • Include KiCad Python scripting examples where relevant
  • All schematics and layouts must target KiCad 9
  • Schematic PDFs go in the schematics/ folder

Local Development

To preview the full site locally, clone the main site repository and initialize submodules:

git clone --recurse-submodules <main-repo-url>
cd siliconwit-com
npm install
npm run dev

To test a production build:

npm run build

License

This course content is released under the MIT License.

About

Design and manufacture real, useful printed circuit boards from scratch using KiCad 9. Each lesson produces one complete board for embedded systems, starting from a simple through-hole ATmega328P breakout and progressing to multi-layer STM32 and ESP32 boards with USB-C, WiFi, battery management, and motor control.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages