initial commit
This commit is contained in:
commit
95a61bcfc7
45
.github/workflows/kibot.yml
vendored
Normal file
45
.github/workflows/kibot.yml
vendored
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
name: kibot
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
erc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
ssh-strict: false
|
||||||
|
fetch-depth: 2
|
||||||
|
- uses: INTI-CMNB/KiBot@v2_k8
|
||||||
|
with:
|
||||||
|
config: config_erc.kibot.yaml
|
||||||
|
dir: output
|
||||||
|
|
||||||
|
drc:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
ssh-strict: false
|
||||||
|
fetch-depth: 2
|
||||||
|
- uses: INTI-CMNB/KiBot@v2_k8
|
||||||
|
with:
|
||||||
|
config: config_drc.kibot.yaml
|
||||||
|
dir: output
|
||||||
|
|
||||||
|
generate_outputs:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
submodules: recursive
|
||||||
|
fetch-depth: 2
|
||||||
|
- uses: INTI-CMNB/KiBot@v2_k8
|
||||||
|
with:
|
||||||
|
config: config.kibot.yaml
|
||||||
|
dir: output
|
||||||
|
- uses: actions/upload-artifact@v3
|
||||||
|
with:
|
||||||
|
name: output
|
||||||
|
path: output
|
8
.gitignore
vendored
Normal file
8
.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# kicad backup/cache files
|
||||||
|
*-backups
|
||||||
|
*.bak
|
||||||
|
~*.lck
|
||||||
|
fp-info-cache
|
||||||
|
|
||||||
|
# prerelease outputs directory
|
||||||
|
outputs
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
[submodule "common_libraries"]
|
||||||
|
path = common_libraries
|
||||||
|
url = git@git.brendanhaines.com:brendanhaines/kicad.git
|
1
common_libraries
Submodule
1
common_libraries
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit fbdc8f452a8e5e72cb42ae5f8dd5b018994030ba
|
450
config.kibot.yaml
Normal file
450
config.kibot.yaml
Normal file
@ -0,0 +1,450 @@
|
|||||||
|
# This is a working example.
|
||||||
|
# For a more complete reference use `--example`
|
||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
global:
|
||||||
|
filters:
|
||||||
|
- number: 1007
|
||||||
|
- number: 1015
|
||||||
|
- number: 58
|
||||||
|
|
||||||
|
import:
|
||||||
|
- file: Elecrow
|
||||||
|
definitions:
|
||||||
|
_KIBOT_MANF_DIR: Manufacturers/Elecrow
|
||||||
|
- file: FusionPCB
|
||||||
|
definitions:
|
||||||
|
_KIBOT_MANF_DIR: Manufacturers/FusionPCB
|
||||||
|
- file: JLCPCB
|
||||||
|
definitions:
|
||||||
|
_KIBOT_MANF_DIR: Manufacturers/JLCPCB
|
||||||
|
_KIBOT_POS_PRE_TRANSFORM: '[''_kicost_rename'', ''_rot_footprint'']'
|
||||||
|
_KIBOT_BOM_ENABLED: 'false'
|
||||||
|
- file: MacroFab_XYRS
|
||||||
|
- file: PCBWay
|
||||||
|
definitions:
|
||||||
|
_KIBOT_MANF_DIR: Manufacturers/PCBWay
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
set_text_variables:
|
||||||
|
- name: GIT_HASH
|
||||||
|
command: "git rev-parse --short HEAD"
|
||||||
|
- name: PCB_REVISION
|
||||||
|
command: 'if [ $GITHUB_REF_TYPE = tag ]; then echo "$GITHUB_REF_NAME"; else echo "UNRELEASED"; fi'
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
- name: basic_boardview
|
||||||
|
comment: Board View export
|
||||||
|
type: boardview
|
||||||
|
dir: Assembly
|
||||||
|
- name: generic_bom_csv
|
||||||
|
comment: Generic Bill of Materials in CSV format
|
||||||
|
type: bom
|
||||||
|
dir: BoM/Generic
|
||||||
|
options:
|
||||||
|
format: CSV
|
||||||
|
columns:
|
||||||
|
- Row
|
||||||
|
- Description
|
||||||
|
- Part
|
||||||
|
- Part Lib
|
||||||
|
- References
|
||||||
|
- field: Value
|
||||||
|
join:
|
||||||
|
- voltage
|
||||||
|
- Footprint
|
||||||
|
- Footprint Lib
|
||||||
|
- Quantity Per PCB
|
||||||
|
- Build Quantity
|
||||||
|
- Status
|
||||||
|
- Datasheet
|
||||||
|
- Sheetpath
|
||||||
|
- Source BoM
|
||||||
|
- Reference
|
||||||
|
- Manufacturer
|
||||||
|
- ManufacturerPartNumber
|
||||||
|
- Supplier
|
||||||
|
- SupplierPartNumber
|
||||||
|
- Populate
|
||||||
|
- FieldName
|
||||||
|
- Voltage
|
||||||
|
- Precision
|
||||||
|
count_smd_tht: true
|
||||||
|
- name: positional_bom_html
|
||||||
|
comment: Positional Bill of Materials in HTML format
|
||||||
|
type: bom
|
||||||
|
dir: BoM/Positional
|
||||||
|
options:
|
||||||
|
format: HTML
|
||||||
|
columns: &id001
|
||||||
|
- Row
|
||||||
|
- Description
|
||||||
|
- Part
|
||||||
|
- Part Lib
|
||||||
|
- References
|
||||||
|
- Value
|
||||||
|
- Footprint
|
||||||
|
- Footprint Lib
|
||||||
|
- Quantity Per PCB
|
||||||
|
- Build Quantity
|
||||||
|
- Status
|
||||||
|
- Datasheet
|
||||||
|
- Sheetpath
|
||||||
|
- Source BoM
|
||||||
|
- Footprint X
|
||||||
|
- Footprint Y
|
||||||
|
- Footprint Rot
|
||||||
|
- Footprint Side
|
||||||
|
- Footprint Type
|
||||||
|
- Footprint Populate
|
||||||
|
- Footprint X-Size
|
||||||
|
- Footprint Y-Size
|
||||||
|
count_smd_tht: true
|
||||||
|
html:
|
||||||
|
style: modern-red
|
||||||
|
- name: positional_bom_xlsx
|
||||||
|
comment: Positional Bill of Materials in XLSX format
|
||||||
|
type: bom
|
||||||
|
dir: BoM/Positional
|
||||||
|
options:
|
||||||
|
format: XLSX
|
||||||
|
columns: *id001
|
||||||
|
count_smd_tht: true
|
||||||
|
xlsx:
|
||||||
|
style: modern-red
|
||||||
|
- name: costs_bom_xlsx
|
||||||
|
comment: Costs Bill of Materials in XLSX format
|
||||||
|
type: bom
|
||||||
|
dir: BoM/Costs
|
||||||
|
options:
|
||||||
|
format: XLSX
|
||||||
|
count_smd_tht: true
|
||||||
|
xlsx:
|
||||||
|
style: modern-green
|
||||||
|
kicost: true
|
||||||
|
specs: true
|
||||||
|
kicost_api_disable: KitSpace
|
||||||
|
pre_transform: _kicost_rename
|
||||||
|
# - name: basic_diff_pcb
|
||||||
|
# comment: PCB diff between the last two changes
|
||||||
|
# type: diff
|
||||||
|
# dir: diff
|
||||||
|
# layers:
|
||||||
|
# - layer: F.Cu
|
||||||
|
# suffix: F_Cu
|
||||||
|
# description: Front copper
|
||||||
|
# - layer: F.Paste
|
||||||
|
# suffix: F_Paste
|
||||||
|
# description: Front solder paste
|
||||||
|
# - layer: F.Silkscreen
|
||||||
|
# suffix: F_Silkscreen
|
||||||
|
# description: Front silkscreen (artwork)
|
||||||
|
# - layer: F.Mask
|
||||||
|
# suffix: F_Mask
|
||||||
|
# description: Front soldermask (negative)
|
||||||
|
# - layer: Edge.Cuts
|
||||||
|
# suffix: Edge_Cuts
|
||||||
|
# description: Board shape
|
||||||
|
# - layer: F.Courtyard
|
||||||
|
# suffix: F_Courtyard
|
||||||
|
# description: Front courtyard area
|
||||||
|
# - layer: F.Fab
|
||||||
|
# suffix: F_Fab
|
||||||
|
# description: Front documentation
|
||||||
|
# options:
|
||||||
|
# old: HEAD~
|
||||||
|
# old_type: git
|
||||||
|
# new: HEAD
|
||||||
|
# new_type: git
|
||||||
|
# add_link_id: true
|
||||||
|
# - name: basic_diff_sch
|
||||||
|
# comment: Schematic diff between the last two changes
|
||||||
|
# type: diff
|
||||||
|
# dir: diff
|
||||||
|
# options:
|
||||||
|
# old: HEAD~
|
||||||
|
# old_type: git
|
||||||
|
# new: HEAD
|
||||||
|
# new_type: git
|
||||||
|
# add_link_id: true
|
||||||
|
# pcb: false
|
||||||
|
- name: basic_download_datasheets
|
||||||
|
comment: Download the datasheets
|
||||||
|
type: download_datasheets
|
||||||
|
dir: Datasheets
|
||||||
|
|
||||||
|
- name: basic_excellon
|
||||||
|
comment: Drill files in EXCELLON format
|
||||||
|
type: excellon
|
||||||
|
dir: Gerbers_and_Drill
|
||||||
|
options:
|
||||||
|
map: pdf
|
||||||
|
- name: basic_gerb_drill
|
||||||
|
comment: Drill files in GERB_DRILL format
|
||||||
|
type: gerb_drill
|
||||||
|
dir: Gerbers_and_Drill
|
||||||
|
options:
|
||||||
|
map: gerber
|
||||||
|
- name: gerber_modern
|
||||||
|
comment: Gerbers in modern format, recommended by the standard
|
||||||
|
type: gerber
|
||||||
|
dir: Gerbers_and_Drill
|
||||||
|
layers:
|
||||||
|
- layer: F.Cu
|
||||||
|
suffix: F_Cu
|
||||||
|
description: Front copper
|
||||||
|
- layer: In1.Cu
|
||||||
|
suffix: In1_Cu
|
||||||
|
description: Inner layer 1 copper
|
||||||
|
- layer: In2.Cu
|
||||||
|
suffix: In2_Cu
|
||||||
|
description: Inner layer 2 copper
|
||||||
|
- layer: B.Cu
|
||||||
|
suffix: B_Cu
|
||||||
|
description: Back copper
|
||||||
|
- layer: F.Paste
|
||||||
|
suffix: F_Paste
|
||||||
|
description: Front solder paste
|
||||||
|
- layer: B.Paste
|
||||||
|
suffix: B_Paste
|
||||||
|
description: Back solder paste
|
||||||
|
- layer: F.Silkscreen
|
||||||
|
suffix: F_Silkscreen
|
||||||
|
description: Front silkscreen (artwork)
|
||||||
|
- layer: B.Silkscreen
|
||||||
|
suffix: B_Silkscreen
|
||||||
|
description: Back silkscreen (artwork)
|
||||||
|
- layer: F.Mask
|
||||||
|
suffix: F_Mask
|
||||||
|
description: Front soldermask (negative)
|
||||||
|
- layer: B.Mask
|
||||||
|
suffix: B_Mask
|
||||||
|
description: Back soldermask (negative)
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
suffix: Edge_Cuts
|
||||||
|
description: Board shape
|
||||||
|
- layer: F.Courtyard
|
||||||
|
suffix: F_Courtyard
|
||||||
|
description: Front courtyard area
|
||||||
|
- layer: B.Courtyard
|
||||||
|
suffix: B_Courtyard
|
||||||
|
description: Back courtyard area
|
||||||
|
- layer: F.Fab
|
||||||
|
suffix: F_Fab
|
||||||
|
description: Front documentation
|
||||||
|
- layer: B.Fab
|
||||||
|
suffix: B_Fab
|
||||||
|
description: Back documentation
|
||||||
|
|
||||||
|
# - name: basic_ibom
|
||||||
|
# comment: Interactive HTML BoM
|
||||||
|
# type: ibom
|
||||||
|
# dir: Assembly
|
||||||
|
|
||||||
|
- name: basic_info
|
||||||
|
comment: Information about the run
|
||||||
|
type: info
|
||||||
|
dir: .
|
||||||
|
- name: basic_kicanvas
|
||||||
|
comment: Web page to browse the schematic and/or PCB
|
||||||
|
type: kicanvas
|
||||||
|
dir: Browse
|
||||||
|
options:
|
||||||
|
source:
|
||||||
|
- schematic
|
||||||
|
- pcb
|
||||||
|
- name: renderer_for_present
|
||||||
|
comment: Renderer for the presentation
|
||||||
|
type: pcbdraw
|
||||||
|
dir: Render_for_presentation
|
||||||
|
run_by_default: false
|
||||||
|
- name: gerbers_for_present
|
||||||
|
comment: Gerbers for the presentation
|
||||||
|
type: gerber
|
||||||
|
dir: Gerber_for_presentation
|
||||||
|
layers: copper
|
||||||
|
run_by_default: false
|
||||||
|
# - name: basic_kiri
|
||||||
|
# comment: Interactive diff between commits
|
||||||
|
# type: kiri
|
||||||
|
# dir: diff
|
||||||
|
# layers:
|
||||||
|
# - layer: F.Cu
|
||||||
|
# suffix: F_Cu
|
||||||
|
# description: Front copper
|
||||||
|
# - layer: F.Paste
|
||||||
|
# suffix: F_Paste
|
||||||
|
# description: Front solder paste
|
||||||
|
# - layer: F.Silkscreen
|
||||||
|
# suffix: F_Silkscreen
|
||||||
|
# description: Front silkscreen (artwork)
|
||||||
|
# - layer: F.Mask
|
||||||
|
# suffix: F_Mask
|
||||||
|
# description: Front soldermask (negative)
|
||||||
|
# - layer: Edge.Cuts
|
||||||
|
# suffix: Edge_Cuts
|
||||||
|
# description: Board shape
|
||||||
|
# - layer: F.Courtyard
|
||||||
|
# suffix: F_Courtyard
|
||||||
|
# description: Front courtyard area
|
||||||
|
# - layer: F.Fab
|
||||||
|
# suffix: F_Fab
|
||||||
|
# description: Front documentation
|
||||||
|
# options:
|
||||||
|
# max_commits: 4
|
||||||
|
|
||||||
|
- name: basic_navigate_results
|
||||||
|
comment: Web page to browse the results
|
||||||
|
type: navigate_results
|
||||||
|
dir: Browse
|
||||||
|
options:
|
||||||
|
link_from_root: index.html
|
||||||
|
skip_not_run: true
|
||||||
|
|
||||||
|
- name: ipc_netlist
|
||||||
|
comment: IPC-D-356 netlist for testing
|
||||||
|
type: netlist
|
||||||
|
dir: Export
|
||||||
|
options:
|
||||||
|
format: ipc
|
||||||
|
|
||||||
|
- name: basic_pcb_print_pdf
|
||||||
|
comment: PCB
|
||||||
|
type: pcb_print
|
||||||
|
dir: PCB/PDF
|
||||||
|
options:
|
||||||
|
format: PDF
|
||||||
|
pages:
|
||||||
|
- layers:
|
||||||
|
- layer: F.Cu
|
||||||
|
- layer: F.Mask
|
||||||
|
color: '#14332440'
|
||||||
|
- layer: F.Paste
|
||||||
|
- layer: F.Silkscreen
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Front copper
|
||||||
|
- layers:
|
||||||
|
- layer: B.Cu
|
||||||
|
- layer: B.Mask
|
||||||
|
color: '#14332440'
|
||||||
|
- layer: B.Paste
|
||||||
|
- layer: B.Silkscreen
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Back copper
|
||||||
|
- layers:
|
||||||
|
- layer: F.Courtyard
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Front courtyard area
|
||||||
|
- layers:
|
||||||
|
- layer: B.Courtyard
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Back courtyard area
|
||||||
|
- layers:
|
||||||
|
- layer: F.Fab
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Front documentation
|
||||||
|
- layers:
|
||||||
|
- layer: B.Fab
|
||||||
|
- layer: Edge.Cuts
|
||||||
|
sheet: Back documentation
|
||||||
|
keep_temporal_files: true
|
||||||
|
|
||||||
|
- name: render_2d_svg_top
|
||||||
|
type: pcbdraw
|
||||||
|
dir: PCB/2D_render/jlcpcb_green_enig
|
||||||
|
options:
|
||||||
|
style: jlcpcb-green-enig
|
||||||
|
format: svg
|
||||||
|
- name: render_2d_svg_bottom
|
||||||
|
type: pcbdraw
|
||||||
|
dir: PCB/2D_render/jlcpcb_green_enig
|
||||||
|
options:
|
||||||
|
style: jlcpcb-green-enig
|
||||||
|
format: svg
|
||||||
|
bottom: true
|
||||||
|
- name: render_2d_png_top
|
||||||
|
type: pcbdraw
|
||||||
|
dir: PCB/2D_render/jlcpcb_green_enig
|
||||||
|
options:
|
||||||
|
style: jlcpcb-green-enig
|
||||||
|
format: png
|
||||||
|
dpi: 1200
|
||||||
|
- name: render_2d_png_bottom
|
||||||
|
type: pcbdraw
|
||||||
|
dir: PCB/2D_render/jlcpcb_green_enig
|
||||||
|
options:
|
||||||
|
style: jlcpcb-green-enig
|
||||||
|
format: png
|
||||||
|
dpi: 1200
|
||||||
|
bottom: true
|
||||||
|
|
||||||
|
- name: basic_pdf_sch_print
|
||||||
|
comment: Schematic in PDF format
|
||||||
|
type: pdf_sch_print
|
||||||
|
dir: Schematic
|
||||||
|
|
||||||
|
- name: basic_position_ASCII
|
||||||
|
comment: Components position for Pick & Place
|
||||||
|
type: position
|
||||||
|
dir: Position
|
||||||
|
options:
|
||||||
|
format: ASCII
|
||||||
|
only_smd: false
|
||||||
|
separate_files_for_front_and_back: false
|
||||||
|
- name: basic_position_CSV
|
||||||
|
comment: Components position for Pick & Place
|
||||||
|
type: position
|
||||||
|
dir: Position
|
||||||
|
options:
|
||||||
|
format: CSV
|
||||||
|
only_smd: false
|
||||||
|
separate_files_for_front_and_back: false
|
||||||
|
|
||||||
|
- name: basic_render_3d_top
|
||||||
|
comment: 3D view from top
|
||||||
|
type: render_3d
|
||||||
|
dir: 3D
|
||||||
|
options:
|
||||||
|
ray_tracing: true
|
||||||
|
orthographic: true
|
||||||
|
# - name: basic_render_3d_30deg
|
||||||
|
# comment: 3D view from 30 degrees
|
||||||
|
# type: render_3d
|
||||||
|
# dir: 3D
|
||||||
|
# output_id: 30deg
|
||||||
|
# options:
|
||||||
|
# ray_tracing: true
|
||||||
|
# rotate_x: 3
|
||||||
|
# rotate_z: -2
|
||||||
|
|
||||||
|
- name: report_simple
|
||||||
|
comment: Simple design report
|
||||||
|
type: report
|
||||||
|
output_id: _simple
|
||||||
|
options:
|
||||||
|
template: simple_ASCII
|
||||||
|
do_convert: true
|
||||||
|
- name: report_full
|
||||||
|
comment: Full design report
|
||||||
|
type: report
|
||||||
|
options:
|
||||||
|
template: full_SVG
|
||||||
|
do_convert: true
|
||||||
|
|
||||||
|
- name: basic_step
|
||||||
|
comment: 3D model in STEP format
|
||||||
|
type: step
|
||||||
|
dir: 3D
|
||||||
|
|
||||||
|
...
|
||||||
|
definitions:
|
||||||
|
_KIBOT_MANF_DIR_COMP: Manufacturers
|
||||||
|
_KIBOT_GERBER_LAYERS: "- copper\n\
|
||||||
|
\ - F.SilkS\n\
|
||||||
|
\ - B.SilkS\n\
|
||||||
|
\ - F.Mask\n\
|
||||||
|
\ - B.Mask\n\
|
||||||
|
\ - F.Paste\n\
|
||||||
|
\ - B.Paste\n\
|
||||||
|
\ - Edge.Cuts"
|
5
config_drc.kibot.yaml
Normal file
5
config_drc.kibot.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
drc: true
|
5
config_erc.kibot.yaml
Normal file
5
config_erc.kibot.yaml
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
kibot:
|
||||||
|
version: 1
|
||||||
|
|
||||||
|
preflight:
|
||||||
|
erc: true
|
7
fp-lib-table
Normal file
7
fp-lib-table
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
(fp_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "common")(type "KiCad")(uri "${KIPRJMOD}/../common_libraries/common.pretty")(options "")(descr ""))
|
||||||
|
(lib (name "jst")(type "KiCad")(uri "${KIPRJMOD}/../common_libraries/jst.pretty")(options "")(descr ""))
|
||||||
|
(lib (name "molex")(type "KiCad")(uri "${KIPRJMOD}/../common_libraries/molex.pretty")(options "")(descr ""))
|
||||||
|
(lib (name "samtec")(type "KiCad")(uri "${KIPRJMOD}/../common_libraries/samtec.pretty")(options "")(descr ""))
|
||||||
|
)
|
7
pluto_shield.kicad_dru
Normal file
7
pluto_shield.kicad_dru
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
(version 1)
|
||||||
|
|
||||||
|
(rule IgnoreSilkScreenGraphicOverlap
|
||||||
|
(condition "A.Type == 'Graphic' && B.Type == 'Graphic'")
|
||||||
|
(constraint silk_clearance)
|
||||||
|
(severity ignore)
|
||||||
|
)
|
476
pluto_shield.kicad_pcb
Normal file
476
pluto_shield.kicad_pcb
Normal file
@ -0,0 +1,476 @@
|
|||||||
|
(kicad_pcb (version 20221018) (generator pcbnew)
|
||||||
|
|
||||||
|
(general
|
||||||
|
(thickness 1.6)
|
||||||
|
)
|
||||||
|
|
||||||
|
(paper "A")
|
||||||
|
(title_block
|
||||||
|
(title "${PROJECT_NAME}")
|
||||||
|
(rev "${PCB_REVISION}")
|
||||||
|
(company "BRENDANHAINES.COM")
|
||||||
|
)
|
||||||
|
|
||||||
|
(layers
|
||||||
|
(0 "F.Cu" signal)
|
||||||
|
(1 "In1.Cu" signal)
|
||||||
|
(2 "In2.Cu" signal)
|
||||||
|
(31 "B.Cu" signal)
|
||||||
|
(32 "B.Adhes" user "B.Adhesive")
|
||||||
|
(33 "F.Adhes" user "F.Adhesive")
|
||||||
|
(34 "B.Paste" user)
|
||||||
|
(35 "F.Paste" user)
|
||||||
|
(36 "B.SilkS" user "B.Silkscreen")
|
||||||
|
(37 "F.SilkS" user "F.Silkscreen")
|
||||||
|
(38 "B.Mask" user)
|
||||||
|
(39 "F.Mask" user)
|
||||||
|
(40 "Dwgs.User" user "User.Drawings")
|
||||||
|
(41 "Cmts.User" user "User.Comments")
|
||||||
|
(42 "Eco1.User" user "User.Eco1")
|
||||||
|
(43 "Eco2.User" user "User.Eco2")
|
||||||
|
(44 "Edge.Cuts" user)
|
||||||
|
(45 "Margin" user)
|
||||||
|
(46 "B.CrtYd" user "B.Courtyard")
|
||||||
|
(47 "F.CrtYd" user "F.Courtyard")
|
||||||
|
(48 "B.Fab" user)
|
||||||
|
(49 "F.Fab" user)
|
||||||
|
(50 "User.1" user)
|
||||||
|
(51 "User.2" user)
|
||||||
|
(52 "User.3" user)
|
||||||
|
(53 "User.4" user)
|
||||||
|
(54 "User.5" user)
|
||||||
|
(55 "User.6" user)
|
||||||
|
(56 "User.7" user)
|
||||||
|
(57 "User.8" user)
|
||||||
|
(58 "User.9" user)
|
||||||
|
)
|
||||||
|
|
||||||
|
(setup
|
||||||
|
(stackup
|
||||||
|
(layer "F.SilkS" (type "Top Silk Screen") (color "White"))
|
||||||
|
(layer "F.Paste" (type "Top Solder Paste"))
|
||||||
|
(layer "F.Mask" (type "Top Solder Mask") (color "Green") (thickness 0.01))
|
||||||
|
(layer "F.Cu" (type "copper") (thickness 0.035))
|
||||||
|
(layer "dielectric 1" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
|
(layer "In1.Cu" (type "copper") (thickness 0.035))
|
||||||
|
(layer "dielectric 2" (type "prepreg") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
|
(layer "In2.Cu" (type "copper") (thickness 0.035))
|
||||||
|
(layer "dielectric 3" (type "core") (thickness 0.48) (material "FR4") (epsilon_r 4.5) (loss_tangent 0.02))
|
||||||
|
(layer "B.Cu" (type "copper") (thickness 0.035))
|
||||||
|
(layer "B.Mask" (type "Bottom Solder Mask") (color "Green") (thickness 0.01))
|
||||||
|
(layer "B.Paste" (type "Bottom Solder Paste"))
|
||||||
|
(layer "B.SilkS" (type "Bottom Silk Screen") (color "White"))
|
||||||
|
(copper_finish "ENIG")
|
||||||
|
(dielectric_constraints no)
|
||||||
|
)
|
||||||
|
(pad_to_mask_clearance 0)
|
||||||
|
(pcbplotparams
|
||||||
|
(layerselection 0x00010fc_ffffffff)
|
||||||
|
(plot_on_all_layers_selection 0x0000000_00000000)
|
||||||
|
(disableapertmacros false)
|
||||||
|
(usegerberextensions false)
|
||||||
|
(usegerberattributes true)
|
||||||
|
(usegerberadvancedattributes true)
|
||||||
|
(creategerberjobfile true)
|
||||||
|
(dashed_line_dash_ratio 12.000000)
|
||||||
|
(dashed_line_gap_ratio 3.000000)
|
||||||
|
(svgprecision 4)
|
||||||
|
(plotframeref false)
|
||||||
|
(viasonmask false)
|
||||||
|
(mode 1)
|
||||||
|
(useauxorigin false)
|
||||||
|
(hpglpennumber 1)
|
||||||
|
(hpglpenspeed 20)
|
||||||
|
(hpglpendiameter 15.000000)
|
||||||
|
(dxfpolygonmode true)
|
||||||
|
(dxfimperialunits true)
|
||||||
|
(dxfusepcbnewfont true)
|
||||||
|
(psnegative false)
|
||||||
|
(psa4output false)
|
||||||
|
(plotreference true)
|
||||||
|
(plotvalue true)
|
||||||
|
(plotinvisibletext false)
|
||||||
|
(sketchpadsonfab false)
|
||||||
|
(subtractmaskfromsilk false)
|
||||||
|
(outputformat 1)
|
||||||
|
(mirror false)
|
||||||
|
(drillshape 1)
|
||||||
|
(scaleselection 1)
|
||||||
|
(outputdirectory "")
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(property "PCB_REVISION" "0.0")
|
||||||
|
(property "PROJECT_NAME" "PROJECT_NAME")
|
||||||
|
|
||||||
|
(net 0 "")
|
||||||
|
(net 1 "GND")
|
||||||
|
|
||||||
|
(footprint "common:MH120X230_#4" (layer "F.Cu")
|
||||||
|
(tstamp 0ed882a0-e4ce-4f18-bef6-9c3cccbc2678)
|
||||||
|
(at 123.19 123.19)
|
||||||
|
(descr "Mounting Hole, #4")
|
||||||
|
(property "Sheetfile" "jlcpcb_template.kicad_sch")
|
||||||
|
(property "Sheetname" "")
|
||||||
|
(property "ki_description" "Hole")
|
||||||
|
(path "/79801d06-18e7-498c-8d4e-cc6cc5060c9d")
|
||||||
|
(zone_connect 2)
|
||||||
|
(attr exclude_from_pos_files)
|
||||||
|
(fp_text reference "MH3" (at 0 0) (layer "F.SilkS") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp 14ecb36f-08db-4212-9cc8-01cdb58e47f7)
|
||||||
|
)
|
||||||
|
(fp_text value "Mounting_Hole" (at 0 0) (layer "F.Fab") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp 27613306-b783-4cb9-acf3-88e3b21dd5a5)
|
||||||
|
)
|
||||||
|
(fp_circle (center 0 0) (end 3.175 0)
|
||||||
|
(stroke (width 0.1778) (type solid)) (fill none) (layer "F.SilkS") (tstamp ae932b76-a5d5-4332-9618-4f8af0eeca49))
|
||||||
|
(pad "1" thru_hole circle (at 0 0) (size 5.842 5.842) (drill 3.048) (layers "*.Cu" "*.Mask")
|
||||||
|
(net 1 "GND") (pinfunction "1") (pintype "passive") (zone_connect 2) (tstamp 706a15cb-e926-49ae-94cd-c84e7fda89cd))
|
||||||
|
)
|
||||||
|
|
||||||
|
(footprint "common:LOGO_BH" (layer "F.Cu")
|
||||||
|
(tstamp 2c2034ad-58b7-4a90-9915-abf69702fa36)
|
||||||
|
(at 99.06 116.84)
|
||||||
|
(property "Sheetfile" "jlcpcb_template.kicad_sch")
|
||||||
|
(property "Sheetname" "")
|
||||||
|
(property "exclude_from_bom" "")
|
||||||
|
(path "/34f9aa7c-9331-4a4e-ada5-723181f4dcaa")
|
||||||
|
(attr smd exclude_from_pos_files exclude_from_bom allow_missing_courtyard)
|
||||||
|
(fp_text reference "LOGO1" (at 0 -0.3175 unlocked) (layer "F.SilkS") hide
|
||||||
|
(effects (font (size 0.635 0.635) (thickness 0.127)))
|
||||||
|
(tstamp a9243f51-eda4-4f1b-a757-cd7225d8ae98)
|
||||||
|
)
|
||||||
|
(fp_text value "~" (at 0 0.635 unlocked) (layer "F.Fab") hide
|
||||||
|
(effects (font (size 0.635 0.635) (thickness 0.127)))
|
||||||
|
(tstamp 8e493312-c025-4c71-8e0c-010a596ed2b6)
|
||||||
|
)
|
||||||
|
(fp_poly
|
||||||
|
(pts
|
||||||
|
(xy 0.340334 -4.906285)
|
||||||
|
(xy 0.426334 -4.89815)
|
||||||
|
(xy 0.511644 -4.88464)
|
||||||
|
(xy 0.595939 -4.865795)
|
||||||
|
(xy 0.678894 -4.8417)
|
||||||
|
(xy 0.760165 -4.81244)
|
||||||
|
(xy 0.839439 -4.778135)
|
||||||
|
(xy 0.916405 -4.73892)
|
||||||
|
(xy 0.990754 -4.69495)
|
||||||
|
(xy 1.062204 -4.646395)
|
||||||
|
(xy 1.130454 -4.59345)
|
||||||
|
(xy 1.195245 -4.536325)
|
||||||
|
(xy 1.256325 -4.475245)
|
||||||
|
(xy 1.313449 -4.410455)
|
||||||
|
(xy 1.366394 -4.342205)
|
||||||
|
(xy 1.414949 -4.270755)
|
||||||
|
(xy 1.45892 -4.196405)
|
||||||
|
(xy 1.498135 -4.11944)
|
||||||
|
(xy 1.532439 -4.040165)
|
||||||
|
(xy 1.561699 -3.958895)
|
||||||
|
(xy 1.585795 -3.87594)
|
||||||
|
(xy 1.60464 -3.791645)
|
||||||
|
(xy 1.61815 -3.706335)
|
||||||
|
(xy 1.626285 -3.620335)
|
||||||
|
(xy 1.629 -3.534)
|
||||||
|
(xy 1.626285 -3.447665)
|
||||||
|
(xy 1.61815 -3.361665)
|
||||||
|
(xy 1.60464 -3.276355)
|
||||||
|
(xy 1.585795 -3.19206)
|
||||||
|
(xy 1.561699 -3.109105)
|
||||||
|
(xy 1.532439 -3.027835)
|
||||||
|
(xy 1.498135 -2.94856)
|
||||||
|
(xy 1.45892 -2.871594)
|
||||||
|
(xy 1.414949 -2.797245)
|
||||||
|
(xy 1.366395 -2.725796)
|
||||||
|
(xy 1.31345 -2.657543)
|
||||||
|
(xy 1.256325 -2.592754)
|
||||||
|
(xy 1.195245 -2.531674)
|
||||||
|
(xy 1.130455 -2.474552)
|
||||||
|
(xy 1.062205 -2.421604)
|
||||||
|
(xy 0.990755 -2.373051)
|
||||||
|
(xy 0.916405 -2.329083)
|
||||||
|
(xy 0.83944 -2.289867)
|
||||||
|
(xy 0.760165 -2.255558)
|
||||||
|
(xy 0.678895 -2.226299)
|
||||||
|
(xy 0.59594 -2.202206)
|
||||||
|
(xy 0.511645 -2.183361)
|
||||||
|
(xy 0.426335 -2.169849)
|
||||||
|
(xy 0.340335 -2.161717)
|
||||||
|
(xy 0.254 -2.159)
|
||||||
|
(xy 0.254 -0.909001)
|
||||||
|
(xy -0.246 -0.909001)
|
||||||
|
(xy -0.246 -2.159)
|
||||||
|
(xy -0.996 -2.159)
|
||||||
|
(xy -0.996 -0.909001)
|
||||||
|
(xy -1.496 -0.909001)
|
||||||
|
(xy -1.496 -3.909)
|
||||||
|
(xy -0.996 -3.909)
|
||||||
|
(xy -0.996 -2.659)
|
||||||
|
(xy -0.246 -2.659)
|
||||||
|
(xy -0.246 -3.909)
|
||||||
|
(xy 0.254 -3.909)
|
||||||
|
(xy 0.254 -2.659)
|
||||||
|
(xy 0.30894 -2.660733)
|
||||||
|
(xy 0.363665 -2.665905)
|
||||||
|
(xy 0.417955 -2.674503)
|
||||||
|
(xy 0.4716 -2.686497)
|
||||||
|
(xy 0.524385 -2.701832)
|
||||||
|
(xy 0.576105 -2.720448)
|
||||||
|
(xy 0.62655 -2.742283)
|
||||||
|
(xy 0.67553 -2.767238)
|
||||||
|
(xy 0.72284 -2.795215)
|
||||||
|
(xy 0.768305 -2.826115)
|
||||||
|
(xy 0.81174 -2.859806)
|
||||||
|
(xy 0.852975 -2.89616)
|
||||||
|
(xy 0.89184 -2.935025)
|
||||||
|
(xy 0.928195 -2.97626)
|
||||||
|
(xy 0.961885 -3.019695)
|
||||||
|
(xy 0.992785 -3.06516)
|
||||||
|
(xy 1.02076 -3.11247)
|
||||||
|
(xy 1.04572 -3.16145)
|
||||||
|
(xy 1.067555 -3.211895)
|
||||||
|
(xy 1.08617 -3.263615)
|
||||||
|
(xy 1.101505 -3.3164)
|
||||||
|
(xy 1.113495 -3.370045)
|
||||||
|
(xy 1.122094 -3.424335)
|
||||||
|
(xy 1.12727 -3.47906)
|
||||||
|
(xy 1.129 -3.534)
|
||||||
|
(xy 1.12727 -3.58894)
|
||||||
|
(xy 1.122094 -3.643665)
|
||||||
|
(xy 1.113495 -3.697955)
|
||||||
|
(xy 1.101505 -3.7516)
|
||||||
|
(xy 1.08617 -3.804386)
|
||||||
|
(xy 1.067555 -3.856106)
|
||||||
|
(xy 1.04572 -3.90655)
|
||||||
|
(xy 1.02076 -3.95553)
|
||||||
|
(xy 0.992785 -4.00284)
|
||||||
|
(xy 0.961885 -4.048305)
|
||||||
|
(xy 0.928195 -4.09174)
|
||||||
|
(xy 0.89184 -4.132975)
|
||||||
|
(xy 0.852975 -4.17184)
|
||||||
|
(xy 0.81174 -4.208195)
|
||||||
|
(xy 0.768305 -4.241885)
|
||||||
|
(xy 0.72284 -4.272785)
|
||||||
|
(xy 0.67553 -4.30076)
|
||||||
|
(xy 0.62655 -4.32572)
|
||||||
|
(xy 0.576105 -4.347555)
|
||||||
|
(xy 0.524385 -4.36617)
|
||||||
|
(xy 0.4716 -4.381505)
|
||||||
|
(xy 0.417955 -4.393495)
|
||||||
|
(xy 0.363665 -4.402095)
|
||||||
|
(xy 0.30894 -4.40727)
|
||||||
|
(xy 0.254 -4.409)
|
||||||
|
(xy -1.996 -4.409)
|
||||||
|
(xy -1.996 -0.409001)
|
||||||
|
(xy 0.254 -0.409001)
|
||||||
|
(xy 0.30894 -0.410731)
|
||||||
|
(xy 0.363665 -0.415906)
|
||||||
|
(xy 0.417955 -0.424506)
|
||||||
|
(xy 0.4716 -0.436496)
|
||||||
|
(xy 0.524385 -0.451831)
|
||||||
|
(xy 0.576105 -0.470446)
|
||||||
|
(xy 0.62655 -0.492281)
|
||||||
|
(xy 0.67553 -0.517241)
|
||||||
|
(xy 0.72284 -0.545216)
|
||||||
|
(xy 0.768305 -0.576116)
|
||||||
|
(xy 0.81174 -0.609806)
|
||||||
|
(xy 0.852975 -0.646161)
|
||||||
|
(xy 0.89184 -0.685026)
|
||||||
|
(xy 0.928195 -0.726261)
|
||||||
|
(xy 0.961885 -0.769696)
|
||||||
|
(xy 0.992785 -0.815161)
|
||||||
|
(xy 1.02076 -0.862471)
|
||||||
|
(xy 1.04572 -0.911451)
|
||||||
|
(xy 1.067555 -0.961896)
|
||||||
|
(xy 1.08617 -1.013615)
|
||||||
|
(xy 1.101505 -1.066401)
|
||||||
|
(xy 1.113495 -1.120046)
|
||||||
|
(xy 1.122094 -1.174336)
|
||||||
|
(xy 1.12727 -1.229061)
|
||||||
|
(xy 1.129 -1.284001)
|
||||||
|
(xy 1.12727 -1.338941)
|
||||||
|
(xy 1.122094 -1.393666)
|
||||||
|
(xy 1.113495 -1.447956)
|
||||||
|
(xy 1.101505 -1.501601)
|
||||||
|
(xy 1.08617 -1.554386)
|
||||||
|
(xy 1.067555 -1.606106)
|
||||||
|
(xy 1.04572 -1.65655)
|
||||||
|
(xy 1.02076 -1.705531)
|
||||||
|
(xy 0.992785 -1.752841)
|
||||||
|
(xy 0.961885 -1.798306)
|
||||||
|
(xy 0.928195 -1.841741)
|
||||||
|
(xy 0.89184 -1.882976)
|
||||||
|
(xy 0.87594 -1.898876)
|
||||||
|
(xy 0.89821 -1.906896)
|
||||||
|
(xy 0.99911 -1.950558)
|
||||||
|
(xy 1.097065 -2.00047)
|
||||||
|
(xy 1.19169 -2.056431)
|
||||||
|
(xy 1.28262 -2.118222)
|
||||||
|
(xy 1.32232 -2.149022)
|
||||||
|
(xy 1.366395 -2.092205)
|
||||||
|
(xy 1.414949 -2.020756)
|
||||||
|
(xy 1.45892 -1.946408)
|
||||||
|
(xy 1.498135 -1.869441)
|
||||||
|
(xy 1.53244 -1.790166)
|
||||||
|
(xy 1.5617 -1.708896)
|
||||||
|
(xy 1.585795 -1.625941)
|
||||||
|
(xy 1.60464 -1.541646)
|
||||||
|
(xy 1.61815 -1.456336)
|
||||||
|
(xy 1.626285 -1.370336)
|
||||||
|
(xy 1.629 -1.284001)
|
||||||
|
(xy 1.626285 -1.197666)
|
||||||
|
(xy 1.61815 -1.111666)
|
||||||
|
(xy 1.60464 -1.026356)
|
||||||
|
(xy 1.585795 -0.942061)
|
||||||
|
(xy 1.5617 -0.859106)
|
||||||
|
(xy 1.53244 -0.777836)
|
||||||
|
(xy 1.498135 -0.698561)
|
||||||
|
(xy 1.45892 -0.621596)
|
||||||
|
(xy 1.414949 -0.547247)
|
||||||
|
(xy 1.366395 -0.475796)
|
||||||
|
(xy 1.31345 -0.407547)
|
||||||
|
(xy 1.256325 -0.342756)
|
||||||
|
(xy 1.195245 -0.281676)
|
||||||
|
(xy 1.130455 -0.224551)
|
||||||
|
(xy 1.062205 -0.171607)
|
||||||
|
(xy 0.990755 -0.123051)
|
||||||
|
(xy 0.916405 -0.079081)
|
||||||
|
(xy 0.83944 -0.039866)
|
||||||
|
(xy 0.760165 -0.005561)
|
||||||
|
(xy 0.678895 0.023699)
|
||||||
|
(xy 0.59594 0.047794)
|
||||||
|
(xy 0.511645 0.066639)
|
||||||
|
(xy 0.426335 0.080149)
|
||||||
|
(xy 0.340335 0.088284)
|
||||||
|
(xy 0.254 0.090999)
|
||||||
|
(xy -2.496 0.090999)
|
||||||
|
(xy -2.496 -4.909)
|
||||||
|
(xy 0.254 -4.909)
|
||||||
|
)
|
||||||
|
|
||||||
|
(stroke (width 0) (type solid)) (fill solid) (layer "F.SilkS") (tstamp 8dfe82ec-40a7-47e6-80e6-edff09265729))
|
||||||
|
(group "" (id 8ecd1901-04fe-4191-860f-7e11c9c603de)
|
||||||
|
(members
|
||||||
|
8dfe82ec-40a7-47e6-80e6-edff09265729
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
(footprint "common:MH120X230_#4" (layer "F.Cu")
|
||||||
|
(tstamp 9cf13263-b30a-43c4-9c5f-ce1ec46a078d)
|
||||||
|
(at 123.19 80.01)
|
||||||
|
(descr "Mounting Hole, #4")
|
||||||
|
(property "Sheetfile" "jlcpcb_template.kicad_sch")
|
||||||
|
(property "Sheetname" "")
|
||||||
|
(property "ki_description" "Hole")
|
||||||
|
(path "/f50864ff-d371-4215-9314-242c46489f70")
|
||||||
|
(zone_connect 2)
|
||||||
|
(attr exclude_from_pos_files)
|
||||||
|
(fp_text reference "MH2" (at 0 0) (layer "F.SilkS") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp ec12a169-aff4-4e07-b6d0-b514273aa0d3)
|
||||||
|
)
|
||||||
|
(fp_text value "Mounting_Hole" (at 0 0) (layer "F.Fab") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp cb9705b6-1b08-460e-9326-9bad2d122079)
|
||||||
|
)
|
||||||
|
(fp_circle (center 0 0) (end 3.175 0)
|
||||||
|
(stroke (width 0.1778) (type solid)) (fill none) (layer "F.SilkS") (tstamp fcdf4db1-d631-4177-b993-aeecad385c6b))
|
||||||
|
(pad "1" thru_hole circle (at 0 0) (size 5.842 5.842) (drill 3.048) (layers "*.Cu" "*.Mask")
|
||||||
|
(net 1 "GND") (pinfunction "1") (pintype "passive") (zone_connect 2) (tstamp 960cecf2-1d43-424a-a28c-370176f7ad84))
|
||||||
|
)
|
||||||
|
|
||||||
|
(footprint "common:MH120X230_#4" (layer "F.Cu")
|
||||||
|
(tstamp c0724124-56f1-4f5b-a04e-718e5095e569)
|
||||||
|
(at 80.01 123.19)
|
||||||
|
(descr "Mounting Hole, #4")
|
||||||
|
(property "Sheetfile" "jlcpcb_template.kicad_sch")
|
||||||
|
(property "Sheetname" "")
|
||||||
|
(property "ki_description" "Hole")
|
||||||
|
(path "/409ab3ca-8890-41e5-8523-0edcaaeb13ca")
|
||||||
|
(zone_connect 2)
|
||||||
|
(attr exclude_from_pos_files)
|
||||||
|
(fp_text reference "MH4" (at 0 0) (layer "F.SilkS") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp f9cf991c-bf67-4f90-a467-e70307be092f)
|
||||||
|
)
|
||||||
|
(fp_text value "Mounting_Hole" (at 0 0) (layer "F.Fab") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp 01fd67c4-2ef0-4f98-8948-9808ec8ff273)
|
||||||
|
)
|
||||||
|
(fp_circle (center 0 0) (end 3.175 0)
|
||||||
|
(stroke (width 0.1778) (type solid)) (fill none) (layer "F.SilkS") (tstamp 3778145b-ae9b-4f30-af8c-84bfddd3a262))
|
||||||
|
(pad "1" thru_hole circle (at 0 0) (size 5.842 5.842) (drill 3.048) (layers "*.Cu" "*.Mask")
|
||||||
|
(net 1 "GND") (pinfunction "1") (pintype "passive") (zone_connect 2) (tstamp 99e3e858-673d-4f44-ab6d-88b16c373d3f))
|
||||||
|
)
|
||||||
|
|
||||||
|
(footprint "common:MH120X230_#4" (layer "F.Cu")
|
||||||
|
(tstamp e6a1835e-7425-4888-a7a8-6177237b4709)
|
||||||
|
(at 80.01 80.01)
|
||||||
|
(descr "Mounting Hole, #4")
|
||||||
|
(property "Sheetfile" "jlcpcb_template.kicad_sch")
|
||||||
|
(property "Sheetname" "")
|
||||||
|
(property "ki_description" "Hole")
|
||||||
|
(path "/94346919-81db-46a4-8218-cd482107d9cb")
|
||||||
|
(zone_connect 2)
|
||||||
|
(attr exclude_from_pos_files)
|
||||||
|
(fp_text reference "MH1" (at 0 0) (layer "F.SilkS") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp 881d93b4-0525-4202-85fe-85a4efda2f16)
|
||||||
|
)
|
||||||
|
(fp_text value "Mounting_Hole" (at 0 0) (layer "F.Fab") hide
|
||||||
|
(effects (font (size 0.762 0.762) (thickness 0.127)))
|
||||||
|
(tstamp 2a7167b7-bcb7-4273-81dc-bac9fafa92e4)
|
||||||
|
)
|
||||||
|
(fp_circle (center 0 0) (end 3.175 0)
|
||||||
|
(stroke (width 0.1778) (type solid)) (fill none) (layer "F.SilkS") (tstamp b2231778-25a1-434a-abce-0f47d646481c))
|
||||||
|
(pad "1" thru_hole circle (at 0 0) (size 5.842 5.842) (drill 3.048) (layers "*.Cu" "*.Mask")
|
||||||
|
(net 1 "GND") (pinfunction "1") (pintype "passive") (zone_connect 2) (tstamp 6eda37ca-2ae5-47bd-8781-e110e3eb5ecf))
|
||||||
|
)
|
||||||
|
|
||||||
|
(gr_line (start 76.2 80.01) (end 76.2 123.19)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 01eeaaa2-1d96-4fbe-a7c0-eab31686fcf1))
|
||||||
|
(gr_arc (start 76.2 80.01) (mid 77.315923 77.315923) (end 80.01 76.2)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 43123108-00ac-4a91-9a21-505fe9f540b7))
|
||||||
|
(gr_line (start 80.01 76.2) (end 123.19 76.2)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 48120843-2e2a-4d0a-8268-ab901cdcc4b7))
|
||||||
|
(gr_line (start 123.19 127) (end 80.01 127)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 799ba558-8122-48f3-8f20-8a331e6eb16e))
|
||||||
|
(gr_arc (start 123.19 76.2) (mid 125.884077 77.315923) (end 127 80.01)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 7d8e835b-274b-4347-b69b-509aad33d996))
|
||||||
|
(gr_arc (start 127 123.19) (mid 125.884077 125.884077) (end 123.19 127)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp 95fe84bb-7111-4bc6-b57d-cd7018d67a30))
|
||||||
|
(gr_line (start 127 123.19) (end 127 80.01)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp afaa3464-4511-458b-a9c8-5d3a7d059ede))
|
||||||
|
(gr_arc (start 80.01 127) (mid 77.315923 125.884077) (end 76.2 123.19)
|
||||||
|
(stroke (width 0.0254) (type default)) (layer "Edge.Cuts") (tstamp e58e6794-0db3-438b-9daf-38a35d163066))
|
||||||
|
(gr_text "JLCJLCJLCJLC" (at 96.52 124.46) (layer "F.SilkS") (tstamp 091288de-23c4-4edc-b533-5d552fa8084b)
|
||||||
|
(effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom))
|
||||||
|
)
|
||||||
|
(gr_text "BRENDANHAINES.COM\n${PROJECT_NAME}\nPCB REV: ${PCB_REVISION}" (at 101.6 116.84) (layer "F.SilkS") (tstamp 437bdfe8-9461-4ec7-870c-371d6a52dc16)
|
||||||
|
(effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom))
|
||||||
|
)
|
||||||
|
(gr_text "SERIAL NUMBER \n " (at 96.52 121.92) (layer "F.SilkS" knockout) (tstamp 6c2be5ce-85b7-4de0-9953-9a61d10d3e1f)
|
||||||
|
(effects (font (size 1.016 1.016) (thickness 0.2032) bold) (justify left bottom))
|
||||||
|
)
|
||||||
|
(dimension (type aligned) (layer "F.Fab") (tstamp 01ee0b31-f02b-4470-b2f7-07b9d1207f38)
|
||||||
|
(pts (xy 76.2 76.2) (xy 127 76.2))
|
||||||
|
(height -5.08)
|
||||||
|
(gr_text "2000.0000 mils" (at 101.6 69.977) (layer "F.Fab") (tstamp 01ee0b31-f02b-4470-b2f7-07b9d1207f38)
|
||||||
|
(effects (font (size 1.016 1.016) (thickness 0.127)))
|
||||||
|
)
|
||||||
|
(format (prefix "") (suffix "") (units 3) (units_format 1) (precision 4))
|
||||||
|
(style (thickness 0.127) (arrow_length 1.27) (text_position_mode 0) (extension_height 0.58642) (extension_offset 0.5) keep_text_aligned)
|
||||||
|
)
|
||||||
|
(dimension (type aligned) (layer "F.Fab") (tstamp 0517aec2-45e6-4cc3-9803-feed6af5a135)
|
||||||
|
(pts (xy 76.2 76.2) (xy 76.2 127))
|
||||||
|
(height 5.08)
|
||||||
|
(gr_text "2000.0000 mils" (at 69.977 101.6 90) (layer "F.Fab") (tstamp 0517aec2-45e6-4cc3-9803-feed6af5a135)
|
||||||
|
(effects (font (size 1.016 1.016) (thickness 0.127)))
|
||||||
|
)
|
||||||
|
(format (prefix "") (suffix "") (units 3) (units_format 1) (precision 4))
|
||||||
|
(style (thickness 0.127) (arrow_length 1.27) (text_position_mode 0) (extension_height 0.58642) (extension_offset 0.5) keep_text_aligned)
|
||||||
|
)
|
||||||
|
|
||||||
|
)
|
83
pluto_shield.kicad_prl
Normal file
83
pluto_shield.kicad_prl
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"active_layer": 37,
|
||||||
|
"active_layer_preset": "All Layers",
|
||||||
|
"auto_track_width": true,
|
||||||
|
"hidden_netclasses": [],
|
||||||
|
"hidden_nets": [],
|
||||||
|
"high_contrast_mode": 0,
|
||||||
|
"net_color_mode": 1,
|
||||||
|
"opacity": {
|
||||||
|
"images": 0.6,
|
||||||
|
"pads": 1.0,
|
||||||
|
"tracks": 1.0,
|
||||||
|
"vias": 1.0,
|
||||||
|
"zones": 0.6
|
||||||
|
},
|
||||||
|
"selection_filter": {
|
||||||
|
"dimensions": true,
|
||||||
|
"footprints": true,
|
||||||
|
"graphics": true,
|
||||||
|
"keepouts": true,
|
||||||
|
"lockedItems": false,
|
||||||
|
"otherItems": true,
|
||||||
|
"pads": true,
|
||||||
|
"text": true,
|
||||||
|
"tracks": true,
|
||||||
|
"vias": true,
|
||||||
|
"zones": true
|
||||||
|
},
|
||||||
|
"visible_items": [
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
3,
|
||||||
|
4,
|
||||||
|
5,
|
||||||
|
8,
|
||||||
|
9,
|
||||||
|
10,
|
||||||
|
11,
|
||||||
|
12,
|
||||||
|
13,
|
||||||
|
15,
|
||||||
|
16,
|
||||||
|
17,
|
||||||
|
18,
|
||||||
|
19,
|
||||||
|
20,
|
||||||
|
21,
|
||||||
|
22,
|
||||||
|
23,
|
||||||
|
24,
|
||||||
|
25,
|
||||||
|
26,
|
||||||
|
27,
|
||||||
|
28,
|
||||||
|
29,
|
||||||
|
30,
|
||||||
|
32,
|
||||||
|
33,
|
||||||
|
34,
|
||||||
|
35,
|
||||||
|
36,
|
||||||
|
39,
|
||||||
|
40
|
||||||
|
],
|
||||||
|
"visible_layers": "fffffff_ffffffff",
|
||||||
|
"zone_display_mode": 0
|
||||||
|
},
|
||||||
|
"git": {
|
||||||
|
"repo_password": "",
|
||||||
|
"repo_type": "",
|
||||||
|
"repo_username": "",
|
||||||
|
"ssh_key": ""
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "pluto_shield.kicad_prl",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"project": {
|
||||||
|
"files": []
|
||||||
|
}
|
||||||
|
}
|
578
pluto_shield.kicad_pro
Normal file
578
pluto_shield.kicad_pro
Normal file
@ -0,0 +1,578 @@
|
|||||||
|
{
|
||||||
|
"board": {
|
||||||
|
"3dviewports": [],
|
||||||
|
"design_settings": {
|
||||||
|
"defaults": {
|
||||||
|
"board_outline_line_width": 0.0254,
|
||||||
|
"copper_line_width": 0.127,
|
||||||
|
"copper_text_italic": false,
|
||||||
|
"copper_text_size_h": 0.635,
|
||||||
|
"copper_text_size_v": 0.635,
|
||||||
|
"copper_text_thickness": 0.127,
|
||||||
|
"copper_text_upright": true,
|
||||||
|
"courtyard_line_width": 0.0254,
|
||||||
|
"dimension_precision": 4,
|
||||||
|
"dimension_units": 3,
|
||||||
|
"dimensions": {
|
||||||
|
"arrow_length": 1270000,
|
||||||
|
"extension_offset": 500000,
|
||||||
|
"keep_text_aligned": true,
|
||||||
|
"suppress_zeroes": false,
|
||||||
|
"text_position": 0,
|
||||||
|
"units_format": 1
|
||||||
|
},
|
||||||
|
"fab_line_width": 0.127,
|
||||||
|
"fab_text_italic": false,
|
||||||
|
"fab_text_size_h": 1.016,
|
||||||
|
"fab_text_size_v": 1.016,
|
||||||
|
"fab_text_thickness": 0.127,
|
||||||
|
"fab_text_upright": true,
|
||||||
|
"other_line_width": 0.127,
|
||||||
|
"other_text_italic": false,
|
||||||
|
"other_text_size_h": 0.635,
|
||||||
|
"other_text_size_v": 0.635,
|
||||||
|
"other_text_thickness": 0.127,
|
||||||
|
"other_text_upright": true,
|
||||||
|
"pads": {
|
||||||
|
"drill": 0.762,
|
||||||
|
"height": 1.524,
|
||||||
|
"width": 1.524
|
||||||
|
},
|
||||||
|
"silk_line_width": 0.17779999999999999,
|
||||||
|
"silk_text_italic": false,
|
||||||
|
"silk_text_size_h": 0.635,
|
||||||
|
"silk_text_size_v": 0.635,
|
||||||
|
"silk_text_thickness": 0.127,
|
||||||
|
"silk_text_upright": true,
|
||||||
|
"zones": {
|
||||||
|
"min_clearance": 0.5
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"diff_pair_dimensions": [
|
||||||
|
{
|
||||||
|
"gap": 0.0,
|
||||||
|
"via_gap": 0.0,
|
||||||
|
"width": 0.0
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"drc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 2
|
||||||
|
},
|
||||||
|
"rule_severities": {
|
||||||
|
"annular_width": "error",
|
||||||
|
"clearance": "error",
|
||||||
|
"connection_width": "ignore",
|
||||||
|
"copper_edge_clearance": "error",
|
||||||
|
"copper_sliver": "warning",
|
||||||
|
"courtyards_overlap": "error",
|
||||||
|
"diff_pair_gap_out_of_range": "error",
|
||||||
|
"diff_pair_uncoupled_length_too_long": "error",
|
||||||
|
"drill_out_of_range": "error",
|
||||||
|
"duplicate_footprints": "warning",
|
||||||
|
"extra_footprint": "warning",
|
||||||
|
"footprint": "error",
|
||||||
|
"footprint_type_mismatch": "warning",
|
||||||
|
"hole_clearance": "error",
|
||||||
|
"hole_near_hole": "error",
|
||||||
|
"invalid_outline": "error",
|
||||||
|
"isolated_copper": "warning",
|
||||||
|
"item_on_disabled_layer": "error",
|
||||||
|
"items_not_allowed": "error",
|
||||||
|
"length_out_of_range": "error",
|
||||||
|
"lib_footprint_issues": "warning",
|
||||||
|
"lib_footprint_mismatch": "warning",
|
||||||
|
"malformed_courtyard": "error",
|
||||||
|
"microvia_drill_out_of_range": "error",
|
||||||
|
"missing_courtyard": "ignore",
|
||||||
|
"missing_footprint": "warning",
|
||||||
|
"net_conflict": "warning",
|
||||||
|
"npth_inside_courtyard": "ignore",
|
||||||
|
"padstack": "warning",
|
||||||
|
"pth_inside_courtyard": "ignore",
|
||||||
|
"shorting_items": "error",
|
||||||
|
"silk_edge_clearance": "warning",
|
||||||
|
"silk_over_copper": "warning",
|
||||||
|
"silk_overlap": "warning",
|
||||||
|
"skew_out_of_range": "error",
|
||||||
|
"solder_mask_bridge": "error",
|
||||||
|
"starved_thermal": "error",
|
||||||
|
"text_height": "warning",
|
||||||
|
"text_thickness": "warning",
|
||||||
|
"through_hole_pad_without_hole": "error",
|
||||||
|
"too_many_vias": "error",
|
||||||
|
"track_dangling": "warning",
|
||||||
|
"track_width": "error",
|
||||||
|
"tracks_crossing": "error",
|
||||||
|
"unconnected_items": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"via_dangling": "warning",
|
||||||
|
"zones_intersect": "error"
|
||||||
|
},
|
||||||
|
"rules": {
|
||||||
|
"max_error": 0.005,
|
||||||
|
"min_clearance": 0.08889999999999999,
|
||||||
|
"min_connection": 0.0,
|
||||||
|
"min_copper_edge_clearance": 0.19999999999999998,
|
||||||
|
"min_hole_clearance": 0.0,
|
||||||
|
"min_hole_to_hole": 0.254,
|
||||||
|
"min_microvia_diameter": 0.19999999999999998,
|
||||||
|
"min_microvia_drill": 0.09999999999999999,
|
||||||
|
"min_resolved_spokes": 2,
|
||||||
|
"min_silk_clearance": 0.0,
|
||||||
|
"min_text_height": 0.635,
|
||||||
|
"min_text_thickness": 0.127,
|
||||||
|
"min_through_hole_diameter": 0.19999999999999998,
|
||||||
|
"min_track_width": 0.08889999999999999,
|
||||||
|
"min_via_annular_width": 0.127,
|
||||||
|
"min_via_diameter": 0.19999999999999998,
|
||||||
|
"solder_mask_clearance": 0.0,
|
||||||
|
"solder_mask_min_width": 0.0,
|
||||||
|
"solder_mask_to_copper_clearance": 0.0,
|
||||||
|
"use_height_for_length_calcs": true
|
||||||
|
},
|
||||||
|
"teardrop_options": [
|
||||||
|
{
|
||||||
|
"td_allow_use_two_tracks": true,
|
||||||
|
"td_curve_segcount": 5,
|
||||||
|
"td_on_pad_in_zone": false,
|
||||||
|
"td_onpadsmd": true,
|
||||||
|
"td_onroundshapesonly": false,
|
||||||
|
"td_ontrackend": false,
|
||||||
|
"td_onviapad": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"teardrop_parameters": [
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_round_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_rect_shape",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"td_curve_segcount": 0,
|
||||||
|
"td_height_ratio": 1.0,
|
||||||
|
"td_length_ratio": 0.5,
|
||||||
|
"td_maxheight": 2.0,
|
||||||
|
"td_maxlen": 1.0,
|
||||||
|
"td_target_name": "td_track_end",
|
||||||
|
"td_width_to_size_filter_ratio": 0.9
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"track_widths": [
|
||||||
|
0.0,
|
||||||
|
0.127,
|
||||||
|
0.254
|
||||||
|
],
|
||||||
|
"via_dimensions": [
|
||||||
|
{
|
||||||
|
"diameter": 0.0,
|
||||||
|
"drill": 0.0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 0.4064,
|
||||||
|
"drill": 0.2032
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"diameter": 0.508,
|
||||||
|
"drill": 0.254
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"zones_allow_external_fillets": false
|
||||||
|
},
|
||||||
|
"ipc2581": {
|
||||||
|
"dist": "",
|
||||||
|
"distpn": "",
|
||||||
|
"internal_id": "",
|
||||||
|
"mfg": "",
|
||||||
|
"mpn": ""
|
||||||
|
},
|
||||||
|
"layer_presets": [],
|
||||||
|
"viewports": []
|
||||||
|
},
|
||||||
|
"boards": [],
|
||||||
|
"cvpcb": {
|
||||||
|
"equivalence_files": []
|
||||||
|
},
|
||||||
|
"erc": {
|
||||||
|
"erc_exclusions": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 0
|
||||||
|
},
|
||||||
|
"pin_map": [
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
1,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
1,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
|
[
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"rule_severities": {
|
||||||
|
"bus_definition_conflict": "error",
|
||||||
|
"bus_entry_needed": "error",
|
||||||
|
"bus_to_bus_conflict": "error",
|
||||||
|
"bus_to_net_conflict": "error",
|
||||||
|
"conflicting_netclasses": "error",
|
||||||
|
"different_unit_footprint": "error",
|
||||||
|
"different_unit_net": "error",
|
||||||
|
"duplicate_reference": "error",
|
||||||
|
"duplicate_sheet_names": "error",
|
||||||
|
"endpoint_off_grid": "warning",
|
||||||
|
"extra_units": "error",
|
||||||
|
"global_label_dangling": "warning",
|
||||||
|
"hier_label_mismatch": "error",
|
||||||
|
"label_dangling": "error",
|
||||||
|
"lib_symbol_issues": "warning",
|
||||||
|
"missing_bidi_pin": "warning",
|
||||||
|
"missing_input_pin": "warning",
|
||||||
|
"missing_power_pin": "error",
|
||||||
|
"missing_unit": "warning",
|
||||||
|
"multiple_net_names": "warning",
|
||||||
|
"net_not_bus_member": "warning",
|
||||||
|
"no_connect_connected": "warning",
|
||||||
|
"no_connect_dangling": "warning",
|
||||||
|
"pin_not_connected": "error",
|
||||||
|
"pin_not_driven": "error",
|
||||||
|
"pin_to_pin": "error",
|
||||||
|
"power_pin_not_driven": "error",
|
||||||
|
"similar_labels": "warning",
|
||||||
|
"simulation_model_issue": "error",
|
||||||
|
"unannotated": "error",
|
||||||
|
"unit_value_mismatch": "error",
|
||||||
|
"unresolved_variable": "error",
|
||||||
|
"wire_dangling": "error"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"libraries": {
|
||||||
|
"pinned_footprint_libs": [],
|
||||||
|
"pinned_symbol_libs": []
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"filename": "pluto_shield.kicad_pro",
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_settings": {
|
||||||
|
"classes": [
|
||||||
|
{
|
||||||
|
"bus_width": 12,
|
||||||
|
"clearance": 0.127,
|
||||||
|
"diff_pair_gap": 0.127,
|
||||||
|
"diff_pair_via_gap": 0.25,
|
||||||
|
"diff_pair_width": 0.127,
|
||||||
|
"line_style": 0,
|
||||||
|
"microvia_diameter": 0.508,
|
||||||
|
"microvia_drill": 0.254,
|
||||||
|
"name": "Default",
|
||||||
|
"pcb_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"schematic_color": "rgba(0, 0, 0, 0.000)",
|
||||||
|
"track_width": 0.127,
|
||||||
|
"via_diameter": 0.508,
|
||||||
|
"via_drill": 0.254,
|
||||||
|
"wire_width": 6
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"meta": {
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"net_colors": null,
|
||||||
|
"netclass_assignments": null,
|
||||||
|
"netclass_patterns": []
|
||||||
|
},
|
||||||
|
"pcbnew": {
|
||||||
|
"last_paths": {
|
||||||
|
"gencad": "",
|
||||||
|
"idf": "",
|
||||||
|
"netlist": "",
|
||||||
|
"plot": "",
|
||||||
|
"pos_files": "",
|
||||||
|
"specctra_dsn": "",
|
||||||
|
"step": "",
|
||||||
|
"svg": "",
|
||||||
|
"vrml": ""
|
||||||
|
},
|
||||||
|
"page_layout_descr_file": ""
|
||||||
|
},
|
||||||
|
"schematic": {
|
||||||
|
"annotate_start_num": 0,
|
||||||
|
"bom_export_filename": "",
|
||||||
|
"bom_fmt_presets": [],
|
||||||
|
"bom_fmt_settings": {
|
||||||
|
"field_delimiter": ",",
|
||||||
|
"keep_line_breaks": false,
|
||||||
|
"keep_tabs": false,
|
||||||
|
"name": "CSV",
|
||||||
|
"ref_delimiter": ",",
|
||||||
|
"ref_range_delimiter": "",
|
||||||
|
"string_delimiter": "\""
|
||||||
|
},
|
||||||
|
"bom_presets": [],
|
||||||
|
"bom_settings": {
|
||||||
|
"exclude_dnp": false,
|
||||||
|
"fields_ordered": [
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Reference",
|
||||||
|
"name": "Reference",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "Value",
|
||||||
|
"name": "Value",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Datasheet",
|
||||||
|
"name": "Datasheet",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Footprint",
|
||||||
|
"name": "Footprint",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": false,
|
||||||
|
"label": "Qty",
|
||||||
|
"name": "${QUANTITY}",
|
||||||
|
"show": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"group_by": true,
|
||||||
|
"label": "DNP",
|
||||||
|
"name": "${DNP}",
|
||||||
|
"show": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"filter_string": "",
|
||||||
|
"group_symbols": true,
|
||||||
|
"name": "Grouped By Value",
|
||||||
|
"sort_asc": true,
|
||||||
|
"sort_field": "Reference"
|
||||||
|
},
|
||||||
|
"connection_grid_size": 50.0,
|
||||||
|
"drawing": {
|
||||||
|
"dashed_lines_dash_length_ratio": 12.0,
|
||||||
|
"dashed_lines_gap_length_ratio": 3.0,
|
||||||
|
"default_line_thickness": 6.0,
|
||||||
|
"default_text_size": 50.0,
|
||||||
|
"field_names": [],
|
||||||
|
"intersheets_ref_own_page": false,
|
||||||
|
"intersheets_ref_prefix": "",
|
||||||
|
"intersheets_ref_short": false,
|
||||||
|
"intersheets_ref_show": false,
|
||||||
|
"intersheets_ref_suffix": "",
|
||||||
|
"junction_size_choice": 3,
|
||||||
|
"label_size_ratio": 0.375,
|
||||||
|
"operating_point_overlay_i_precision": 3,
|
||||||
|
"operating_point_overlay_i_range": "~A",
|
||||||
|
"operating_point_overlay_v_precision": 3,
|
||||||
|
"operating_point_overlay_v_range": "~V",
|
||||||
|
"overbar_offset_ratio": 1.23,
|
||||||
|
"pin_symbol_size": 25.0,
|
||||||
|
"text_offset_ratio": 0.15
|
||||||
|
},
|
||||||
|
"legacy_lib_dir": "",
|
||||||
|
"legacy_lib_list": [],
|
||||||
|
"meta": {
|
||||||
|
"version": 1
|
||||||
|
},
|
||||||
|
"net_format_name": "",
|
||||||
|
"page_layout_descr_file": "",
|
||||||
|
"plot_directory": "",
|
||||||
|
"spice_current_sheet_as_root": false,
|
||||||
|
"spice_external_command": "spice \"%I\"",
|
||||||
|
"spice_model_current_sheet_as_root": true,
|
||||||
|
"spice_save_all_currents": false,
|
||||||
|
"spice_save_all_dissipations": false,
|
||||||
|
"spice_save_all_voltages": false,
|
||||||
|
"subpart_first_id": 65,
|
||||||
|
"subpart_id_separator": 0
|
||||||
|
},
|
||||||
|
"sheets": [
|
||||||
|
[
|
||||||
|
"5c9b5493-28d5-442a-a1c0-43be0cca0b1b",
|
||||||
|
"Root"
|
||||||
|
]
|
||||||
|
],
|
||||||
|
"text_variables": {
|
||||||
|
"PCB_REVISION": "0.0",
|
||||||
|
"PROJECT_NAME": "PROJECT_NAME"
|
||||||
|
}
|
||||||
|
}
|
1470
pluto_shield.kicad_sch
Normal file
1470
pluto_shield.kicad_sch
Normal file
File diff suppressed because it is too large
Load Diff
186
release.py
Normal file
186
release.py
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
# %% Imports
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import zipfile
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
# %% Find the relevant files
|
||||||
|
projects = list(Path(__file__).parent.glob("*.kicad_pro"))
|
||||||
|
if len(projects) == 1:
|
||||||
|
root_project = projects[0].resolve()
|
||||||
|
else:
|
||||||
|
raise NotImplementedError("Need to determine which project is the root one (when multiple exist for sim)")
|
||||||
|
|
||||||
|
project_name = root_project.stem
|
||||||
|
|
||||||
|
dir_out = root_project.parent / "outputs"
|
||||||
|
if dir_out.exists():
|
||||||
|
shutil.rmtree(str(dir_out))
|
||||||
|
dir_out.mkdir(parents=True)
|
||||||
|
print(f"Writing outputs to {dir_out}")
|
||||||
|
|
||||||
|
# %% Verify state of repository
|
||||||
|
# TODO: check if repo is committed and pushed or if we're in CI
|
||||||
|
|
||||||
|
# %% Check Kicad version
|
||||||
|
kicad_version = subprocess.run(["kicad-cli", "version"], capture_output=True, check=True).stdout.decode()
|
||||||
|
major, minor, patch = kicad_version.split(".")
|
||||||
|
if int(major) < 7:
|
||||||
|
raise ValueError(f"Requires minimum Kicad version 7.0.0 buf found {kicad_version}")
|
||||||
|
|
||||||
|
# %% General documentation PDFs
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"sch",
|
||||||
|
"export",
|
||||||
|
"pdf",
|
||||||
|
str(root_project.with_suffix(".kicad_sch")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}_schematic.pdf"),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"pdf",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}_fabrication_drawing.pdf"),
|
||||||
|
"--include-border-title",
|
||||||
|
"--layers",
|
||||||
|
",".join(["Edge.Cuts", "F.Cu", "F.Mask", "F.Silkscreen", "F.Fab"]),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"step",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}.step"),
|
||||||
|
"--subst-models",
|
||||||
|
"--no-virtual", # TODO: decide if I want virtual models. I might just generate both
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# %% Fabrication Files
|
||||||
|
dir_gerber = dir_out / f"{project_name}_gerbers"
|
||||||
|
dir_gerber.mkdir(exist_ok=True)
|
||||||
|
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"gerbers",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"-o",
|
||||||
|
str(dir_gerber),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"drill",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"--separate-files",
|
||||||
|
"--generate-map", # not necessary but kinda nice since I can't nicely make a drill table in the main pdf
|
||||||
|
# "-o", # -0 flag is not working so I'm just using cwd instead
|
||||||
|
# str(dir_gerber),
|
||||||
|
],
|
||||||
|
cwd=str(dir_gerber.resolve()),
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: add version strings to every single filename
|
||||||
|
|
||||||
|
# %% Zip up the gerbers
|
||||||
|
with zipfile.ZipFile(dir_gerber.with_suffix(".zip"), "w") as z:
|
||||||
|
for f in dir_gerber.glob("*"):
|
||||||
|
z.write(f, f.name)
|
||||||
|
|
||||||
|
# %% Assembly files
|
||||||
|
|
||||||
|
# Assembly Drawing
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"pdf",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}_assembly_drawing.pdf"),
|
||||||
|
"--include-border-title",
|
||||||
|
"--layers",
|
||||||
|
",".join(["Edge.Cuts", "F.Mask", "F.Silkscreen", "F.Fab"]),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# Position Files
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"pcb",
|
||||||
|
"export",
|
||||||
|
"pos",
|
||||||
|
str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}.pos"),
|
||||||
|
"--format",
|
||||||
|
"ascii",
|
||||||
|
"--side",
|
||||||
|
"both",
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# BOM
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"kicad-cli",
|
||||||
|
"sch",
|
||||||
|
"export",
|
||||||
|
"python-bom",
|
||||||
|
str(root_project.with_suffix(".kicad_sch")),
|
||||||
|
"-o",
|
||||||
|
str(dir_out / f"{project_name}_bom.xml"),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
subprocess.run(
|
||||||
|
[
|
||||||
|
"python3",
|
||||||
|
"/home/brendan/Documents/projects/bhht/common_libraries/plugins/bom_csv_grouped_extra.py", # TODO: move this
|
||||||
|
str(dir_out / f"{project_name}_bom.xml"),
|
||||||
|
str(dir_out / f"{project_name}_bom.csv"),
|
||||||
|
],
|
||||||
|
check=True,
|
||||||
|
)
|
||||||
|
|
||||||
|
# # Interactive BOM
|
||||||
|
# subprocess.run(
|
||||||
|
# [
|
||||||
|
# "python3",
|
||||||
|
# "path/to/InteractiveHtmlBom/generate_interactive_bom.py", # TODO: locate this somewhere reasonable
|
||||||
|
# str(root_project.with_suffix(".kicad_pcb")),
|
||||||
|
# ],
|
||||||
|
# check=True,
|
||||||
|
# )
|
4
sym-lib-table
Normal file
4
sym-lib-table
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
(sym_lib_table
|
||||||
|
(version 7)
|
||||||
|
(lib (name "bh")(type "KiCad")(uri "${KIPRJMOD}/common_libraries/bh.kicad_sym")(options "")(descr ""))
|
||||||
|
)
|
Loading…
x
Reference in New Issue
Block a user