From f680ecfb71111dfcc67af1556afe16dc34d672af Mon Sep 17 00:00:00 2001 From: David Clark Date: Sat, 14 Sep 2024 15:00:45 -0700 Subject: [PATCH] - Split CHANGELOG.md into seperate files for _SCH, _ART, _FAB, _ASY - moved contents of 00template_use.md and 00versioning.md into README.md - started working on project renaming script --- .gitignore | 1 + 00template_use.md | 92 ------------- 00versioning.md | 54 -------- 1_Design/CHANGELOG.md | 58 -------- 1_Design/CHANGELOG_ART.md | 33 +++++ 1_Design/CHANGELOG_SCH.md | 33 +++++ 2_Fabrication/CHANGELOG_FAB.md | 33 +++++ 3_Assembly/CHANGELOG_ASY.md | 33 +++++ 7_manufacturing/manufacturing_files_go_here | 0 README.md | 142 +++++++++++++++++++- scripts/projectrename.py | 23 ++++ 11 files changed, 297 insertions(+), 205 deletions(-) delete mode 100644 00template_use.md delete mode 100644 00versioning.md delete mode 100644 1_Design/CHANGELOG.md create mode 100644 1_Design/CHANGELOG_ART.md create mode 100644 1_Design/CHANGELOG_SCH.md create mode 100644 2_Fabrication/CHANGELOG_FAB.md create mode 100644 3_Assembly/CHANGELOG_ASY.md create mode 100644 7_manufacturing/manufacturing_files_go_here create mode 100644 scripts/projectrename.py diff --git a/.gitignore b/.gitignore index 4299d01..de4a9b2 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ *.kicad_pcb-bak *.kicad_sch-bak *-backups +*-backups/ *.kicad_prl *.sch-bak *~ diff --git a/00template_use.md b/00template_use.md deleted file mode 100644 index 9f762b4..0000000 --- a/00template_use.md +++ /dev/null @@ -1,92 +0,0 @@ -# How to use the DDCEE KiCAD project template - -## DDCEE KiCAD Library -- clone the git repo located at https://gitea.clarknm.com/ddclark/KiCAD_DDCEE_Library - - - the repo contains - - - | Folder | Use | - | ------------ | --------------------- | - | `symbols` | schematic symbols | - | `footprints` | PCB Footprints | - | `templates` | Title block templates | | - - - use Preferences -> Configure Paths... to add the folling: - - - | Name | Path | - | ----------------------- | ---------------------------------- | - | KICAD_DDCEE_LIBRARIES | /KiCAD_DDC_Library | - | KICAD_USER_TEMPLATE_DIR | /KiCAD_DDC_Library/templates | - - - In the schematic editor use Preferences -> Manage Symbol Libraries... to add - - - | Nickname | Library Path | Library Format | | Options | Description | - | -------- | --------------------------------- | -------------- | --- | ------- | ------------------ | - | DDCEE | ${KICAD_DDCEE_LIBRARIES}/symbols/ | KiCad | | | DDC Custom Symbols | - - - In the PCB editor use Preferences -> Manage Footprint Libraries... to add - - - | Nickname | Library Path | Library Format | | Options | Description | - | -------- | ----------------------------------- | -------------- | --- | ------- | --------------------- | - | DDCEE | ${KICAD_DDCEE_LIBRARIES}/footprints | KiCad | | | DDC Custom Footprints | - - - - - - -### Naming Conventions -- symbols and footprints will be named with the following convention - - `TT_P___` - - `TT` - type - - `n` - number of pins - - `fp` - footprint - - `value' - component value - - `mfgr pn` - manufacturer part number - -## Symbol Types -Symbol types include but are not limited to: - -| Type Identifier | Comoponent Type | -| --------------- | -------------------- | -| IC | Integrated Circuit | -| CN | Connector | -| R | Resistor | -| C | Capacitor | -| L | Inductor | -| D | Diode | -| LED | Light Emitting Diode | -| FB | Ferrite Bead | -| LG | Logo | -| SOM | System on Module | -| SOC | System on Chip | -| TP | Test Point | -| | | - -## Default Fields - -The DDCEE KiCAD symbol library symbol template has the following default fields defined: - -| Field | Use | -| --------------------------- | --- | -| Detailed Description | | -| Manufacturer | | -| Manufacturer PN | | -| Supplier 1 | | -| Supplier 1 PN | | -| Supplier 1 Link | | -| Supplier 2 | | -| Supplier 2 PN | | -| Supplier 2 Link | | -| Supplier 3 | | -| Supplier 3 PN | | -| Supplier 3 Link | | -| Assembly instructions | | -| Alternate Manufacturer 1 | | -| Alternate Manufacturer 1 PN | | -| Alternate Manufacturer 2 | | -| Alternate Manufacturer 2 PN | | - -These fields are in addition to the standard KiCAD symbol fields. - -These fields are also defined in the Pnnnnnn_NAME_PCBA.kicad_sch template file \ No newline at end of file diff --git a/00versioning.md b/00versioning.md deleted file mode 100644 index 14b8cb7..0000000 --- a/00versioning.md +++ /dev/null @@ -1,54 +0,0 @@ -# PCBA Project Versioning - -## Background - -A PCBA has four design ouputs that completely define the board. These outputs are -- Schematic - - The *schematic* defines all of the components on the bord and how the components are interconnected. This is done in an abstrac way with notional symbols representing components and component connections. The Bill of Material (BoM) is directly tied to the schematic. -- PCB layout artwork - - The *layout* defines the physical implementation of the electronic components and their interconnections on a specific board geometry. -- PCB fabrication diagram - - The *fabrication diagram* defines the manufacturing board. These parameters can include but are not limited to - - - Layer stackup (including thickness) - - Copper weight - - Materials - - Solder mask color - - Testing requirements - - Controlled impedance requirements -- PCBA assembly diagram - - The *assembly diagram* defines specific assembly steps and proceedures. These steps and proceedures can include but are not limited to - - - Mechanical Parts that need to be installed on the board - - Coatings - - Packaging - - Cuts and jumps - - ESD handling requirements - -Each of these design outputs should be versioned independently. - -## Rationale -- Schematic - - Component values can be changed and pin compatible direct replacement parts can be substituted without affecting the artwork, fabrication, or assembly requirements. -- PCB Layout artwork - - Components can be re-arranged on the board and still adhere to the same schematic, fabrication and assembly parameters. - - If changes in schematic, fabrication, or assembly require a layout change then the layout artwork revision should be incrimented. -- PCB Fabrication Diagram - - Fabrication requirements can change without a change in schematic, artwork, or assembly. For instance core materials and thickness can be changed. - - If changes in schematic, layout artwork, or assembly diagram require changes in the fabrication diagram then the fabrication diagram revision should be incrimented. -- PCBA Assembly Diagram - - Assembly requirements can change without a change in schematic, layout artwork, or fabrication diagram. For instance a conformal coating could be added or removed or a wave solder process could be changed to a hand solder process. - -*A change log should be kept for the various design outputs* - https://keepachangelog.com/en/1.1.0/ - -## Part Number Nomenclature - -| Output | Part No | PCB Layer | Revision | Comment | -| --------------------- | ------- | ----------- | -------- | ------------------------------------- | -| Schematic | EnnnnS | Silk | Variable | Schematic can be changed without spin | -| Artwork | EnnnnG | Etch | Fixed | Artwork change requires spin | -| PCB Fab Diagram | EnnnnF | Solder Mask | Fixed | PCB fab requires spin | -| PCBA Assembly Diagram | EnnnnA | Silk | Variable | PCBA can be reworked without spin | - - - - diff --git a/1_Design/CHANGELOG.md b/1_Design/CHANGELOG.md deleted file mode 100644 index 9ab55d7..0000000 --- a/1_Design/CHANGELOG.md +++ /dev/null @@ -1,58 +0,0 @@ -# Changelog - -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), -and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). - -## [Unreleased] - yyyy-mm-dd - -### Added -- Schematic - - -- PCB - - - -### Fixed -- Schematic - - -- PCB - - - -### Changed -- Schematic - - -- PCB - - - -### Removed -- Schematic - - -- PCB - - - -## [Template] - yyyy-mm-dd -### Added -- Schematic - - -- PCB - - - -### Fixed -- Schematic - - -- PCB - - - -### Changed -- Schematic - - -- PCB - - - -### Removed -- Schematic - - -- PCB - - - diff --git a/1_Design/CHANGELOG_ART.md b/1_Design/CHANGELOG_ART.md new file mode 100644 index 0000000..2d2e311 --- /dev/null +++ b/1_Design/CHANGELOG_ART.md @@ -0,0 +1,33 @@ +# Changelog + +All notable changes to the layout will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + +## [Unreleased] - yyyy-mm-dd + +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + +## [Template] - yyyy-mm-dd +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + diff --git a/1_Design/CHANGELOG_SCH.md b/1_Design/CHANGELOG_SCH.md new file mode 100644 index 0000000..4b9bb52 --- /dev/null +++ b/1_Design/CHANGELOG_SCH.md @@ -0,0 +1,33 @@ +# Changelog + +All notable changes to the schematic will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + +## [Unreleased] - yyyy-mm-dd + +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + +## [Template] - yyyy-mm-dd +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + diff --git a/2_Fabrication/CHANGELOG_FAB.md b/2_Fabrication/CHANGELOG_FAB.md new file mode 100644 index 0000000..cb75469 --- /dev/null +++ b/2_Fabrication/CHANGELOG_FAB.md @@ -0,0 +1,33 @@ +# Changelog + +All notable changes to the fabrication drawing will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + +## [Unreleased] - yyyy-mm-dd + +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + +## [Template] - yyyy-mm-dd +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + diff --git a/3_Assembly/CHANGELOG_ASY.md b/3_Assembly/CHANGELOG_ASY.md new file mode 100644 index 0000000..4c67c01 --- /dev/null +++ b/3_Assembly/CHANGELOG_ASY.md @@ -0,0 +1,33 @@ +# Changelog + +All notable changes to the assembly drawing will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). + +## [Unreleased] - yyyy-mm-dd + +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + +## [Template] - yyyy-mm-dd +### Added +- + +### Fixed +- + +### Changed +- + +### Removed +- + diff --git a/7_manufacturing/manufacturing_files_go_here b/7_manufacturing/manufacturing_files_go_here new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index 0bf1301..4e5d68f 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,142 @@ -# KiCAD_project_template +# DDCEE KiCAD project template +## DDCEE KiCAD Library +- clone the git repo located at https://gitea.clarknm.com/ddclark/KiCAD_DDCEE_Library + + - the repo contains + - + | Folder | Use | + | ------------ | --------------------- | + | `symbols` | schematic symbols | + | `footprints` | PCB Footprints | + | `templates` | Title block templates | + + - use Preferences -> Configure Paths... to add the folling: + - + | Name | Path | + | ----------------------- | ---------------------------------- | + | KICAD_DDCEE_LIBRARIES | /KiCAD_DDC_Library | + | KICAD_USER_TEMPLATE_DIR | /KiCAD_DDC_Library/templates | + + - In the schematic editor use Preferences -> Manage Symbol Libraries... to add + - + | Nickname | Library Path | Library Format | | Options | Description | + | -------- | --------------------------------- | -------------- | --- | ------- | ------------------ | + | DDCEE | ${KICAD_DDCEE_LIBRARIES}/symbols/ | KiCad | | | DDC Custom Symbols | + + - In the PCB editor use Preferences -> Manage Footprint Libraries... to add + - + | Nickname | Library Path | Library Format | | Options | Description | + | -------- | ----------------------------------- | -------------- | --- | ------- | --------------------- | + | DDCEE | ${KICAD_DDCEE_LIBRARIES}/footprints | KiCad | | | DDC Custom Footprints | + +### Naming Conventions +- symbols and footprints will be named with the following convention + - `TT_P___` + - + | | Use | + | ------- | --------------------------------------- | + | TT | type (see table below) | + | n | Number of pins | + | fp | Footprint (not required in symbol name) | + | value | Component value (passives) | + | mfgr pn | Manufacturer Part Number | + | | | + +### Symbol Types +Symbol types include but are not limited to: + +| Type Identifier | Comoponent Type | +| --------------- | -------------------- | +| IC | Integrated Circuit | +| CN | Connector | +| R | Resistor | +| C | Capacitor | +| L | Inductor | +| D | Diode | +| LED | Light Emitting Diode | +| FB | Ferrite Bead | +| LG | Logo | +| SOM | System on Module | +| SOC | System on Chip | +| TP | Test Point | +| | | + +## Default Fields + +The DDCEE KiCAD symbol library symbol template has the following default fields defined: + +| Field | Use | +| --------------------------- | --- | +| Detailed Description | | +| Manufacturer | | +| Manufacturer PN | | +| Supplier 1 | | +| Supplier 1 PN | | +| Supplier 1 Link | | +| Supplier 2 | | +| Supplier 2 PN | | +| Supplier 2 Link | | +| Supplier 3 | | +| Supplier 3 PN | | +| Supplier 3 Link | | +| Assembly instructions | | +| Alternate Manufacturer 1 | | +| Alternate Manufacturer 1 PN | | +| Alternate Manufacturer 2 | | +| Alternate Manufacturer 2 PN | | + +These fields are in addition to the standard KiCAD symbol fields. + +These fields are defined in the Ennnn_NAME_PCBA.kicad_sch template file + +# PCBA Project Versioning + +## Background + +A PCBA has four design ouputs that completely define the board. These outputs are +- Schematic + - The *schematic* defines all of the components on the bord and how the components are interconnected. This is done in an abstrac way with notional symbols representing components and component connections. The Bill of Material (BoM) is directly tied to the schematic. +- PCB layout artwork + - The *layout* defines the physical implementation of the electronic components and their interconnections on a specific board geometry. +- PCB fabrication diagram + - The *fabrication diagram* defines the manufacturing board. These parameters can include but are not limited to - + - Layer stackup (including thickness) + - Copper weight + - Materials + - Solder mask color + - Testing requirements + - Controlled impedance requirements +- PCBA assembly diagram + - The *assembly diagram* defines specific assembly steps and proceedures. These steps and proceedures can include but are not limited to - + - Mechanical Parts that need to be installed on the board + - Coatings + - Packaging + - Cuts and jumps + - ESD handling requirements + +Each of these design outputs should be versioned independently. + +## Rationale +- Schematic + - Component values can be changed and pin compatible direct replacement parts can be substituted without affecting the artwork, fabrication, or assembly requirements. +- PCB Layout artwork + - Components can be re-arranged on the board and still adhere to the same schematic, fabrication and assembly parameters. + - If changes in schematic, fabrication, or assembly require a layout change then the layout artwork revision should be incrimented. +- PCB Fabrication Diagram + - Fabrication requirements can change without a change in schematic, artwork, or assembly. For instance core materials and thickness can be changed. + - If changes in schematic, layout artwork, or assembly diagram require changes in the fabrication diagram then the fabrication diagram revision should be incrimented. +- PCBA Assembly Diagram + - Assembly requirements can change without a change in schematic, layout artwork, or fabrication diagram. For instance a conformal coating could be added or removed or a wave solder process could be changed to a hand solder process. + +*A change log should be kept for the various design outputs* + https://keepachangelog.com/en/1.1.0/ + +## Part Number Nomenclature + +| Output | Part No | PCB Layer | Revision | Comment | +| --------------------- | --------- | ----------- | -------- | ------------------------------------- | +| Schematic | Ennnn_SCH | Silk | Variable | Schematic can be changed without spin | +| Artwork | Ennnn_ART | Etch | Fixed | Artwork change requires spin | +| PCB Fab Diagram | Ennnn_FAB | Solder Mask | Fixed | PCB fab requires spin | +| PCBA Assembly Diagram | Ennnn_ASY | Silk | Variable | PCBA can be reworked without spin | \ No newline at end of file diff --git a/scripts/projectrename.py b/scripts/projectrename.py new file mode 100644 index 0000000..0959ac1 --- /dev/null +++ b/scripts/projectrename.py @@ -0,0 +1,23 @@ +import sys +from pathlib import Path + +pn = sys.argv[1] +name = sys.argv[2] + +root = Path('../') + +for path in root.rglob('*Ennnn*'): + + filetoberenamed = path.resolve() + print(filetoberenamed) + + # try: + # print(path.name.replace('nnnn', pn)) + # except: + # pass + + # try: + # print(path.name.replace('NAME', name)) + # except: + # pass +