-
-
Notifications
You must be signed in to change notification settings - Fork 3
/
zmk-uno.kibot.yaml
178 lines (168 loc) · 4.29 KB
/
zmk-uno.kibot.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
# Gerber and drill files for JLCPCB, without stencil
# URL: https://jlcpcb.com/
# Based on setting used by Gerber Zipper (https://github.com/g200kg/kicad-gerberzipper)
kibot:
version: 1
filters:
- name: fix_rotation
comment: 'Adjust rotation for JLC'
type: rot_footprint
negative_bottom: true
rotations:
- ["^LED_WS2812B_PLCC.*", 180.0]
- ["^SMDIP-4.*", 180.0]
- ["^SOT-23", 0.0]
- ["^D_.*", 180.0]
- ["^TSSOP-24_.*", 90.0]
- name: only_jlc_parts
comment: 'Only parts with JLC code'
type: generic
include_only:
- column: 'LCSC Part Number'
regex: '^C\d+'
- name: mechanical_fixed
comment: 'Exclude mechanical, but fix for reverse mount LED'
type: generic
exclude_virtual: true
exclude_any:
- column: 'Ref'
regex: '^TP[0-9]*'
- column: 'Ref'
regex: '^FID'
- column: 'Part'
regex: '^mount.*hole'
- column: 'Part'
regex: 'solder.*bridge'
- column: 'Part'
regex: 'solder.*jump'
- column: 'Part'
regex: 'test.*point'
- column: 'FP'
regex: 'test.*point'
- column: 'FP'
regex: '^mount.*hole'
- column: 'FP'
regex: 'fiducial'
variants:
- name: rotated
comment: 'Just a place holder for the rotation filter'
type: kibom
variant: rotated
pre_transform: fix_rotation
exclude_filter: mechanical_fixed
preflight:
set_text_variables:
- name: SHA1
command: git rev-parse --short HEAD
- name: TIMESTAMP
command: git log -1 --format='%as' -- $KIBOT_SCH_NAME
outputs:
- name: JLCPCB_gerbers
comment: Gerbers compatible with JLCPCB
type: gerber
dir: JLCPCB
options: &gerber_options
exclude_edge_layer: true
exclude_pads_from_silkscreen: true
plot_sheet_reference: false
plot_footprint_refs: true
plot_footprint_values: false
force_plot_invisible_refs_vals: false
tent_vias: true
use_protel_extensions: true
create_gerber_job_file: false
disable_aperture_macros: true
gerber_precision: 4.6
use_gerber_x2_attributes: false
use_gerber_net_attributes: false
line_width: 0.1
subtract_mask_from_silk: true
inner_extension_pattern: '.gp%n'
layers:
# Note: a more generic approach is to use 'copper' but then the filenames
# are slightly different.
- F.Cu
- B.Cu
- In1.Cu
- In2.Cu
- In3.Cu
- In4.Cu
- In5.Cu
- In6.Cu
- F.SilkS
- B.SilkS
- F.Mask
- B.Mask
- Edge.Cuts
- name: JLCPCB_drill
comment: Drill files compatible with JLCPCB
type: excellon
dir: JLCPCB
options:
pth_and_npth_single_file: false
pth_id: '-PTH'
npth_id: '-NPTH'
metric_units: true
map: gerber
route_mode_for_oval_holes: false
output: "%f%i.%x"
- name: JLCPCB
comment: ZIP file for JLCPCB
type: compress
dir: JLCPCB
options:
files:
- from_output: JLCPCB_gerbers
dest: /
- from_output: JLCPCB_drill
dest: /
- name: JLCPCB_position
comment: Pick and place position file compatible with JLCPCB
type: position
options:
variant: rotated
output: '%f_cpl_jlc.%x'
format: CSV
units: millimeters
separate_files_for_front_and_back: false
only_smd: true
columns:
- id: Ref
name: Designator
- Val
- Package
- id: PosX
name: "Mid X"
- id: PosY
name: "Mid Y"
- id: Rot
name: Rotation
- id: Side
name: Layer
- name: 'bom'
comment: "BoM for JLC"
type: bom
options:
output: '%f_%i_jlc.%x'
exclude_filter: 'only_jlc_parts'
ref_separator: ','
group_fields: ['Value', 'Footprint', 'LCSC Part Number']
columns:
- field: Value
name: Comment
- field: References
name: Designator
- field: Footprint
name: Footprint
- field: 'LCSC Part Number'
name: 'LCSC Part #'
csv:
hide_pcb_info: true
hide_stats_info: true
quote_all: true
- name: 'ibom'
comment: "Interactive BOM for Hand Assembly"
type: ibom
run_by_default: false
options:
layer_view: 'B'