-
Notifications
You must be signed in to change notification settings - Fork 0
/
chocolatte-v3.yaml
237 lines (229 loc) · 5.32 KB
/
chocolatte-v3.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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
points:
key:
padding: cx
footprints:
choc:
type: choc
nets:
from: =name
to: GND
params:
keycaps: true
reverse: true
diode:
type: diode
params:
tracks: true
anchor:
shift: [-8.25, 0]
rotate: 90
nets:
from: =name
to: unknown
leds:
type: rgb
anchor:
shift: [0, -5]
nets:
din: unknown
dout: unknown
zones:
matrix:
columns:
outer:
rows:
top:
bind: [9, 0, 0, 0]
pinky:
# spread: cy+2.5
stagger: 2
rows:
top:
bind: [7, 0, 0, 0]
bottom:
bind: [0, 0, 2, 0]
ring:
# spread: cy+2.5
stagger: 4
rows:
top:
bind: [3, 0, 0, 0]
bottom:
bind: [0, 0, 6, 0]
middle:
# spread: cy+2.5
stagger: 3
rows:
bottom:
bind: [0, 0, 9, 0]
index:
# spread: cy+2.5
stagger: -2
rows:
top:
bind: [2, 0, 0, 0]
inner:
# spread: cy+2.5
stagger: -2
rows:
top:
bind: [4, 0, 0, 0]
rows:
bottom:
home:
top:
thumbfan:
anchor:
ref: matrix_inner_bottom
shift: [-18, -20]
columns:
near:
home:
spread: cx+5
stagger: -4
rotate: -20
far:
spread: cx+5
stagger: -4
rotate: -20
rows:
thumb:
outlines:
exports:
keys:
- type: keys
side: left
size: 14
bound: false
keycaps:
- type: keys
side: left
size: [18, 17]
bound: false
plate:
- type: keys
side: left
size: 25
corner: 3
promicro_space:
- type: rectangle
anchor:
- ref: matrix_middle_top
shift: [22, (cy/2) + 4 ]
rotate: 270
size: [82,57.65]
corner: 3
fill_notch:
- type: rectangle
anchor:
- ref: thumbfan_far_thumb
rotate: 40
shift: [4,5.1]
size: 10
merged:
- type: outline # keys
name: plate
fillet: 3
- type: outline
name: promicro_space
operation: add
- type: outline
name: fill_notch
operation: add
pcb_edgecut:
- type: outline
name: merged
fillet: 3
cases:
chocolatte_plate:
- name: merged
operation: add
extrude: 1
- name: keys
operation: subtract
extrude: 3
# VIA footprints may be needed to jump between layers to avoid obstacles
# Use Blackpill controller to avoid having to leverage a diode matrix
# Potential for support MakerDiary m.2 bluetooth adapter https://wiki.makerdiary.com/nrf52840-m2
# USB-C Controller
# TRRS between halves
# Ability to make either halve master/slave pair
# Support for millmax hotswap sockets
# Support for Kailh hotswap sockets (default support in ergogen)
# Support for sk6812mini-e leds for easier soldering
# Support for Roller encoder, 1/side (EVQWGD001) (default support in ergogen)
# Support for Nice!View
pcbs:
cholatte:
outlines:
pcb_outline_name:
outline: pcb_edgecut
footprints:
- type: rotary
params:
reverse: true
anchor:
- ref: matrix_inner_bottom
shift: [20, -12]
rotate: -30
nets:
to: undefined
from: undefined
A: undefined
B: GND
C: undefined
- type: trrs
anchor:
- ref: matrix_inner_bottom
shift: [32, 8]
rotate: -90
nets:
A: GND
B: GND
C: D2
D: VCC
# - type: oled # 4 pin oled; need to find 5pin footprint
# anchor:
# - ref: matrix_inner_top
# shift: [50, 0]
# rotate: 90
# nets:
# SDA: undefined,
# SCL: undefined,
# VCC: undefined,
# GND: undefined,
#
# - type: rgb
# anchor:
# - ref: matrix_inner_top
# shift: [75, 0]
# nets:
# dout: undefined,
# din: undefined
- type: promicro
anchor:
- ref: matrix_inner_home
shift: [20, 15.5]
rotate: -90
nets:
P1: matrix_outer_bottom
P2: matrix_outer_home
P3: matrix_outer_top
P4: matrix_pinky_bottom
P5: matrix_pinky_home
P6: matrix_pinky_top
P7: matrix_ring_bottom
P8: matrix_ring_home
P9: matrix_ring_top
P10: matrix_middle_bottom
P11: matrix_middle_home
P12: matrix_middle_top
P13: matrix_index_bottom
P14: matrix_index_home
P15: matrix_index_top
P16: matrix_inner_bottom
P17: matrix_inner_home
P18: matrix_inner_top
P19: matrix_thumbfan_near
P20: matrix_thumbfan_home
P21: matrix_thumbfan_far