Merge pull request 'Hardware revision 2 (eepyBoard v1.1)' (#1) from layout-rev2 into main
Reviewed-on: #1
This commit is contained in:
commit
79bd812bd7
|
|
@ -24,7 +24,7 @@ dist
|
|||
/ergogen/output
|
||||
|
||||
# Kicad temporary files
|
||||
/kicad/*-backups/
|
||||
/kicad/*/*-backups/
|
||||
*.bak
|
||||
*.kicad_pcb-bak
|
||||
*.kicad_sch-bak
|
||||
|
|
|
|||
45
README.md
45
README.md
|
|
@ -5,10 +5,19 @@ Custom ergonomic mechanical keyboard with low-profile (Choc) switches.
|
|||
## Versions
|
||||
|
||||
- **eepyBoard v1.0: Hardware revision 1**
|
||||
- Mostly ortholinear layout with 13 columns
|
||||
- Bottom row: two regular keys + four thumb keys (per side, symmetrical)
|
||||
- Partial F-key row (Esc, F1-F8) and rotary encoder
|
||||
- RP2040 controller board in upper right corner
|
||||
- Mostly ortholinear layout with 13 columns (73 keys + rotary encoder)
|
||||
- Bottom row: two regular keys + four thumb keys (per side, symmetrical)
|
||||
- Partial F-key row (Esc, F1-F8) and rotary encoder
|
||||
- RP2040 controller board in upper right corner
|
||||
|
||||
- **eepyBoard v1.1: Hardware revision 2**
|
||||
- Column staggered split layout (single board) with a total of 15 columns and 6 rows (88 keys + 2 rotary encoders)
|
||||
- Each side has 7 columns by 5 rows (not counting function keys and arrow keys)
|
||||
- Bottom row: three regular keys + four thumb keys on each side, and an additional centered thumb key
|
||||
- Full F-key row (Esc, F1-F12)
|
||||
- 4 arrow keys in the center
|
||||
- 2 pressable rotary encoders (one in the center of the keyboard, one in the upper right)
|
||||
- Compact RP2040 "Pico Mini" controller board in the center
|
||||
|
||||
## Repository structure
|
||||
|
||||
|
|
@ -30,37 +39,41 @@ they can be exported as Gerber files and send to a PCB manufacturer.
|
|||
To generate the KiCad PCB file with Ergogen, first install Ergogen using npm: `npm install`.
|
||||
|
||||
Then, run `npm run ergogen`. You can find the KiCad file in `ergogen/output/pcbs/eepyboard.kicad_pcb`.
|
||||
Copy the file to `kicad/eepyboard.kicad_pcb`.
|
||||
Copy the file to `kicad/revN/eepyboard_revN.kicad_pcb` (replace `revN` with the current revision).
|
||||
|
||||
#### Routing and finalizing the KiCad files
|
||||
|
||||
Open the file in KiCad (create a project if non exists yet). Finalize the PCB in KiCad.
|
||||
|
||||
1. Run the Design Rules Checker. Check the errors. Most of them can be ignored/excluded.
|
||||
1. Round off the bottom corners of the board outline:
|
||||
- Remove the bottom center line and the two small fillet arcs next to it.
|
||||
- Select the two remaining bottom lines. Right click them and use "Shape Modification -> Extend Lines to Meet".
|
||||
- Right click the two angled lines again. Use "Shape Modification -> Fillet Lines..." with a 200mm radius.
|
||||
2. Run the Design Rules Checker. Check the errors. Most of them can be ignored/excluded.
|
||||
- All "Footprint not found in libraries" can be ignored completely. This is due to how Ergogen generates the PCB.
|
||||
2. Add VCC and GND planes.
|
||||
3. Add VCC and GND planes.
|
||||
- Menu: `File -> Board Setup`
|
||||
- On "Physical Stackup", change the copper layer number to 4.
|
||||
- On "Board Editor Layers", change the type of `In1.Cu` and `In2.Cu` to "power plane".
|
||||
- NOTE: `In1.Cu` will be the VCC plane, `In2.Cu` will be a GND plane.
|
||||
3. Add filled zones to the VCC and GND planes.
|
||||
4. Add filled zones to the VCC and GND planes.
|
||||
- Select the `In1.Cu` layer.
|
||||
- Use the "Add a filled zone" tool and draw a rectangle that contains the entire board. Assign the zone to VCC.
|
||||
- Repeat the same process for the `In2.Cu` layer and assign the zone to GND.
|
||||
- The zones don't need to be filled just yet.
|
||||
4. Add another filled zone on the `B.Cu` layer and assign it to GND.
|
||||
5. Route all signal traces (no VCC or GND yet). Recommended order:
|
||||
5. Add another filled zone on the `B.Cu` layer and assign it to GND.
|
||||
6. Route all signal traces (no VCC or GND yet). Recommended order:
|
||||
- Matrix rows (on `B.Cu`)
|
||||
- Matrix columns (with vias on `F.Cu`)
|
||||
- NeoPixel data pins
|
||||
- Connect everything to the MCU.
|
||||
6. Route VCC traces.
|
||||
7. Route VCC traces.
|
||||
- Connect the VCC traces between the NeoPixel chips and the capacitors with a 0.750 mm track.
|
||||
- Place free-standing vias (Ctrl+Shift+V) in the middle of the just created VCC traces.
|
||||
7. Route GND traces.
|
||||
8. Route GND traces.
|
||||
- Draw short GND traces with a 0.750 mm track and a via at the end next to the GND pads of the NeoPixel chips.
|
||||
8. Fill all zones by pressing B. Make sure that all nets are routed.
|
||||
9. Run the Design Rules Checker and make sure there are no (relevant) violations.
|
||||
9. Fill all zones by pressing B. Make sure that all nets are routed.
|
||||
10. Run the Design Rules Checker and make sure there are no (relevant) violations.
|
||||
|
||||
#### Export Gerber files
|
||||
|
||||
|
|
@ -69,7 +82,7 @@ Now you can generate the gerber, drill and map files.
|
|||
1. Generate Gerber files.
|
||||
- Menu: `File -> Fabrication Output -> Gerbers`
|
||||
- Select plot format `Gerber`.
|
||||
- Set output directory to `gerber/rev1/` (adjust for current revision).
|
||||
- Set output directory to `gerber/`.
|
||||
- Set coordinate format to `4.6, unit mm`.
|
||||
- Click `Plot` to generate files.
|
||||
2. Generate drill and map files.
|
||||
|
|
@ -78,7 +91,7 @@ Now you can generate the gerber, drill and map files.
|
|||
- Set drill units to millimeters.
|
||||
- Set same output directory as above.
|
||||
- Click `Generate Drill File`, then `Generate Map File`
|
||||
3. Create zip file with all generated files from `kicad/gerber/{REVISION}`.
|
||||
3. Create zip file with all generated files from `kicad/gerber/`.
|
||||
- No subdirectories, only files.
|
||||
- Ideally name the file `kicad/gerber/eepyboard_{REVISION}.zip`.
|
||||
4. Upload zip file to manufacturer and make sure everything is correct.
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ meta:
|
|||
# Required version of Ergogen
|
||||
engine: "4.1.0"
|
||||
# Version of the board
|
||||
version: "1.0"
|
||||
version: "1.1"
|
||||
author: binaryDiv
|
||||
|
||||
# Define units and default values used throughout this file
|
||||
|
|
@ -29,268 +29,409 @@ units:
|
|||
$default_spread: cx
|
||||
$default_padding: cy
|
||||
|
||||
# Vertical offset between function keys and primary keys
|
||||
function_zone_offset: 3
|
||||
# Vertical offset between function key row and main zone
|
||||
function_offset: 3
|
||||
|
||||
# Define the points (i.e. keys)
|
||||
# Horizontal offset/gap between function key groups (Esc, F1-F4, F5-F8, F9-F12)
|
||||
function_gap: 6
|
||||
|
||||
# Distance between left and right half of the main zone
|
||||
split_gap_width: 2cx + 3
|
||||
|
||||
# Radius of rotary encoder knob (just for visualization)
|
||||
rotary_encoder_radius: 10
|
||||
|
||||
# Define the points (primarily the keys, but also some auxiliary points for
|
||||
# placement of other components, e.g. rotary encoders and the controller board)
|
||||
points:
|
||||
key:
|
||||
# Tag all points as "is_key" unless overwritten
|
||||
tags: [ is_key ]
|
||||
# Use 5V as VCC for all RGB LEDs, except for the first one in the chain
|
||||
led_vcc_net: VCC
|
||||
|
||||
zones:
|
||||
# Primary keyboard zone
|
||||
primary:
|
||||
# Main keyboard zone
|
||||
main:
|
||||
# Set anchor to fix placement on KiCad sheet
|
||||
anchor:
|
||||
shift: [ 100, -150 ]
|
||||
shift: [ 75, -175 ]
|
||||
|
||||
# Key rows (from bottom to top)
|
||||
rows:
|
||||
# Modifier row (Ctrl, ..., but excluding the thumb keys)
|
||||
# Modifier row (Ctrl etc., but excluding the thumb keys)
|
||||
mods:
|
||||
row_net: GP17
|
||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
tags: [ is_key, flip_led ]
|
||||
row_net: ROW1
|
||||
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
|
||||
# Bottom letter row (Shift, ZXCV...)
|
||||
# Bottom letter row
|
||||
bottom:
|
||||
row_net: GP16
|
||||
led_previous_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
||||
row_net: ROW2
|
||||
led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
||||
tags: [ is_key, flip_led ]
|
||||
|
||||
# Middle/home letter row (Caps Lock, ASDFG...)
|
||||
# Home letter row
|
||||
home:
|
||||
row_net: GP15
|
||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
tags: [ is_key, flip_led ]
|
||||
row_net: ROW3
|
||||
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
|
||||
# Top letter row (Tab, QWERT...)
|
||||
# Top letter row
|
||||
top:
|
||||
row_net: GP14
|
||||
led_previous_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
||||
|
||||
# Number row (`, 12345...)
|
||||
numbers:
|
||||
row_net: GP13
|
||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
row_net: ROW4
|
||||
led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
||||
tags: [ is_key, flip_led ]
|
||||
|
||||
# Number row
|
||||
numbers:
|
||||
row_net: ROW5
|
||||
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||
|
||||
# Key columns (from left to right)
|
||||
columns:
|
||||
# Left-most column (`, Tab, Caps Lock, Shift, Ctrl)
|
||||
# Left-most column (extra keys)
|
||||
left:
|
||||
key.column_net: COL1
|
||||
key.neighbor_col_right: zero
|
||||
rows.numbers.led_next_key: main_left_top
|
||||
rows.home.led_next_key: main_left_bottom
|
||||
# Use placeholder to mark end of the RGB LED chain (unused net name)
|
||||
rows.mods.led_next_key: END_OF_CHAIN
|
||||
# Modifier column (`, Tab, Shift, etc.)
|
||||
zero:
|
||||
key.column_net: GP8
|
||||
key.stagger: 1/8cy
|
||||
key.column_net: COL2
|
||||
key.neighbor_col_left: left
|
||||
key.neighbor_col_right: one
|
||||
rows.numbers.led_previous_key: function_esc_default
|
||||
rows.home.led_previous_key: primary_zero_top
|
||||
rows.mods.led_previous_key: primary_zero_bottom
|
||||
# First letter column (1, Q)
|
||||
one:
|
||||
key.column_net: GP7
|
||||
key.stagger: 1/8cy
|
||||
key.column_net: COL3
|
||||
key.neighbor_col_left: zero
|
||||
key.neighbor_col_right: two
|
||||
# Second letter column (2, W)
|
||||
two:
|
||||
key.column_net: GP6
|
||||
key.stagger: 1/8cy
|
||||
key.column_net: COL4
|
||||
key.neighbor_col_left: one
|
||||
key.neighbor_col_right: three
|
||||
rows.mods.skip: true
|
||||
# Third letter column (3, E)
|
||||
three:
|
||||
key.column_net: GP5
|
||||
key.column_net: COL5
|
||||
key.neighbor_col_left: two
|
||||
key.neighbor_col_right: four
|
||||
rows.mods.skip: true
|
||||
# Fourth letter column (4, R)
|
||||
four:
|
||||
key.column_net: GP4
|
||||
key.stagger: -(1/4cy)
|
||||
key.column_net: COL6
|
||||
key.neighbor_col_left: three
|
||||
key.neighbor_col_right: five
|
||||
rows.mods.skip: true
|
||||
# Fifth letter column (5, T)
|
||||
five:
|
||||
key.column_net: GP3
|
||||
key.stagger: -(1/4cy)
|
||||
key.column_net: COL7
|
||||
key.neighbor_col_left: four
|
||||
key.neighbor_col_right: six
|
||||
rows.top.led_next_key: arrow_keys_up
|
||||
rows.bottom.led_next_key: arrow_keys_down
|
||||
rows.mods.skip: true
|
||||
|
||||
# (Gap with arrow keys in the middle: Matrix column 8)
|
||||
|
||||
# Sixth letter column (6, Y)
|
||||
six:
|
||||
key.column_net: GP2
|
||||
key.spread: cx + split_gap_width
|
||||
key.column_net: COL9
|
||||
key.neighbor_col_left: five
|
||||
key.neighbor_col_right: seven
|
||||
rows.home.led_next_key: arrow_keys_right
|
||||
rows.mods.skip: true
|
||||
# Seventh letter column (7, U)
|
||||
seven:
|
||||
key.column_net: GP1
|
||||
key.stagger: 1/4cy
|
||||
key.column_net: COL10
|
||||
key.neighbor_col_left: six
|
||||
key.neighbor_col_right: eight
|
||||
rows.mods.skip: true
|
||||
# Eighth letter column (8, I)
|
||||
eight:
|
||||
key.column_net: GP0
|
||||
key.stagger: 1/4cy
|
||||
key.column_net: COL11
|
||||
key.neighbor_col_left: seven
|
||||
key.neighbor_col_right: nine
|
||||
rows.mods.skip: true
|
||||
# Nineth letter column (9, O)
|
||||
nine:
|
||||
key.column_net: GP25
|
||||
key.column_net: COL12
|
||||
key.neighbor_col_left: eight
|
||||
key.neighbor_col_right: ten
|
||||
rows.mods.skip: true
|
||||
# Tenth letter column (0, P)
|
||||
ten:
|
||||
key.column_net: GP24
|
||||
key.stagger: -(1/8cy)
|
||||
key.column_net: COL13
|
||||
key.neighbor_col_left: nine
|
||||
key.neighbor_col_right: eleven
|
||||
rows.mods.skip: true
|
||||
rows.mods.led_next_key: mirror_thumb_one
|
||||
# Eleventh letter column (-, [)
|
||||
eleven:
|
||||
key.column_net: GP23
|
||||
key.stagger: -(1/8cy)
|
||||
key.column_net: COL14
|
||||
key.neighbor_col_left: ten
|
||||
key.neighbor_col_right: twelve
|
||||
rows.mods.led_previous_key: thumb_mirror_one_default
|
||||
# Twelfth letter column (=, ])
|
||||
twelve:
|
||||
key.column_net: GP22
|
||||
key.stagger: -(1/8cy)
|
||||
key.column_net: COL15
|
||||
key.neighbor_col_left: eleven
|
||||
rows.top.led_previous_key: primary_twelve_numbers
|
||||
rows.bottom.led_previous_key: primary_twelve_home
|
||||
rows.top.led_next_key: main_twelve_home
|
||||
rows.bottom.led_next_key: main_twelve_mods
|
||||
|
||||
# Thumb fan
|
||||
thumb:
|
||||
# Position thumb keys based on the (non-existant) third key in the modifier row
|
||||
# Position thumb keys based on the third key in the modifier row
|
||||
anchor:
|
||||
ref: primary_two_mods
|
||||
shift: [ 2, 0 ]
|
||||
ref: main_one_mods
|
||||
shift: [ cx + 1, 0 ]
|
||||
|
||||
# Rotate the thumb keys around the bottom-left corner of the key
|
||||
# Zone-wide key settings
|
||||
key:
|
||||
row_net: GP17
|
||||
tags: [ is_key, flip_led ]
|
||||
row_net: ROW1
|
||||
# Rotate the thumb keys around the bottom-left corner of the key
|
||||
origin: [ -0.5cx, -0.5cy ]
|
||||
splay: -4
|
||||
splay: -6
|
||||
|
||||
# Define thumb keys
|
||||
columns:
|
||||
one:
|
||||
key.column_net: GP6
|
||||
key.mirror.column_net: GP24
|
||||
key.led_previous_key: primary_one_mods
|
||||
key.mirror.led_previous_key: thumb_mirror_two_default
|
||||
key.column_net: COL4
|
||||
key.mirror.column_net: COL12
|
||||
key.led_next_key: main_one_mods
|
||||
key.mirror.led_next_key: mirror_thumb_two
|
||||
two:
|
||||
key.column_net: GP5
|
||||
key.mirror.column_net: GP25
|
||||
key.led_previous_key: thumb_one_default
|
||||
key.mirror.led_previous_key: thumb_mirror_three_default
|
||||
key.column_net: COL5
|
||||
key.mirror.column_net: COL11
|
||||
key.led_next_key: thumb_one
|
||||
key.mirror.led_next_key: mirror_thumb_three
|
||||
three:
|
||||
key.column_net: GP4
|
||||
key.mirror.column_net: GP0
|
||||
key.led_previous_key: thumb_two_default
|
||||
key.mirror.led_previous_key: thumb_mirror_four_default
|
||||
key.column_net: COL6
|
||||
key.mirror.column_net: COL10
|
||||
key.led_next_key: thumb_two
|
||||
key.mirror.led_next_key: mirror_thumb_four
|
||||
four:
|
||||
key.column_net: GP3
|
||||
key.mirror.column_net: GP1
|
||||
key.led_previous_key: thumb_three_default
|
||||
key.mirror.led_previous_key: thumb_four_default
|
||||
key.column_net: COL7
|
||||
key.mirror.column_net: COL9
|
||||
key.led_next_key: thumb_three
|
||||
key.mirror.led_next_key: thumb_center
|
||||
|
||||
# Mirror the thumb fan
|
||||
mirror:
|
||||
ref: primary_five_numbers
|
||||
shift: [ 0.5cx, 0.5cx ]
|
||||
distance: 1cx
|
||||
ref: main_five_bottom
|
||||
shift: [ 0.5cx, 0.5cy ]
|
||||
distance: split_gap_width
|
||||
|
||||
# Function key row above the primary zone (Esc + 8 more keys)
|
||||
# (Note that the keys are only named "f[1-8]" for convenience and are not a full set of F1-F12 keys. They can be
|
||||
# used as F-keys when needed, but will more likely be used for macros and other special functions.)
|
||||
function:
|
||||
# Position function key row above primary zone with 3mm of vertical offset
|
||||
# Single key centered between thumb keys
|
||||
thumb_center:
|
||||
anchor:
|
||||
ref: primary_zero_numbers
|
||||
shift: [ 0, cy + function_zone_offset ]
|
||||
# Center between the two inner thumb keys
|
||||
aggregate.parts:
|
||||
- thumb_four
|
||||
- mirror_thumb_four
|
||||
shift: [ 0, -0.25cy ]
|
||||
|
||||
# Key settings (instead of rows/columns)
|
||||
key:
|
||||
row_net: GP12
|
||||
width: 1.5kcx
|
||||
row_net: ROW1
|
||||
column_net: COL8
|
||||
led_next_key: thumb_four
|
||||
tags: [ is_key, 1_5u ]
|
||||
|
||||
# Arrow keys in the middle of the keyboard
|
||||
# In the matrix, these keys act as 4 keys in a single column (column 8, row 2 to 5)
|
||||
arrow_keys:
|
||||
anchor:
|
||||
# Center between the V and B keys, then shift down half a key
|
||||
aggregate.parts:
|
||||
- main_five_bottom
|
||||
- main_six_bottom
|
||||
shift: [ 0, -cy/2 ]
|
||||
|
||||
# Assign all keys to the same column
|
||||
key:
|
||||
column_net: COL8
|
||||
|
||||
rows:
|
||||
# Bottom row: Only the down key
|
||||
bottom:
|
||||
row_net: ROW2
|
||||
tags: [ is_key, flip_led ]
|
||||
|
||||
# Center row: Left and right keys (shifted to the left to center them)
|
||||
center:
|
||||
adjust.shift: [ -cx/2, 0 ]
|
||||
# Use ROW3 for the left key and ROW5 for the right key (overridden in columns)
|
||||
row_net: ROW3
|
||||
|
||||
# Top row: Only the up key
|
||||
top:
|
||||
row_net: ROW4
|
||||
tags: [ is_key, flip_led ]
|
||||
|
||||
columns:
|
||||
# Left column: Up, left, down keys
|
||||
left:
|
||||
rows.top:
|
||||
name: arrow_keys_up
|
||||
led_next_key: main_six_top
|
||||
rows.center:
|
||||
name: arrow_keys_left
|
||||
led_next_key: main_five_home
|
||||
rows.bottom:
|
||||
name: arrow_keys_down
|
||||
led_next_key: main_six_bottom
|
||||
|
||||
# Right column: Only right key (assigned to matrix row 5)
|
||||
right:
|
||||
rows.top.skip: true
|
||||
rows.center:
|
||||
name: arrow_keys_right
|
||||
row_net: ROW5
|
||||
led_next_key: arrow_keys_left
|
||||
rows.bottom.skip: true
|
||||
|
||||
# Function key row above the main zone (Esc, F1-F12)
|
||||
function:
|
||||
# Position function key row above main zone with 3mm of vertical offset
|
||||
anchor:
|
||||
# To center the F keys on the top of the keyboard:
|
||||
# - Get center point between keys 3 and 8 (they have the highest staggering)
|
||||
# - Shift upwards by one key + an offset to have a small gap
|
||||
# - Shift to the left by 7 keys (Esc, F1-F6) + the gaps between the F key groups.
|
||||
aggregate.parts:
|
||||
- main_three_numbers
|
||||
- main_eight_numbers
|
||||
shift: [ -6.5cx - 2 * function_gap, cy + function_offset ]
|
||||
|
||||
# Single row zone: Assign row net
|
||||
key:
|
||||
row_net: ROW6
|
||||
tags: [ is_key, flip_led ]
|
||||
|
||||
# Define function keys
|
||||
columns:
|
||||
# Escape key
|
||||
esc:
|
||||
key.column_net: GP8
|
||||
key.led_previous_key: function_f1_default
|
||||
key.shift: [ 0, -cy/8 ]
|
||||
key.column_net: COL1
|
||||
key.led_next_key: function_f1
|
||||
# Esc is the first key in the RGB LED chain.
|
||||
# The first LED needs to run on a lower voltage (see explanation below).
|
||||
key.led_vcc_net: VCC_first_led
|
||||
|
||||
# Block of 4 keys with 6mm offset
|
||||
# Block of 4 keys with gap
|
||||
f1:
|
||||
key.spread: cx + 6
|
||||
key.column_net: GP7
|
||||
key.led_previous_key: function_f2_default
|
||||
key.spread: cx + function_gap
|
||||
key.column_net: COL2
|
||||
key.led_next_key: function_f2
|
||||
f2:
|
||||
key.column_net: GP6
|
||||
key.led_previous_key: function_f3_default
|
||||
key.column_net: COL3
|
||||
key.led_next_key: function_f3
|
||||
f3:
|
||||
key.column_net: GP5
|
||||
key.led_previous_key: function_f4_default
|
||||
key.column_net: COL4
|
||||
key.led_next_key: function_f4
|
||||
f4:
|
||||
key.column_net: GP4
|
||||
key.led_previous_key: function_f5_default
|
||||
key.column_net: COL5
|
||||
key.led_next_key: function_f5
|
||||
|
||||
# Block of 4 keys with 6mm offset
|
||||
# Block of 4 keys with gap
|
||||
f5:
|
||||
key.spread: cx + 6
|
||||
key.column_net: GP3
|
||||
key.led_previous_key: function_f6_default
|
||||
key.spread: cx + function_gap
|
||||
key.column_net: COL6
|
||||
key.led_next_key: function_f6
|
||||
f6:
|
||||
key.column_net: GP2
|
||||
key.led_previous_key: function_f7_default
|
||||
key.column_net: COL7
|
||||
key.led_next_key: function_f7
|
||||
# Skip matrix column 8 (arrow keys)
|
||||
f7:
|
||||
key.column_net: GP1
|
||||
key.led_previous_key: function_f8_default
|
||||
key.column_net: COL9
|
||||
key.led_next_key: function_f8
|
||||
f8:
|
||||
key.column_net: GP0
|
||||
key.led_previous_key: status_led
|
||||
key.column_net: COL10
|
||||
key.led_next_key: function_f9
|
||||
|
||||
# Additional points for special components in the upper right corner: Status LED, reset button, rotary encoder
|
||||
special:
|
||||
# Align points with the function key zone
|
||||
# Block of 4 keys with gap
|
||||
f9:
|
||||
key.spread: cx + function_gap
|
||||
key.column_net: COL11
|
||||
key.led_next_key: function_f10
|
||||
f10:
|
||||
key.column_net: COL12
|
||||
key.led_next_key: function_f11
|
||||
f11:
|
||||
key.column_net: COL13
|
||||
key.led_next_key: function_f12
|
||||
f12:
|
||||
key.column_net: COL14
|
||||
key.led_next_key: main_twelve_numbers
|
||||
|
||||
# RP2040 Pico Mini controller board
|
||||
controller:
|
||||
anchor:
|
||||
ref: primary_ten_numbers
|
||||
shift: [ 0, cy + function_zone_offset ]
|
||||
# Place in the center of the keyboard, above the arrow keys
|
||||
aggregate.parts:
|
||||
- main_five_numbers
|
||||
- main_six_numbers
|
||||
shift: [ 0, 1.5 ]
|
||||
|
||||
# These are not actually keys
|
||||
# This is an auxiliary point to place the controller, not an actual key
|
||||
key:
|
||||
tags: [ no_key ]
|
||||
tags: [ is_controller ]
|
||||
width: 18
|
||||
height: 36
|
||||
|
||||
# Define points
|
||||
columns:
|
||||
# Neopixel status LED (first in the chain, see comment in PCB footprints for details)
|
||||
status_led:
|
||||
key:
|
||||
width: 3.4
|
||||
height: 3.0
|
||||
# Rotary encoder in the center of the keyboard (on top of the controller board)
|
||||
rotary_center:
|
||||
anchor:
|
||||
ref: controller
|
||||
rotate: -90
|
||||
key:
|
||||
tags: [ is_rotary_encoder ]
|
||||
width: 2 * rotary_encoder_radius
|
||||
height: 2 * rotary_encoder_radius
|
||||
# Matrix position of the switch: between F7 and F8
|
||||
row_net: ROW6
|
||||
column_net: COL8
|
||||
|
||||
# Reset button
|
||||
reset_button:
|
||||
key:
|
||||
shift: [ -0.25cx - 1, 0 ]
|
||||
width: 6.5
|
||||
height: 6.5
|
||||
|
||||
# Rotary encoder in the upper right corner
|
||||
rotary:
|
||||
key:
|
||||
row_net: GP12
|
||||
column_net: GP22
|
||||
shift: [ -0.25cx, 0 ]
|
||||
width: 20.5
|
||||
height: 20.5
|
||||
tags: [ is_rotary_encoder ]
|
||||
# Rotary encoder in the top right corner of the keyboard
|
||||
rotary_top_right:
|
||||
anchor:
|
||||
ref: function_f12
|
||||
shift: [ cx + 2 + function_gap, -cy/8 ]
|
||||
key:
|
||||
tags: [ is_rotary_encoder ]
|
||||
width: 2 * rotary_encoder_radius
|
||||
height: 2 * rotary_encoder_radius
|
||||
# Matrix position of the switch: Function row, right of F12
|
||||
row_net: ROW6
|
||||
column_net: COL15
|
||||
|
||||
# Generate outlines that can be used in the PCB and for 3D models
|
||||
outlines:
|
||||
# Outline of the key caps
|
||||
keys:
|
||||
# 1u keys
|
||||
- what: rectangle
|
||||
where: is_key
|
||||
operation: stack
|
||||
where: [ [ is_key, -1_5u ] ]
|
||||
size: [ kcx, kcy ]
|
||||
# 1.5u keys
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
where: [ [ is_key, 1_5u ] ]
|
||||
size: [ 1.5kcx, kcy ]
|
||||
|
||||
# Rotary encoder with knob (2cm)
|
||||
rotary_encoder:
|
||||
|
|
@ -299,46 +440,77 @@ outlines:
|
|||
size: [ 14, 14 ]
|
||||
- what: circle
|
||||
operation: stack
|
||||
radius: 10
|
||||
radius: rotary_encoder_radius
|
||||
|
||||
# Outline for the PCB
|
||||
board:
|
||||
board_outline:
|
||||
- what: polygon
|
||||
points:
|
||||
- ref: primary_zero_numbers
|
||||
shift: [ -0.5cx + 1, 1.5cy + function_zone_offset + 2 ]
|
||||
- ref: primary_twelve_numbers
|
||||
shift: [ 0.5cx - 1, 1.5cy + function_zone_offset + 2]
|
||||
- ref: primary_twelve_mods
|
||||
shift: [ 0.5cx - 1, -0.5cy + 2 ]
|
||||
- ref: mirror_thumb_four
|
||||
shift: [ 0.5cx, -0.5cy + 2 ]
|
||||
- ref: thumb_four
|
||||
shift: [ 0.5cx, -0.5cy + 2 ]
|
||||
- ref: primary_zero_mods
|
||||
shift: [ -0.5cx + 1, -0.5cy + 2 ]
|
||||
expand: 4
|
||||
# Top left corner
|
||||
- ref: &corner_top_left_anchor
|
||||
- ref: main_left_numbers
|
||||
affect: x
|
||||
- ref: function_f1
|
||||
affect: y
|
||||
- shift: [ -0.5kcx, 0.5kcy ]
|
||||
# Extend all corners 4mm to the sides to get a 4mm border
|
||||
shift: [ -4, 4 ]
|
||||
|
||||
# Top right corner
|
||||
- ref: &corner_top_right_anchor
|
||||
- ref: main_twelve_numbers
|
||||
affect: x
|
||||
- ref: function_f12
|
||||
affect: y
|
||||
- shift: [ 0.5kcx, 0.5kcy ]
|
||||
shift: [ 4, 4 ]
|
||||
|
||||
# Bottom right corner
|
||||
- ref:
|
||||
- ref: main_twelve_mods
|
||||
shift: [ 0.5kcx, -0.5kcy ]
|
||||
shift: [ 4, -4 ]
|
||||
|
||||
# Bottom center-right corner (below thumb keys)
|
||||
- ref:
|
||||
- ref: mirror_thumb_four
|
||||
shift: [ 0.5kcx, -0.5kcy ]
|
||||
# Discard the rotation, so the next shift moves the corner straight down
|
||||
affect: xy
|
||||
shift: [ 0, -4 ]
|
||||
|
||||
# Bottom center-left corner (below thumb keys)
|
||||
- ref:
|
||||
- ref: thumb_four
|
||||
shift: [ 0.5kcx, -0.5kcy ]
|
||||
# Discard the rotation, so the next shift moves the corner straight down
|
||||
affect: xy
|
||||
shift: [ 0, -4 ]
|
||||
|
||||
# Bottom left corner
|
||||
- ref:
|
||||
- ref: main_left_mods
|
||||
shift: [ -0.5kcx, -0.5kcy ]
|
||||
shift: [ -4, -4 ]
|
||||
|
||||
# Round off the corners with an 8mm radius fillet.
|
||||
# NOTE: To get a smoother arc on the bottom of the board, do some post-processing in KiCad:
|
||||
# 1. Remove the bottom center line and the two small fillet arcs next to it.
|
||||
# 2. Select the two remaining bottom lines. Right click them and use "Shape Modification -> Extend Lines to Meet".
|
||||
# 3. Right click the two angled lines again. Use "Shape Modification -> Fillet Lines..." with a 200mm radius.
|
||||
fillet: 8
|
||||
|
||||
# Preview version of board with key caps and components for visualization
|
||||
board_preview:
|
||||
- board
|
||||
- board_outline
|
||||
- ^keys
|
||||
# RP2040 controller board
|
||||
|
||||
# RP2040 Pico Mini controller board
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
where: primary_eleven_numbers
|
||||
size: [ 54, 20 ]
|
||||
adjust.shift: [ 0, cy + function_zone_offset ]
|
||||
# Status LED
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
where: special_status_led
|
||||
size: [ 3.4, 3.0 ]
|
||||
# Reset button
|
||||
- what: rectangle
|
||||
operation: stack
|
||||
where: special_reset_button
|
||||
size: [ 6.5, 6.5 ]
|
||||
where: is_controller
|
||||
size: [ 18, 36 ]
|
||||
|
||||
# Rotary encoder
|
||||
- what: outline
|
||||
name: rotary_encoder
|
||||
|
|
@ -348,12 +520,12 @@ outlines:
|
|||
# Cutouts for the switches
|
||||
switch_cutouts:
|
||||
- what: rectangle
|
||||
where: true
|
||||
where: is_key
|
||||
size: 14
|
||||
|
||||
# Board outline with switch cutouts
|
||||
switch_plate:
|
||||
- board
|
||||
- board_outline
|
||||
- -switch_cutouts
|
||||
|
||||
# Generate the PCB
|
||||
|
|
@ -362,20 +534,48 @@ pcbs:
|
|||
# Define outline (edges) of the board based on the outlines defined above
|
||||
outlines:
|
||||
main:
|
||||
outline: board
|
||||
outline: board_outline
|
||||
|
||||
# Define PCB components
|
||||
footprints:
|
||||
controller:
|
||||
what: rp2040_purple
|
||||
where:
|
||||
ref: primary_eleven_numbers
|
||||
shift: [ 0, cy + function_zone_offset ]
|
||||
rotate: 90
|
||||
what: rp2040_pico_mini
|
||||
where: is_controller
|
||||
params:
|
||||
# Mount the controller board on the backside of the PCB
|
||||
orientation: down
|
||||
# Use VBUS (5V from USB) as VCC net
|
||||
VBUS: VCC
|
||||
# Use 5V from USB as VCC net
|
||||
5V: VCC
|
||||
# RGB LEDs: The chain starts with the Esc key
|
||||
GP29: led_din_function_esc
|
||||
# Matrix columns
|
||||
GP27: COL1
|
||||
GP26: COL2
|
||||
GP25: COL3
|
||||
GP23: COL4
|
||||
GP22: COL5
|
||||
GP21: COL6
|
||||
GP20: COL7
|
||||
GP17: COL8 # Center column (arrow keys)
|
||||
GP12: COL9
|
||||
GP11: COL10
|
||||
GP10: COL11
|
||||
GP9: COL12
|
||||
GP8: COL13
|
||||
GP7: COL14
|
||||
GP6: COL15
|
||||
# Matrix rows
|
||||
GP13: ROW1
|
||||
GP14: ROW2
|
||||
GP19: ROW3
|
||||
GP18: ROW4
|
||||
GP15: ROW5
|
||||
GP28: ROW6
|
||||
# Rotary encoders
|
||||
GP0: rotary_top_right_a
|
||||
GP1: rotary_top_right_b
|
||||
GP3: rotary_center_a
|
||||
GP2: rotary_center_b
|
||||
|
||||
choc_hotswap:
|
||||
what: choc_pretty
|
||||
|
|
@ -385,33 +585,33 @@ pcbs:
|
|||
params:
|
||||
keycaps: true
|
||||
hotswap: true
|
||||
from: "{{colrow}}"
|
||||
from: "diode_{{name}}"
|
||||
to: "{{column_net}}"
|
||||
|
||||
diode:
|
||||
key_diode:
|
||||
what: diode_smd
|
||||
where: is_key
|
||||
adjust:
|
||||
shift: [ 7, -7.5 ]
|
||||
shift: [ 7, -7 ]
|
||||
rotate: 90
|
||||
resist: true
|
||||
params:
|
||||
side: B
|
||||
from: "{{colrow}}"
|
||||
from: "diode_{{name}}"
|
||||
to: "{{row_net}}"
|
||||
|
||||
rotary_encoder:
|
||||
what: rotary_modified
|
||||
what: rotary_encoder_ec12
|
||||
where: is_rotary_encoder
|
||||
params:
|
||||
from: "{{colrow}}"
|
||||
from: "diode_{{name}}"
|
||||
to: "{{column_net}}"
|
||||
A: GP10
|
||||
B: GP11
|
||||
A: "{{name}}_a"
|
||||
B: "{{name}}_b"
|
||||
C: GND
|
||||
|
||||
diode_rotary_encoder:
|
||||
$extends: pcbs.eepyboard.footprints.diode
|
||||
rotary_encoder_diode:
|
||||
$extends: pcbs.eepyboard.footprints.key_diode
|
||||
where: is_rotary_encoder
|
||||
adjust:
|
||||
shift: [ 0, 0 ]
|
||||
|
|
@ -426,24 +626,25 @@ pcbs:
|
|||
shift: [ 0, 4.7 ]
|
||||
params:
|
||||
side: B
|
||||
din: "led_dout_{{led_previous_key}}"
|
||||
dout: "led_dout_{{zone.name}}_{{colrow}}"
|
||||
din: "led_din_{{name}}"
|
||||
dout: "led_din_{{led_next_key}}"
|
||||
VCC: "{{led_vcc_net}}"
|
||||
|
||||
led_capacitor:
|
||||
what: cap_0805
|
||||
what: capacitor_smd_1206
|
||||
where: [ [ is_key, -flip_led ] ]
|
||||
adjust:
|
||||
shift: [ -6, 4.5 ]
|
||||
shift: [ -6.5, 4.75 ]
|
||||
rotate: 90
|
||||
resist: true
|
||||
params:
|
||||
side: B
|
||||
from: VCC
|
||||
from: "{{led_vcc_net}}"
|
||||
to: GND
|
||||
|
||||
led_chip_flipped:
|
||||
$extends: pcbs.eepyboard.footprints.led_chip
|
||||
# Place flipped (rotated by 180°) LEDs in all rows *with* the flip_led tag
|
||||
# Place flipped (rotated by 180°) LEDs in all rows with the flip_led tag
|
||||
where: [ [ is_key, flip_led ] ]
|
||||
adjust.rotate: 180
|
||||
|
||||
|
|
@ -451,97 +652,86 @@ pcbs:
|
|||
$extends: pcbs.eepyboard.footprints.led_capacitor
|
||||
where: [ [ is_key, flip_led ] ]
|
||||
adjust:
|
||||
shift: [ 6, 4.9 ]
|
||||
shift: [ 6.5, 4.75 ]
|
||||
rotate: 270
|
||||
resist: true
|
||||
|
||||
# Additional first LED (not bound to a key) that serves as a status LED.
|
||||
# Additionally, it runs on a reduced voltage to serve as a level converter for the next LED: The RP2040 runs on
|
||||
# 3.3V, but the SK6812 runs on 5V and requires at least 3.5V (5V * 0.7) for the control signal. By reducing the
|
||||
# power voltage with a diode, the threshold is reduced as well, so that the signal of the RP2040 is strong enough.
|
||||
status_led_chip:
|
||||
what: sk6812_mini_e
|
||||
where: special_status_led
|
||||
params:
|
||||
side: B
|
||||
VCC: VCC_status_led
|
||||
din: GP9
|
||||
dout: led_dout_status_led
|
||||
|
||||
status_led_capacitor:
|
||||
what: cap_0805
|
||||
where: special_status_led
|
||||
adjust:
|
||||
shift: [ -6, -0.2 ]
|
||||
rotate: 90
|
||||
params:
|
||||
side: B
|
||||
from: VCC_status_led
|
||||
to: GND
|
||||
|
||||
# Diode to reduce the voltage of the first LED chip by ~0.7V
|
||||
status_led_diode:
|
||||
# The first SK6812 chip in the chain has to run on a reduced voltage to serve as a makeshift level converter for
|
||||
# all following RGB LEDs.
|
||||
# This is needed because the RP2040 runs on 3.3V, but the SK6812 runs on 5V and requires at least 3.5V (5V * 0.7)
|
||||
# for the control signal. By reducing the power voltage with a diode, the threshold is reduced as well, so that
|
||||
# the signal of the RP2040 is strong enough.
|
||||
first_led_voltage_diode:
|
||||
what: diode_smd
|
||||
where: special_status_led
|
||||
where: function_esc
|
||||
adjust:
|
||||
shift: [ 0, 3.5 ]
|
||||
rotate: 0
|
||||
shift: [ 10, 1.5]
|
||||
rotate: -90
|
||||
params:
|
||||
side: B
|
||||
from: VCC
|
||||
to: VCC_status_led
|
||||
to: VCC_first_led
|
||||
|
||||
reset_button:
|
||||
what: button_6x6
|
||||
where: special_reset_button
|
||||
params:
|
||||
from: GND
|
||||
to: RUN
|
||||
|
||||
# Mounting holes
|
||||
# Mounting holes: Top left and right corners
|
||||
mounting_hole_top_left:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: function_esc
|
||||
shift: [ -9, 11.5 ]
|
||||
|
||||
mounting_hole_top_center:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: function_f4
|
||||
shift: [ 12.5, 0 ]
|
||||
ref: *corner_top_left_anchor
|
||||
shift: [ 2, -2 ]
|
||||
|
||||
mounting_hole_top_right:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: primary_twelve_numbers
|
||||
shift: [ 9, cy + function_zone_offset + 11.5 ]
|
||||
ref: *corner_top_right_anchor
|
||||
shift: [ -2, -2 ]
|
||||
|
||||
# Mounting holes: Top center, left and right of the controller
|
||||
mounting_hole_controller_left:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: main_five_numbers
|
||||
shift: [ 0, 12 ]
|
||||
|
||||
mounting_hole_controller_right:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: main_six_numbers
|
||||
shift: [ 0, 12 ]
|
||||
|
||||
# Mounting holes: Bottom center, under columns five/six (but above the thumb keys)
|
||||
mounting_hole_bottom_center_left:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: main_five_bottom
|
||||
shift: [ 0, -13 ]
|
||||
|
||||
mounting_hole_bottom_center_right:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: main_six_bottom
|
||||
shift: [ 0, -13 ]
|
||||
|
||||
# Mounting holes: Bottom left and right corners, under the second key columns
|
||||
mounting_hole_bottom_left:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: primary_one_mods
|
||||
shift: [ 10.5, -12 ]
|
||||
|
||||
mounting_hole_bottom_center:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: primary_six_bottom
|
||||
shift: [ 0, -23 ]
|
||||
ref: main_zero_mods
|
||||
shift: [ 0, -13.5 ]
|
||||
|
||||
mounting_hole_bottom_right:
|
||||
what: mountinghole_m2
|
||||
where:
|
||||
ref: primary_eleven_mods
|
||||
shift: [ -10.5, -12 ]
|
||||
ref: main_eleven_mods
|
||||
shift: [ 0, -13.5 ]
|
||||
|
||||
# Render text with project name and copyright onto the PCB
|
||||
copyright_text:
|
||||
what: text
|
||||
where:
|
||||
ref: primary_six_bottom
|
||||
shift: [ 0, -15 ]
|
||||
ref: thumb_one
|
||||
shift: [ 0, -16.5 ]
|
||||
rotate: -0.3 # total rotation: -6.3 (including key rotation)
|
||||
params:
|
||||
text: |-
|
||||
eepyBoard v1.0 by binaryDiv
|
||||
eepyBoard v1.1 by binaryDiv
|
||||
(c) 2024 (MIT License)
|
||||
|
|
|
|||
|
|
@ -1,48 +0,0 @@
|
|||
// Tactile button 6x6mm
|
||||
// Source: https://kicad.github.io/footprints/Button_Switch_SMD
|
||||
module.exports = {
|
||||
params: {
|
||||
designator: 'B',
|
||||
side: 'F',
|
||||
from: undefined,
|
||||
to: undefined
|
||||
},
|
||||
body: p => `
|
||||
(module SW_Push_1P1T_NO_6x6mm_H9.5mm (layer F.Cu) (tedit 5CA1CA7F)
|
||||
(descr "tactile push button, 6x6mm e.g. PTS645xx series, height=9.5mm")
|
||||
(tags "tact sw push 6mm smd")
|
||||
(attr smd)
|
||||
|
||||
${p.at /* parametric position */}
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 -4.05) (layer F.SilkS) ${p.ref_hide} (effects (font (size 1 1) (thickness 0.15))))
|
||||
(fp_text value "" (at 0 4.15) (layer F.SilkS) hide (effects (font (size 1 1) (thickness 0.15))))
|
||||
|
||||
${'' /* outline */}
|
||||
(fp_line (start -3 -3 ) (end -3 3 ) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start -3 3 ) (end 3 3 ) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 3 3 ) (end 3 -3 ) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 3 -3 ) (end -3 -3 ) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 5 3.25) (end 5 -3.25) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start -5 -3.25) (end -5 3.25) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start -5 3.25) (end 5 3.25) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start -5 -3.25) (end 5 -3.25) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start 3.23 -3.23) (end 3.23 -3.2 ) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start 3.23 3.23) (end 3.23 3.2 ) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -3.23 3.23) (end -3.23 3.2 ) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -3.23 -3.2 ) (end -3.23 -3.23) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start 3.23 -1.3 ) (end 3.23 1.3 ) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -3.23 -3.23) (end 3.23 -3.23) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -3.23 -1.3 ) (end -3.23 1.3 ) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -3.23 3.23) (end 3.23 3.23) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_circle (center 0 0) (end 1.75 -0.05) (layer ${p.side}.Fab) (width 0.1))
|
||||
|
||||
${'' /* pins */}
|
||||
(pad 1 smd rect (at -3.975 -2.25 ${p.r}) (size 1.55 1.3) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from})
|
||||
(pad 1 smd rect (at 3.975 -2.25 ${p.r}) (size 1.55 1.3) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.from})
|
||||
(pad 2 smd rect (at -3.975 2.25 ${p.r}) (size 1.55 1.3) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to})
|
||||
(pad 2 smd rect (at 3.975 2.25 ${p.r}) (size 1.55 1.3) (layers ${p.side}.Cu ${p.side}.Paste ${p.side}.Mask) ${p.to})
|
||||
)
|
||||
`
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
module.exports = {
|
||||
params: {
|
||||
designator: 'C',
|
||||
side: 'F',
|
||||
from: undefined,
|
||||
to: undefined
|
||||
},
|
||||
body: p => `
|
||||
(module C_0805_2012Metric (layer ${p.side}.Cu) (tedit 5F68FEEE)
|
||||
${p.at /* parametric position */}
|
||||
(attr smd)
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
(fp_text value "" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
|
||||
${''/* capacitor symbols */}
|
||||
(fp_line (start -1 0.625) (end -1 -0.625) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start -1 -0.625) (end 1 -0.625) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 1 -0.625) (end 1 0.625) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 1 0.625) (end -1 0.625) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start -0.261252 -0.735) (end 0.261252 -0.735) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -0.261252 0.735) (end 0.261252 0.735) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -1.7 0.98) (end -1.7 -0.98) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start -1.7 -0.98) (end 1.7 -0.98) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.7 -0.98) (end 1.7 0.98) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start 1.7 0.98) (end -1.7 0.98) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
|
||||
${''/* SMD pads */}
|
||||
(pad 1 smd roundrect (at -0.95 0 ${p.r}) (size 1 1.45) (layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste)
|
||||
(roundrect_rratio 0.25) ${p.to}
|
||||
)
|
||||
(pad 2 smd roundrect (at 0.95 0 ${p.r}) (size 1 1.45) (layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste)
|
||||
(roundrect_rratio 0.25) ${p.from}
|
||||
)
|
||||
)
|
||||
`
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
module.exports = {
|
||||
params: {
|
||||
designator: 'C',
|
||||
side: 'F',
|
||||
value: '100nF',
|
||||
from: undefined,
|
||||
to: undefined,
|
||||
},
|
||||
body: p => `
|
||||
(module C_1206_3216Metric_Pad1.33x1.80mm_HandSolder (layer ${p.side}.Cu) (tedit 67059662)
|
||||
${p.at /* parametric position */}
|
||||
(attr smd)
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide}
|
||||
(effects (font (size 1.27 1.27) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value "${p.value}" (at 0 0) (layer ${p.side}.SilkS) hide
|
||||
(effects (font (size 1.27 1.27) (thickness 0.15)))
|
||||
)
|
||||
|
||||
${''/* capacitor symbols */}
|
||||
(fp_line (start -1.6 0.8) (end -1.6 -0.8) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start -1.6 -0.8) (end 1.6 -0.8) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 1.6 -0.8) (end 1.6 0.8) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start 1.6 0.8) (end -1.6 0.8) (layer ${p.side}.Fab) (width 0.1))
|
||||
(fp_line (start -0.711252 -0.91) (end 0.711252 -0.91) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -0.711252 0.91) (end 0.711252 0.91) (layer ${p.side}.SilkS) (width 0.12))
|
||||
(fp_line (start -2.48 1.15) (end -2.48 -1.15) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start -2.48 -1.15) (end 2.48 -1.15) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start 2.48 -1.15) (end 2.48 1.15) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
(fp_line (start 2.48 1.15) (end -2.48 1.15) (layer ${p.side}.CrtYd) (width 0.05))
|
||||
|
||||
${''/* SMD pads */}
|
||||
(pad 1 smd roundrect (at -1.5625 0 ${p.r}) (size 1.325 1.8)
|
||||
(layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste)
|
||||
(roundrect_rratio 0.188679) ${p.to}
|
||||
)
|
||||
(pad 2 smd roundrect (at 1.5625 0 ${p.r}) (size 1.325 1.8)
|
||||
(layers ${p.side}.Cu ${p.side}.Mask ${p.side}.Paste)
|
||||
(roundrect_rratio 0.188679) ${p.from}
|
||||
)
|
||||
)
|
||||
`
|
||||
}
|
||||
|
|
@ -2,17 +2,18 @@ module.exports = {
|
|||
params: {
|
||||
designator: 'D',
|
||||
side: 'F',
|
||||
value: '1N4148',
|
||||
from: undefined,
|
||||
to: undefined
|
||||
to: undefined,
|
||||
},
|
||||
body: p => `
|
||||
(module SmdDiode (layer ${p.side}.Cu) (tedit 65D012FE)
|
||||
(module SmdDiode_SOD-123 (layer ${p.side}.Cu) (tedit 6705952B)
|
||||
${p.at /* parametric position */}
|
||||
(attr smd)
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
(fp_text value "" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
(fp_text value "${p.value}" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
|
||||
${''/* diode symbols */}
|
||||
(fp_line (start 0.25 0) (end 0.75 0) (layer ${p.side}.SilkS) (width 0.1))
|
||||
|
|
|
|||
|
|
@ -23,8 +23,7 @@ module.exports = {
|
|||
radius: 10,
|
||||
},
|
||||
body: p => `
|
||||
(module rotary_encoder (layer F.Cu) (tedit 603326DE)
|
||||
|
||||
(module RotaryEncoder_EC12 (layer F.Cu) (tedit 6705957B)
|
||||
${p.at /* parametric position */}
|
||||
|
||||
${'' /* footprint reference */}
|
||||
|
|
@ -0,0 +1,182 @@
|
|||
// Pin header footprint for a small RP2040-based controller board from AliExpress called "Pico Mini RP2040".
|
||||
// It has a similar footprint to the Pro Micro (NOT pin-compatible though!), but has an additional row of pins
|
||||
// on the short edge of the board (basically forming a "U").
|
||||
// -------------------------------
|
||||
// Params
|
||||
// orientation: if up (default), the controller will be on the front side of the PCB, otherwise on the back side
|
||||
|
||||
module.exports = {
|
||||
params: {
|
||||
designator: 'MCU',
|
||||
orientation: 'up',
|
||||
|
||||
// Left side of pins (with USB port at the top), top to bottom
|
||||
GP0: {type: 'net', value: 'GP0'},
|
||||
GP1: {type: 'net', value: 'GP1'},
|
||||
GP2: {type: 'net', value: 'GP2'},
|
||||
GP3: {type: 'net', value: 'GP3'},
|
||||
GP4: {type: 'net', value: 'GP4'},
|
||||
GP5: {type: 'net', value: 'GP5'},
|
||||
GP6: {type: 'net', value: 'GP6'},
|
||||
GP7: {type: 'net', value: 'GP7'},
|
||||
GP8: {type: 'net', value: 'GP8'},
|
||||
GP9: {type: 'net', value: 'GP9'},
|
||||
GP10: {type: 'net', value: 'GP10'},
|
||||
GP11: {type: 'net', value: 'GP11'},
|
||||
GP12: {type: 'net', value: 'GP12'},
|
||||
GP13: {type: 'net', value: 'GP13'},
|
||||
|
||||
// Bottom side of pins, left to right (i.e. between GP13 and GP19)
|
||||
GP14: {type: 'net', value: 'GP14'},
|
||||
GP15: {type: 'net', value: 'GP15'},
|
||||
GP16: {type: 'net', value: 'GP16'},
|
||||
GP17: {type: 'net', value: 'GP17'},
|
||||
GP18: {type: 'net', value: 'GP18'},
|
||||
|
||||
// Right side of pins (with USB port at the top), top to bottom
|
||||
'5V': {type: 'net', value: '5V'}, // 5V USB voltage
|
||||
GND: {type: 'net', value: 'GND'},
|
||||
RST: {type: 'net', value: 'RST'}, // Reset pin: Pull down to reset
|
||||
'3V3': {type: 'net', value: '3V3'}, // 3.3V voltage used by the MCU
|
||||
GP29: {type: 'net', value: 'GP29'}, // also: ADC4
|
||||
GP28: {type: 'net', value: 'GP28'}, // also: ADC2
|
||||
GP27: {type: 'net', value: 'GP27'}, // also: ADC1
|
||||
GP26: {type: 'net', value: 'GP26'}, // also: ADC0
|
||||
GP25: {type: 'net', value: 'GP25'},
|
||||
GP23: {type: 'net', value: 'GP23'},
|
||||
GP22: {type: 'net', value: 'GP22'},
|
||||
GP21: {type: 'net', value: 'GP21'},
|
||||
GP20: {type: 'net', value: 'GP20'},
|
||||
GP19: {type: 'net', value: 'GP19'},
|
||||
},
|
||||
body: p => {
|
||||
let sign, side, mirror;
|
||||
|
||||
if (p.orientation === 'down') {
|
||||
sign = -1;
|
||||
side = 'B';
|
||||
mirror = 'mirror';
|
||||
} else {
|
||||
sign = 1;
|
||||
side = 'F';
|
||||
mirror = '';
|
||||
}
|
||||
|
||||
const pins_left = [
|
||||
'GP0', 'GP1', 'GP2', 'GP3', 'GP4', 'GP5', 'GP6', 'GP7', 'GP8', 'GP9', 'GP10', 'GP11', 'GP12', 'GP13',
|
||||
];
|
||||
const pins_bottom = [
|
||||
'GP14', 'GP15', 'GP16', 'GP17', 'GP18',
|
||||
];
|
||||
const pins_right = [
|
||||
'5V', 'GND', 'RST', '3V3', 'GP29', 'GP28', 'GP27', 'GP26', 'GP25', 'GP23', 'GP22', 'GP21', 'GP20', 'GP19',
|
||||
];
|
||||
|
||||
// Functions to map coordinates from a "pin grid" to actual X/Y coordinates.
|
||||
// The grid is defined as follows (assuming the board is in "up" orientation with the USB port on top):
|
||||
// - The X coordinates go from 0 (left) to 6 (right)
|
||||
// - The Y coordinates go from 0 (top) to 13 (bottom)
|
||||
// This means the pin rows are on these coordinates:
|
||||
// - Left side of pins: 0/0 to 0/13
|
||||
// - Right side of pins: 6/0 to 6/13
|
||||
// - Additional pins on the bottom (not counting the left and right pins): 1/13 to 5/13
|
||||
// These grid coordinates have to be mapped to footprint coordinates so that the board is centered, meaning
|
||||
// the grid position 3/6.5 needs to be mapped to footprint coordinates 0/0. The grid is a standard 2.54mm grid.
|
||||
function pin_pos_x(pin_number) {
|
||||
// Use integers to avoid floating point issues
|
||||
return sign * (254 * (pin_number - 3)) / 100;
|
||||
}
|
||||
function pin_pos_y(pin_number) {
|
||||
// Use integers to avoid floating point issues
|
||||
return (254 * (pin_number - 7) + 127) / 100;
|
||||
}
|
||||
|
||||
function pin_label(pin_name, pos_x, pos_y, pin_side) {
|
||||
let offset_x = 0;
|
||||
let offset_y = 0;
|
||||
let offset_rotation = 0;
|
||||
let justify = 'left';
|
||||
|
||||
if (pin_side === 'left') {
|
||||
offset_x = -1.3 * sign;
|
||||
justify = 'right';
|
||||
} else if (pin_side === 'right') {
|
||||
offset_x = 1.3 * sign;
|
||||
} else if (pin_side === 'bottom') {
|
||||
offset_y = 1.7;
|
||||
offset_rotation = -90 * sign;
|
||||
}
|
||||
|
||||
// Shorten the name of the "GPxx" pins to save a bit of space on the PCB
|
||||
if (pin_name.startsWith('GP')) {
|
||||
pin_name = pin_name.slice(2);
|
||||
}
|
||||
|
||||
return `
|
||||
(fp_text user ${pin_name}
|
||||
(at ${pin_pos_x(pos_x) + offset_x} ${pin_pos_y(pos_y) + offset_y} ${p.r + offset_rotation})
|
||||
(unlocked yes) (layer ${side}.SilkS)
|
||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify ${justify} ${mirror}))
|
||||
)`;
|
||||
}
|
||||
|
||||
function pin_pad(pad_number, pos_x, pos_y, pin_name) {
|
||||
return `
|
||||
(pad ${pad_number} thru_hole circle
|
||||
(at ${pin_pos_x(pos_x)} ${pin_pos_y(pos_y)} 0)
|
||||
(size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.Mask)
|
||||
${p[pin_name]}
|
||||
)`;
|
||||
}
|
||||
|
||||
function render_pins() {
|
||||
let pin_label_body = '';
|
||||
let pin_pad_body = '';
|
||||
let pad_number = 1;
|
||||
|
||||
for (let i = 0; i < pins_left.length; i++) {
|
||||
pin_label_body += pin_label(pins_left[i], 0, i, 'left');
|
||||
pin_pad_body += pin_pad(pad_number++, 0, i, pins_left[i]);
|
||||
}
|
||||
for (let i = 0; i < pins_bottom.length; i++) {
|
||||
pin_label_body += pin_label(pins_bottom[i], 1 + i, 13, 'bottom');
|
||||
pin_pad_body += pin_pad(pad_number++, 1 + i, 13, pins_bottom[i]);
|
||||
}
|
||||
for (let i = 0; i < pins_right.length; i++) {
|
||||
pin_label_body += pin_label(pins_right[i], 6, i, 'right');
|
||||
pin_pad_body += pin_pad(pad_number++, 6, i, pins_right[i]);
|
||||
}
|
||||
|
||||
return pin_pad_body + '\n' + pin_label_body;
|
||||
}
|
||||
|
||||
return `
|
||||
(module RP2040_PICO_MINI (layer F.Cu) (tedit 66FD3C6D)
|
||||
${p.at /* parametric position */}
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 0) (layer ${side}.SilkS) ${p.ref_hide}
|
||||
(effects (font (size 1.27 1.27) (thickness 0.15)))
|
||||
)
|
||||
(fp_text value "" (at 0 0) (layer ${side}.SilkS) hide
|
||||
(effects (font (size 1.27 1.27) (thickness 0.15)))
|
||||
)
|
||||
|
||||
${'' /* component outline */}
|
||||
(fp_line (start -8.8 -18.0) (end 8.8 -18.0) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start 8.8 -18.0) (end 8.8 18.0) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start 8.8 18.0) (end -8.8 18.0) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start -8.8 18.0) (end -8.8 -18.0) (layer ${side}.SilkS) (width 0.15))
|
||||
|
||||
${'' /* illustration of the USB port overhang */}
|
||||
(fp_line (start -4.3 -18.8) (end 4.3 -18.8) (layer Dwgs.User) (width 0.15))
|
||||
(fp_line (start 4.3 -18.8) (end 4.3 -11.8) (layer Dwgs.User) (width 0.15))
|
||||
(fp_line (start 4.3 -11.8) (end -4.3 -11.8) (layer Dwgs.User) (width 0.15))
|
||||
(fp_line (start -4.3 -11.8) (end -4.3 -18.8) (layer Dwgs.User) (width 0.15))
|
||||
|
||||
${'' /* pin labels and pads */}
|
||||
${render_pins()}
|
||||
)
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,140 +0,0 @@
|
|||
// Pin header footprint for a RP2040-based controller board from AliExpress.
|
||||
// Doesn't really have a name, it's just "the purple one with USB-C".
|
||||
// The pinout differs from the Raspberry Pi Pico!
|
||||
// -------------------------------
|
||||
// Params
|
||||
// orientation: if up (default), the controller will be on the front side of the PCB, otherwise on the back side
|
||||
|
||||
module.exports = {
|
||||
params: {
|
||||
designator: 'MCU',
|
||||
orientation: 'up',
|
||||
|
||||
// Right side of pins (with USB port at the top), top to bottom
|
||||
VBUS: {type: 'net', value: 'VBUS'},
|
||||
VIN: {type: 'net', value: 'VIN'},
|
||||
GND: {type: 'net', value: 'GND'},
|
||||
'3V3_EN': {type: 'net', value: '3V3_EN'},
|
||||
'3V3': {type: 'net', value: '3V3'},
|
||||
// (GND pin)
|
||||
RUN: {type: 'net', value: 'RUN'}, // Reset pin: Pull down to reset
|
||||
GP29: {type: 'net', value: 'GP29'}, // also: ADC3
|
||||
GP28: {type: 'net', value: 'GP28'}, // also: ADC2
|
||||
GP27: {type: 'net', value: 'GP27'}, // also: ADC1
|
||||
GP26: {type: 'net', value: 'GP26'}, // also: ADC0
|
||||
AGND: {type: 'net', value: 'AGND'},
|
||||
GP25: {type: 'net', value: 'GP25'},
|
||||
GP24: {type: 'net', value: 'GP24'},
|
||||
GP23: {type: 'net', value: 'GP23'},
|
||||
GP22: {type: 'net', value: 'GP22'},
|
||||
GP21: {type: 'net', value: 'GP21'},
|
||||
GP20: {type: 'net', value: 'GP20'},
|
||||
GP19: {type: 'net', value: 'GP19'},
|
||||
GP18: {type: 'net', value: 'GP18'},
|
||||
|
||||
// Left side of pins (with USB port at the top), top to bottom
|
||||
GP0: {type: 'net', value: 'GP0'},
|
||||
GP1: {type: 'net', value: 'GP1'},
|
||||
GP2: {type: 'net', value: 'GP2'},
|
||||
GP3: {type: 'net', value: 'GP3'},
|
||||
GP4: {type: 'net', value: 'GP4'},
|
||||
// (GND pin)
|
||||
GP5: {type: 'net', value: 'GP5'},
|
||||
GP6: {type: 'net', value: 'GP6'},
|
||||
GP7: {type: 'net', value: 'GP7'},
|
||||
GP8: {type: 'net', value: 'GP8'},
|
||||
GP9: {type: 'net', value: 'GP9'},
|
||||
GP10: {type: 'net', value: 'GP10'},
|
||||
GP11: {type: 'net', value: 'GP11'},
|
||||
GP12: {type: 'net', value: 'GP12'},
|
||||
// (GND pin)
|
||||
GP13: {type: 'net', value: 'GP13'},
|
||||
GP14: {type: 'net', value: 'GP14'},
|
||||
GP15: {type: 'net', value: 'GP15'},
|
||||
GP16: {type: 'net', value: 'GP16'},
|
||||
GP17: {type: 'net', value: 'GP17'},
|
||||
},
|
||||
body: p => {
|
||||
let def_neg, def_pos, side, mirror;
|
||||
if (p.orientation === 'down') {
|
||||
def_neg = '';
|
||||
def_pos = '-';
|
||||
side = 'B';
|
||||
mirror = 'mirror';
|
||||
} else {
|
||||
def_neg = '-';
|
||||
def_pos = '';
|
||||
side = 'F';
|
||||
mirror = '';
|
||||
}
|
||||
|
||||
const PINS_PER_SIDE = 20;
|
||||
const PINS_PER_SIDE_HALF = 10;
|
||||
|
||||
const pins_left = [
|
||||
'GP0', 'GP1', 'GP2', 'GP3', 'GP4', 'GND', 'GP5', 'GP6', 'GP7', 'GP8',
|
||||
'GP9', 'GP10', 'GP11', 'GP12', 'GND', 'GP13', 'GP14', 'GP15', 'GP16', 'GP17',
|
||||
];
|
||||
const pins_right = [
|
||||
'VBUS', 'VIN', 'GND', '3V3_EN', '3V3', 'GND', 'RUN', 'GP29', 'GP28', 'GP27',
|
||||
'GP26', 'AGND', 'GP25', 'GP24', 'GP23', 'GP22', 'GP21', 'GP20', 'GP19', 'GP18',
|
||||
];
|
||||
|
||||
function pin_pos_y(pin_number) {
|
||||
// Fucking floating points...
|
||||
return (254 * (pin_number - PINS_PER_SIDE_HALF) + 127) / 100;
|
||||
}
|
||||
|
||||
function pin_labels(pin_names, right_side) {
|
||||
const sign = right_side ? def_pos : def_neg;
|
||||
const justify = right_side ? 'right' : 'left';
|
||||
let pin_label_body = '';
|
||||
|
||||
for (let i = 0; i < PINS_PER_SIDE; i++) {
|
||||
pin_label_body += `
|
||||
(fp_text user ${pin_names[i]} (at ${sign}7.62 ${pin_pos_y(i)} ${p.r}) (unlocked yes) (layer ${side}.SilkS)
|
||||
(effects (font (size 0.8 0.8) (thickness 0.15)) (justify ${justify} ${mirror}))
|
||||
)`;
|
||||
}
|
||||
return pin_label_body;
|
||||
}
|
||||
|
||||
function pin_pads(pin_names, right_side) {
|
||||
const sign = right_side ? def_pos : def_neg;
|
||||
const offset = right_side ? 21 : 1;
|
||||
let pin_pad_body = '';
|
||||
|
||||
for (let i = 0; i < PINS_PER_SIDE; i++) {
|
||||
pin_pad_body += `
|
||||
(pad ${i + offset} thru_hole circle (at ${sign}8.89 ${pin_pos_y(i)} 0)
|
||||
(size 1.7526 1.7526) (drill 1.0922) (layers *.Cu *.Mask) ${p[pin_names[i]]}
|
||||
)`;
|
||||
}
|
||||
return pin_pad_body;
|
||||
}
|
||||
|
||||
return `
|
||||
(module RP2040_USB_C_Purple (layer F.Cu) (tedit 66A6C4CD)
|
||||
${p.at /* parametric position */}
|
||||
|
||||
${'' /* footprint reference */}
|
||||
(fp_text reference "${p.ref}" (at 0 0) (layer ${side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
(fp_text value "" (at 0 0) (layer ${side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15))))
|
||||
|
||||
${'' /* component outline */}
|
||||
(fp_line (start -10.16 -28.6) (end 10.16 -28.6) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start 10.16 -28.6) (end 10.16 25.4) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start 10.16 25.4) (end -10.16 25.4) (layer ${side}.SilkS) (width 0.15))
|
||||
(fp_line (start -10.16 25.4) (end -10.16 -28.6) (layer ${side}.SilkS) (width 0.15))
|
||||
|
||||
${'' /* pin labels */}
|
||||
${pin_labels(pins_left, false)}
|
||||
${pin_labels(pins_right, true)}
|
||||
|
||||
${'' /* pin pads */}
|
||||
${pin_pads(pins_left, false)}
|
||||
${pin_pads(pins_right, true)}
|
||||
)
|
||||
`;
|
||||
}
|
||||
}
|
||||
|
|
@ -31,19 +31,19 @@ module.exports = {
|
|||
(fp_line (start -1.7 1.5) (end -1.7 -1.5) (layer Edge.Cuts) (width 0.12))
|
||||
(fp_line (start -1.7 -1.5) (end 1.7 -1.5) (layer Edge.Cuts) (width 0.12))
|
||||
|
||||
(pad "1" smd rect (at -2.6 -0.75 ${p.r}) (size 1.6 0.82)
|
||||
(pad "1" smd rect (at -2.7 -0.75 ${p.r}) (size 1.8 0.82)
|
||||
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||
${p.VCC}
|
||||
)
|
||||
(pad "2" smd rect (at -2.6 0.75 ${p.r}) (size 1.6 0.82)
|
||||
(pad "2" smd rect (at -2.7 0.75 ${p.r}) (size 1.8 0.82)
|
||||
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||
${p.dout}
|
||||
)
|
||||
(pad "4" smd rect (at 2.6 -0.75 ${p.r}) (size 1.6 0.82)
|
||||
(pad "4" smd rect (at 2.7 -0.75 ${p.r}) (size 1.8 0.82)
|
||||
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||
${p.din}
|
||||
)
|
||||
(pad "3" smd roundrect (at 2.6 0.75 ${p.r}) (size 1.6 0.82)
|
||||
(pad "3" smd roundrect (at 2.7 0.75 ${p.r}) (size 1.8 0.82)
|
||||
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||
(roundrect_rratio 0.25)
|
||||
${p.GND}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,850 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*%
|
||||
%TF.CreationDate,2024-10-10T16:29:35+02:00*%
|
||||
%TF.ProjectId,eepyboard_rev2,65657079-626f-4617-9264-5f726576322e,1.1*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Profile,NP*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-10-10 16:29:35*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD10C,0.150000*%
|
||||
%TD*%
|
||||
%TA.AperFunction,Profile*%
|
||||
%ADD11C,0.120000*%
|
||||
%TD*%
|
||||
G04 APERTURE END LIST*
|
||||
D10*
|
||||
X240933189Y-202502884D02*
|
||||
G75*
|
||||
G02*
|
||||
X196962436Y-202502887I-21985389J198788284D01*
|
||||
G01*
|
||||
X368577229Y-188385820D02*
|
||||
X240933189Y-202502884D01*
|
||||
X62197810Y-71348300D02*
|
||||
G75*
|
||||
G02*
|
||||
X70197816Y-63348310I7999990J0D01*
|
||||
G01*
|
||||
X367697815Y-63348302D02*
|
||||
G75*
|
||||
G02*
|
||||
X375697798Y-71348301I-15J-7999998D01*
|
||||
G01*
|
||||
X70197816Y-63348302D02*
|
||||
X367697815Y-63348302D01*
|
||||
X375697814Y-71348301D02*
|
||||
X375697809Y-180434298D01*
|
||||
X69318403Y-188385817D02*
|
||||
G75*
|
||||
G02*
|
||||
X62197802Y-180434302I879397J7951517D01*
|
||||
G01*
|
||||
X69318403Y-188385817D02*
|
||||
X196962436Y-202502889D01*
|
||||
X375697809Y-180434298D02*
|
||||
G75*
|
||||
G02*
|
||||
X368577230Y-188385825I-8000009J-2D01*
|
||||
G01*
|
||||
X62197809Y-180434302D02*
|
||||
X62197810Y-71348300D01*
|
||||
D11*
|
||||
%TO.C,LED3*%
|
||||
X73247814Y-100148301D02*
|
||||
X73247815Y-97148302D01*
|
||||
X73247815Y-97148302D02*
|
||||
X76647816Y-97148303D01*
|
||||
X76647815Y-100148302D02*
|
||||
X73247814Y-100148301D01*
|
||||
X76647816Y-97148303D02*
|
||||
X76647815Y-100148302D01*
|
||||
%TO.C,LED67*%
|
||||
X304247813Y-111398301D02*
|
||||
X304247814Y-108398302D01*
|
||||
X304247814Y-108398302D02*
|
||||
X307647815Y-108398303D01*
|
||||
X307647814Y-111398302D02*
|
||||
X304247813Y-111398301D01*
|
||||
X307647815Y-108398303D02*
|
||||
X307647814Y-111398302D01*
|
||||
%TO.C,LED73*%
|
||||
X361247813Y-118148303D02*
|
||||
X361247814Y-115148304D01*
|
||||
X361247814Y-115148304D02*
|
||||
X364647815Y-115148305D01*
|
||||
X364647814Y-118148304D02*
|
||||
X361247813Y-118148303D01*
|
||||
X364647815Y-115148305D02*
|
||||
X364647814Y-118148304D01*
|
||||
%TO.C,LED21*%
|
||||
X266247813Y-97898302D02*
|
||||
X266247814Y-94898303D01*
|
||||
X266247814Y-94898303D02*
|
||||
X269647815Y-94898304D01*
|
||||
X269647814Y-97898303D02*
|
||||
X266247813Y-97898302D01*
|
||||
X269647815Y-94898304D02*
|
||||
X269647814Y-97898303D01*
|
||||
%TO.C,LED72*%
|
||||
X361247809Y-154148298D02*
|
||||
X361247810Y-151148299D01*
|
||||
X361247810Y-151148299D02*
|
||||
X364647811Y-151148300D01*
|
||||
X364647810Y-154148299D02*
|
||||
X361247809Y-154148298D01*
|
||||
X364647811Y-151148300D02*
|
||||
X364647810Y-154148299D01*
|
||||
%TO.C,LED59*%
|
||||
X187247813Y-120398298D02*
|
||||
X187247814Y-117398299D01*
|
||||
X187247814Y-117398299D02*
|
||||
X190647815Y-117398300D01*
|
||||
X190647814Y-120398299D02*
|
||||
X187247813Y-120398298D01*
|
||||
X190647815Y-117398300D02*
|
||||
X190647814Y-120398299D01*
|
||||
%TO.C,LED84*%
|
||||
X245747813Y-72398299D02*
|
||||
X245747814Y-69398300D01*
|
||||
X245747814Y-69398300D02*
|
||||
X249147815Y-69398301D01*
|
||||
X249147814Y-72398300D02*
|
||||
X245747813Y-72398299D01*
|
||||
X249147815Y-69398301D02*
|
||||
X249147814Y-72398300D01*
|
||||
%TO.C,LED54*%
|
||||
X149247813Y-147398303D02*
|
||||
X149247814Y-144398304D01*
|
||||
X149247814Y-144398304D02*
|
||||
X152647815Y-144398305D01*
|
||||
X152647814Y-147398304D02*
|
||||
X149247813Y-147398303D01*
|
||||
X152647815Y-144398305D02*
|
||||
X152647814Y-147398304D01*
|
||||
%TO.C,LED48*%
|
||||
X92247810Y-151898300D02*
|
||||
X92247811Y-148898301D01*
|
||||
X92247811Y-148898301D02*
|
||||
X95647812Y-148898302D01*
|
||||
X95647811Y-151898301D02*
|
||||
X92247810Y-151898300D01*
|
||||
X95647812Y-148898302D02*
|
||||
X95647811Y-151898301D01*
|
||||
%TO.C,LED76*%
|
||||
X81747809Y-74648302D02*
|
||||
X81747810Y-71648303D01*
|
||||
X81747810Y-71648303D02*
|
||||
X85147811Y-71648304D01*
|
||||
X85147810Y-74648303D02*
|
||||
X81747809Y-74648302D01*
|
||||
X85147811Y-71648304D02*
|
||||
X85147810Y-74648303D01*
|
||||
%TO.C,LED32*%
|
||||
X361247810Y-172148297D02*
|
||||
X361247811Y-169148298D01*
|
||||
X361247811Y-169148298D02*
|
||||
X364647812Y-169148299D01*
|
||||
X364647811Y-172148298D02*
|
||||
X361247810Y-172148297D01*
|
||||
X364647812Y-169148299D02*
|
||||
X364647811Y-172148298D01*
|
||||
%TO.C,LED55*%
|
||||
X149247812Y-111398299D02*
|
||||
X149247813Y-108398300D01*
|
||||
X149247813Y-108398300D02*
|
||||
X152647814Y-108398301D01*
|
||||
X152647813Y-111398300D02*
|
||||
X149247812Y-111398299D01*
|
||||
X152647814Y-108398301D02*
|
||||
X152647813Y-111398300D01*
|
||||
%TO.C,LED14*%
|
||||
X168247810Y-133898300D02*
|
||||
X168247811Y-130898301D01*
|
||||
X168247811Y-130898301D02*
|
||||
X171647812Y-130898302D01*
|
||||
X171647811Y-133898301D02*
|
||||
X168247810Y-133898300D01*
|
||||
X171647812Y-130898302D02*
|
||||
X171647811Y-133898301D01*
|
||||
%TO.C,LED16*%
|
||||
X187247810Y-138398302D02*
|
||||
X187247811Y-135398303D01*
|
||||
X187247811Y-135398303D02*
|
||||
X190647812Y-135398304D01*
|
||||
X190647811Y-138398303D02*
|
||||
X187247810Y-138398302D01*
|
||||
X190647812Y-135398304D02*
|
||||
X190647811Y-138398303D01*
|
||||
%TO.C,LED66*%
|
||||
X304247808Y-147398299D02*
|
||||
X304247809Y-144398300D01*
|
||||
X304247809Y-144398300D02*
|
||||
X307647810Y-144398301D01*
|
||||
X307647809Y-147398300D02*
|
||||
X304247808Y-147398299D01*
|
||||
X307647810Y-144398301D02*
|
||||
X307647809Y-147398300D01*
|
||||
%TO.C,LED56*%
|
||||
X168247812Y-151898299D02*
|
||||
X168247813Y-148898300D01*
|
||||
X168247813Y-148898300D02*
|
||||
X171647814Y-148898301D01*
|
||||
X171647813Y-151898300D02*
|
||||
X168247812Y-151898299D01*
|
||||
X171647814Y-148898301D02*
|
||||
X171647813Y-151898300D01*
|
||||
%TO.C,LED1*%
|
||||
X73247812Y-172148301D02*
|
||||
X73247813Y-169148302D01*
|
||||
X73247813Y-169148302D02*
|
||||
X76647814Y-169148303D01*
|
||||
X76647813Y-172148302D02*
|
||||
X73247812Y-172148301D01*
|
||||
X76647814Y-169148303D02*
|
||||
X76647813Y-172148302D01*
|
||||
%TO.C,LED77*%
|
||||
X106747809Y-72398302D02*
|
||||
X106747810Y-69398303D01*
|
||||
X106747810Y-69398303D02*
|
||||
X110147811Y-69398304D01*
|
||||
X110147810Y-72398303D02*
|
||||
X106747809Y-72398302D01*
|
||||
X110147811Y-69398304D02*
|
||||
X110147810Y-72398303D01*
|
||||
%TO.C,LED17*%
|
||||
X187247811Y-102398299D02*
|
||||
X187247812Y-99398300D01*
|
||||
X187247812Y-99398300D02*
|
||||
X190647813Y-99398301D01*
|
||||
X190647812Y-102398300D02*
|
||||
X187247811Y-102398299D01*
|
||||
X190647813Y-99398301D02*
|
||||
X190647812Y-102398300D01*
|
||||
%TO.C,LED6*%
|
||||
X92247809Y-97898301D02*
|
||||
X92247810Y-94898302D01*
|
||||
X92247810Y-94898302D02*
|
||||
X95647811Y-94898303D01*
|
||||
X95647810Y-97898302D02*
|
||||
X92247809Y-97898301D01*
|
||||
X95647811Y-94898303D02*
|
||||
X95647810Y-97898302D01*
|
||||
%TO.C,LED60*%
|
||||
X247247807Y-156398301D02*
|
||||
X247247808Y-153398302D01*
|
||||
X247247808Y-153398302D02*
|
||||
X250647809Y-153398303D01*
|
||||
X250647808Y-156398302D02*
|
||||
X247247807Y-156398301D01*
|
||||
X250647809Y-153398303D02*
|
||||
X250647808Y-156398302D01*
|
||||
%TO.C,LED18*%
|
||||
X247247811Y-138398302D02*
|
||||
X247247812Y-135398303D01*
|
||||
X247247812Y-135398303D02*
|
||||
X250647813Y-135398304D01*
|
||||
X250647812Y-138398303D02*
|
||||
X247247811Y-138398302D01*
|
||||
X250647813Y-135398304D02*
|
||||
X250647812Y-138398303D01*
|
||||
%TO.C,LED86*%
|
||||
X289747812Y-72398304D02*
|
||||
X289747813Y-69398305D01*
|
||||
X289747813Y-69398305D02*
|
||||
X293147814Y-69398306D01*
|
||||
X293147813Y-72398305D02*
|
||||
X289747812Y-72398304D01*
|
||||
X293147814Y-69398306D02*
|
||||
X293147813Y-72398305D01*
|
||||
%TO.C,LED10*%
|
||||
X130247808Y-129398302D02*
|
||||
X130247809Y-126398303D01*
|
||||
X130247809Y-126398303D02*
|
||||
X133647810Y-126398304D01*
|
||||
X133647809Y-129398303D02*
|
||||
X130247808Y-129398302D01*
|
||||
X133647810Y-126398304D02*
|
||||
X133647809Y-129398303D01*
|
||||
%TO.C,LED26*%
|
||||
X323247812Y-167648303D02*
|
||||
X323247813Y-164648304D01*
|
||||
X323247813Y-164648304D02*
|
||||
X326647814Y-164648305D01*
|
||||
X326647813Y-167648304D02*
|
||||
X323247812Y-167648303D01*
|
||||
X326647814Y-164648305D02*
|
||||
X326647813Y-167648304D01*
|
||||
%TO.C,LED36*%
|
||||
X152509803Y-171522652D02*
|
||||
X153133537Y-168588209D01*
|
||||
X153133537Y-168588209D02*
|
||||
X156459237Y-169295108D01*
|
||||
X155835503Y-172229551D02*
|
||||
X152509803Y-171522652D01*
|
||||
X156459237Y-169295108D02*
|
||||
X155835503Y-172229551D01*
|
||||
%TO.C,LED78*%
|
||||
X125747811Y-72398303D02*
|
||||
X125747812Y-69398304D01*
|
||||
X125747812Y-69398304D02*
|
||||
X129147813Y-69398305D01*
|
||||
X129147812Y-72398304D02*
|
||||
X125747811Y-72398303D01*
|
||||
X129147813Y-69398305D02*
|
||||
X129147812Y-72398304D01*
|
||||
%TO.C,LED64*%
|
||||
X285247813Y-147398302D02*
|
||||
X285247814Y-144398303D01*
|
||||
X285247814Y-144398303D02*
|
||||
X288647815Y-144398304D01*
|
||||
X288647814Y-147398303D02*
|
||||
X285247813Y-147398302D01*
|
||||
X288647815Y-144398304D02*
|
||||
X288647814Y-147398303D01*
|
||||
%TO.C,LED20*%
|
||||
X266247811Y-133898297D02*
|
||||
X266247812Y-130898298D01*
|
||||
X266247812Y-130898298D02*
|
||||
X269647813Y-130898299D01*
|
||||
X269647812Y-133898298D02*
|
||||
X266247811Y-133898297D01*
|
||||
X269647813Y-130898299D02*
|
||||
X269647812Y-133898298D01*
|
||||
%TO.C,LED27*%
|
||||
X323247814Y-131648299D02*
|
||||
X323247815Y-128648300D01*
|
||||
X323247815Y-128648300D02*
|
||||
X326647816Y-128648301D01*
|
||||
X326647815Y-131648300D02*
|
||||
X323247814Y-131648299D01*
|
||||
X326647816Y-128648301D02*
|
||||
X326647815Y-131648300D01*
|
||||
%TO.C,LED31*%
|
||||
X342247810Y-97898300D02*
|
||||
X342247811Y-94898301D01*
|
||||
X342247811Y-94898301D02*
|
||||
X345647812Y-94898302D01*
|
||||
X345647811Y-97898301D02*
|
||||
X342247810Y-97898300D01*
|
||||
X345647812Y-94898302D02*
|
||||
X345647811Y-97898301D01*
|
||||
%TO.C,LED34*%
|
||||
X361247809Y-100148298D02*
|
||||
X361247810Y-97148299D01*
|
||||
X361247810Y-97148299D02*
|
||||
X364647811Y-97148300D01*
|
||||
X364647810Y-100148299D02*
|
||||
X361247809Y-100148298D01*
|
||||
X364647811Y-97148300D02*
|
||||
X364647810Y-100148299D01*
|
||||
%TO.C,LED61*%
|
||||
X247247812Y-120398301D02*
|
||||
X247247813Y-117398302D01*
|
||||
X247247813Y-117398302D02*
|
||||
X250647814Y-117398303D01*
|
||||
X250647813Y-120398302D02*
|
||||
X247247812Y-120398301D01*
|
||||
X250647814Y-117398303D02*
|
||||
X250647813Y-120398302D01*
|
||||
%TO.C,LED83*%
|
||||
X226747811Y-72398302D02*
|
||||
X226747812Y-69398303D01*
|
||||
X226747812Y-69398303D02*
|
||||
X230147813Y-69398304D01*
|
||||
X230147812Y-72398303D02*
|
||||
X226747811Y-72398302D01*
|
||||
X230147813Y-69398304D02*
|
||||
X230147812Y-72398303D01*
|
||||
%TO.C,LED11*%
|
||||
X130247808Y-93398299D02*
|
||||
X130247809Y-90398300D01*
|
||||
X130247809Y-90398300D02*
|
||||
X133647810Y-90398301D01*
|
||||
X133647809Y-93398300D02*
|
||||
X130247808Y-93398299D01*
|
||||
X133647810Y-90398301D02*
|
||||
X133647809Y-93398300D01*
|
||||
%TO.C,LED79*%
|
||||
X144747808Y-72398300D02*
|
||||
X144747809Y-69398301D01*
|
||||
X144747809Y-69398301D02*
|
||||
X148147810Y-69398302D01*
|
||||
X148147809Y-72398301D02*
|
||||
X144747808Y-72398300D01*
|
||||
X148147810Y-69398302D02*
|
||||
X148147809Y-72398301D01*
|
||||
%TO.C,LED75*%
|
||||
X217247811Y-129398301D02*
|
||||
X217247812Y-126398302D01*
|
||||
X217247812Y-126398302D02*
|
||||
X220647813Y-126398303D01*
|
||||
X220647812Y-129398302D02*
|
||||
X217247811Y-129398301D01*
|
||||
X220647813Y-126398303D02*
|
||||
X220647812Y-129398302D01*
|
||||
%TO.C,LED9*%
|
||||
X111247813Y-95648301D02*
|
||||
X111247814Y-92648302D01*
|
||||
X111247814Y-92648302D02*
|
||||
X114647815Y-92648303D01*
|
||||
X114647814Y-95648302D02*
|
||||
X111247813Y-95648301D01*
|
||||
X114647815Y-92648303D02*
|
||||
X114647814Y-95648302D01*
|
||||
%TO.C,LED85*%
|
||||
X270747812Y-72398302D02*
|
||||
X270747813Y-69398303D01*
|
||||
X270747813Y-69398303D02*
|
||||
X274147814Y-69398304D01*
|
||||
X274147813Y-72398303D02*
|
||||
X270747812Y-72398302D01*
|
||||
X274147814Y-69398304D02*
|
||||
X274147813Y-72398303D01*
|
||||
%TO.C,LED35*%
|
||||
X132480332Y-168530451D02*
|
||||
X132793918Y-165546887D01*
|
||||
X132793918Y-165546887D02*
|
||||
X136175294Y-165902285D01*
|
||||
X135861708Y-168885849D02*
|
||||
X132480332Y-168530451D01*
|
||||
X136175294Y-165902285D02*
|
||||
X135861708Y-168885849D01*
|
||||
%TO.C,LED80*%
|
||||
X163747813Y-72398298D02*
|
||||
X163747814Y-69398299D01*
|
||||
X163747814Y-69398299D02*
|
||||
X167147815Y-69398300D01*
|
||||
X167147814Y-72398299D02*
|
||||
X163747813Y-72398298D01*
|
||||
X167147815Y-69398300D02*
|
||||
X167147814Y-72398299D01*
|
||||
%TO.C,LED19*%
|
||||
X247247811Y-102398301D02*
|
||||
X247247812Y-99398302D01*
|
||||
X247247812Y-99398302D02*
|
||||
X250647813Y-99398303D01*
|
||||
X250647812Y-102398302D02*
|
||||
X247247811Y-102398301D01*
|
||||
X250647813Y-99398303D02*
|
||||
X250647812Y-102398302D01*
|
||||
%TO.C,LED63*%
|
||||
X266247812Y-115898299D02*
|
||||
X266247813Y-112898300D01*
|
||||
X266247813Y-112898300D02*
|
||||
X269647814Y-112898301D01*
|
||||
X269647813Y-115898300D02*
|
||||
X266247812Y-115898299D01*
|
||||
X269647814Y-112898301D02*
|
||||
X269647813Y-115898300D01*
|
||||
%TO.C,LED15*%
|
||||
X168247809Y-97898298D02*
|
||||
X168247810Y-94898299D01*
|
||||
X168247810Y-94898299D02*
|
||||
X171647811Y-94898300D01*
|
||||
X171647810Y-97898299D02*
|
||||
X168247809Y-97898298D01*
|
||||
X171647811Y-94898300D02*
|
||||
X171647810Y-97898299D01*
|
||||
%TO.C,LED42*%
|
||||
X242482912Y-182325547D02*
|
||||
X245588966Y-180942643D01*
|
||||
X243703122Y-185066183D02*
|
||||
X242482912Y-182325547D01*
|
||||
X245588966Y-180942643D02*
|
||||
X246809176Y-183683279D01*
|
||||
X246809176Y-183683279D02*
|
||||
X243703122Y-185066183D01*
|
||||
%TO.C,LED33*%
|
||||
X361247807Y-136148301D02*
|
||||
X361247808Y-133148302D01*
|
||||
X361247808Y-133148302D02*
|
||||
X364647809Y-133148303D01*
|
||||
X364647808Y-136148302D02*
|
||||
X361247807Y-136148301D01*
|
||||
X364647809Y-133148303D02*
|
||||
X364647808Y-136148302D01*
|
||||
%TO.C,LED69*%
|
||||
X323247813Y-113648298D02*
|
||||
X323247814Y-110648299D01*
|
||||
X323247814Y-110648299D02*
|
||||
X326647815Y-110648300D01*
|
||||
X326647814Y-113648299D02*
|
||||
X323247813Y-113648298D01*
|
||||
X326647815Y-110648300D02*
|
||||
X326647814Y-113648299D01*
|
||||
%TO.C,LED62*%
|
||||
X266247811Y-151898298D02*
|
||||
X266247812Y-148898299D01*
|
||||
X266247812Y-148898299D02*
|
||||
X269647813Y-148898300D01*
|
||||
X269647812Y-151898299D02*
|
||||
X266247811Y-151898298D01*
|
||||
X269647813Y-148898300D02*
|
||||
X269647812Y-151898299D01*
|
||||
%TO.C,LED51*%
|
||||
X111247809Y-113648300D02*
|
||||
X111247810Y-110648301D01*
|
||||
X111247810Y-110648301D02*
|
||||
X114647811Y-110648302D01*
|
||||
X114647810Y-113648301D02*
|
||||
X111247809Y-113648300D01*
|
||||
X114647811Y-110648302D02*
|
||||
X114647810Y-113648301D01*
|
||||
%TO.C,LED53*%
|
||||
X130247814Y-111398301D02*
|
||||
X130247815Y-108398302D01*
|
||||
X130247815Y-108398302D02*
|
||||
X133647816Y-108398303D01*
|
||||
X133647815Y-111398302D02*
|
||||
X130247814Y-111398301D01*
|
||||
X133647816Y-108398303D02*
|
||||
X133647815Y-111398302D01*
|
||||
%TO.C,LED28*%
|
||||
X323247813Y-95648299D02*
|
||||
X323247814Y-92648300D01*
|
||||
X323247814Y-92648300D02*
|
||||
X326647815Y-92648301D01*
|
||||
X326647814Y-95648300D02*
|
||||
X323247813Y-95648299D01*
|
||||
X326647815Y-92648301D02*
|
||||
X326647814Y-95648300D01*
|
||||
%TO.C,LED4*%
|
||||
X92247812Y-169898298D02*
|
||||
X92247813Y-166898299D01*
|
||||
X92247813Y-166898299D02*
|
||||
X95647814Y-166898300D01*
|
||||
X95647813Y-169898299D02*
|
||||
X92247812Y-169898298D01*
|
||||
X95647814Y-166898300D02*
|
||||
X95647813Y-169898299D01*
|
||||
%TO.C,LED41*%
|
||||
X261618200Y-174789597D02*
|
||||
X264851793Y-173738939D01*
|
||||
X262545251Y-177642767D02*
|
||||
X261618200Y-174789597D01*
|
||||
X264851793Y-173738939D02*
|
||||
X265778844Y-176592109D01*
|
||||
X265778844Y-176592109D02*
|
||||
X262545251Y-177642767D01*
|
||||
%TO.C,LED70*%
|
||||
X342247814Y-151898298D02*
|
||||
X342247815Y-148898299D01*
|
||||
X342247815Y-148898299D02*
|
||||
X345647816Y-148898300D01*
|
||||
X345647815Y-151898299D02*
|
||||
X342247814Y-151898298D01*
|
||||
X345647816Y-148898300D02*
|
||||
X345647815Y-151898299D01*
|
||||
%TO.C,LED24*%
|
||||
X304247812Y-129398297D02*
|
||||
X304247813Y-126398298D01*
|
||||
X304247813Y-126398298D02*
|
||||
X307647814Y-126398299D01*
|
||||
X307647813Y-129398298D02*
|
||||
X304247812Y-129398297D01*
|
||||
X307647814Y-126398299D02*
|
||||
X307647813Y-129398298D01*
|
||||
%TO.C,LED22*%
|
||||
X285247812Y-129398303D02*
|
||||
X285247813Y-126398304D01*
|
||||
X285247813Y-126398304D02*
|
||||
X288647814Y-126398305D01*
|
||||
X288647813Y-129398304D02*
|
||||
X285247812Y-129398303D01*
|
||||
X288647814Y-126398305D02*
|
||||
X288647813Y-129398304D01*
|
||||
%TO.C,LED8*%
|
||||
X111247811Y-131648303D02*
|
||||
X111247812Y-128648304D01*
|
||||
X111247812Y-128648304D02*
|
||||
X114647813Y-128648305D01*
|
||||
X114647812Y-131648304D02*
|
||||
X111247811Y-131648303D01*
|
||||
X114647813Y-128648305D02*
|
||||
X114647812Y-131648304D01*
|
||||
%TO.C,LED40*%
|
||||
X281436388Y-169295110D02*
|
||||
X284762088Y-168588211D01*
|
||||
X282060122Y-172229553D02*
|
||||
X281436388Y-169295110D01*
|
||||
X284762088Y-168588211D02*
|
||||
X285385822Y-171522654D01*
|
||||
X285385822Y-171522654D02*
|
||||
X282060122Y-172229553D01*
|
||||
%TO.C,LED23*%
|
||||
X285247812Y-93398301D02*
|
||||
X285247813Y-90398302D01*
|
||||
X285247813Y-90398302D02*
|
||||
X288647814Y-90398303D01*
|
||||
X288647813Y-93398302D02*
|
||||
X285247812Y-93398301D01*
|
||||
X288647814Y-90398303D02*
|
||||
X288647813Y-93398302D01*
|
||||
%TO.C,LED46*%
|
||||
X73247809Y-154148300D02*
|
||||
X73247810Y-151148301D01*
|
||||
X73247810Y-151148301D02*
|
||||
X76647811Y-151148302D01*
|
||||
X76647810Y-154148301D02*
|
||||
X73247809Y-154148300D01*
|
||||
X76647811Y-151148302D02*
|
||||
X76647810Y-154148301D01*
|
||||
%TO.C,LED71*%
|
||||
X342247811Y-115898300D02*
|
||||
X342247812Y-112898301D01*
|
||||
X342247812Y-112898301D02*
|
||||
X345647813Y-112898302D01*
|
||||
X345647812Y-115898301D02*
|
||||
X342247811Y-115898300D01*
|
||||
X345647813Y-112898302D02*
|
||||
X345647812Y-115898301D01*
|
||||
%TO.C,LED30*%
|
||||
X342247810Y-133898299D02*
|
||||
X342247811Y-130898300D01*
|
||||
X342247811Y-130898300D02*
|
||||
X345647812Y-130898301D01*
|
||||
X345647811Y-133898300D02*
|
||||
X342247810Y-133898299D01*
|
||||
X345647812Y-130898301D02*
|
||||
X345647811Y-133898300D01*
|
||||
%TO.C,LED25*%
|
||||
X304247807Y-93398302D02*
|
||||
X304247808Y-90398303D01*
|
||||
X304247808Y-90398303D02*
|
||||
X307647809Y-90398304D01*
|
||||
X307647808Y-93398303D02*
|
||||
X304247807Y-93398302D01*
|
||||
X307647809Y-90398304D02*
|
||||
X307647808Y-93398303D01*
|
||||
%TO.C,LED57*%
|
||||
X168247810Y-115898301D02*
|
||||
X168247811Y-112898302D01*
|
||||
X168247811Y-112898302D02*
|
||||
X171647812Y-112898303D01*
|
||||
X171647811Y-115898302D02*
|
||||
X168247810Y-115898301D01*
|
||||
X171647812Y-112898303D02*
|
||||
X171647811Y-115898302D01*
|
||||
%TO.C,LED87*%
|
||||
X308747806Y-72398300D02*
|
||||
X308747807Y-69398301D01*
|
||||
X308747807Y-69398301D02*
|
||||
X312147808Y-69398302D01*
|
||||
X312147807Y-72398301D02*
|
||||
X308747806Y-72398300D01*
|
||||
X312147808Y-69398302D02*
|
||||
X312147807Y-72398301D01*
|
||||
%TO.C,LED82*%
|
||||
X207747812Y-72398302D02*
|
||||
X207747813Y-69398303D01*
|
||||
X207747813Y-69398303D02*
|
||||
X211147814Y-69398304D01*
|
||||
X211147813Y-72398303D02*
|
||||
X207747812Y-72398302D01*
|
||||
X211147814Y-69398304D02*
|
||||
X211147813Y-72398303D01*
|
||||
%TO.C,LED38*%
|
||||
X191086449Y-183683280D02*
|
||||
X192306659Y-180942644D01*
|
||||
X192306659Y-180942644D02*
|
||||
X195412713Y-182325548D01*
|
||||
X194192503Y-185066184D02*
|
||||
X191086449Y-183683280D01*
|
||||
X195412713Y-182325548D02*
|
||||
X194192503Y-185066184D01*
|
||||
%TO.C,LED43*%
|
||||
X217247809Y-188598074D02*
|
||||
X217247810Y-185598075D01*
|
||||
X217247810Y-185598075D02*
|
||||
X220647811Y-185598076D01*
|
||||
X220647810Y-188598075D02*
|
||||
X217247809Y-188598074D01*
|
||||
X220647811Y-185598076D02*
|
||||
X220647810Y-188598075D01*
|
||||
%TO.C,LED68*%
|
||||
X323247810Y-149648298D02*
|
||||
X323247811Y-146648299D01*
|
||||
X323247811Y-146648299D02*
|
||||
X326647812Y-146648300D01*
|
||||
X326647811Y-149648299D02*
|
||||
X323247810Y-149648298D01*
|
||||
X326647812Y-146648300D02*
|
||||
X326647811Y-149648299D01*
|
||||
%TO.C,LED13*%
|
||||
X149247814Y-93398305D02*
|
||||
X149247815Y-90398306D01*
|
||||
X149247815Y-90398306D02*
|
||||
X152647816Y-90398307D01*
|
||||
X152647815Y-93398306D02*
|
||||
X149247814Y-93398305D01*
|
||||
X152647816Y-90398307D02*
|
||||
X152647815Y-93398306D01*
|
||||
%TO.C,LED88*%
|
||||
X327747810Y-72398300D02*
|
||||
X327747811Y-69398301D01*
|
||||
X327747811Y-69398301D02*
|
||||
X331147812Y-69398302D01*
|
||||
X331147811Y-72398301D02*
|
||||
X327747810Y-72398300D01*
|
||||
X331147812Y-69398302D02*
|
||||
X331147811Y-72398301D01*
|
||||
%TO.C,LED47*%
|
||||
X73247812Y-118148300D02*
|
||||
X73247813Y-115148301D01*
|
||||
X73247813Y-115148301D02*
|
||||
X76647814Y-115148302D01*
|
||||
X76647813Y-118148301D02*
|
||||
X73247812Y-118148300D01*
|
||||
X76647814Y-115148302D02*
|
||||
X76647813Y-118148301D01*
|
||||
%TO.C,LED44*%
|
||||
X207747810Y-147398301D02*
|
||||
X207747811Y-144398302D01*
|
||||
X207747811Y-144398302D02*
|
||||
X211147812Y-144398303D01*
|
||||
X211147811Y-147398302D02*
|
||||
X207747810Y-147398301D01*
|
||||
X211147812Y-144398303D02*
|
||||
X211147811Y-147398302D01*
|
||||
%TO.C,LED2*%
|
||||
X73247812Y-136148301D02*
|
||||
X73247813Y-133148302D01*
|
||||
X73247813Y-133148302D02*
|
||||
X76647814Y-133148303D01*
|
||||
X76647813Y-136148302D02*
|
||||
X73247812Y-136148301D01*
|
||||
X76647814Y-133148303D02*
|
||||
X76647813Y-136148302D01*
|
||||
%TO.C,LED7*%
|
||||
X111247813Y-167648301D02*
|
||||
X111247814Y-164648302D01*
|
||||
X111247814Y-164648302D02*
|
||||
X114647815Y-164648303D01*
|
||||
X114647814Y-167648302D02*
|
||||
X111247813Y-167648301D01*
|
||||
X114647815Y-164648303D02*
|
||||
X114647814Y-167648302D01*
|
||||
%TO.C,LED45*%
|
||||
X226747809Y-147398299D02*
|
||||
X226747810Y-144398300D01*
|
||||
X226747810Y-144398300D02*
|
||||
X230147811Y-144398301D01*
|
||||
X230147810Y-147398300D02*
|
||||
X226747809Y-147398299D01*
|
||||
X230147811Y-144398301D02*
|
||||
X230147810Y-147398300D01*
|
||||
%TO.C,LED52*%
|
||||
X130247812Y-147398299D02*
|
||||
X130247813Y-144398300D01*
|
||||
X130247813Y-144398300D02*
|
||||
X133647814Y-144398301D01*
|
||||
X133647813Y-147398300D02*
|
||||
X130247812Y-147398299D01*
|
||||
X133647814Y-144398301D02*
|
||||
X133647813Y-147398300D01*
|
||||
%TO.C,LED58*%
|
||||
X187247813Y-156398300D02*
|
||||
X187247814Y-153398301D01*
|
||||
X187247814Y-153398301D02*
|
||||
X190647815Y-153398302D01*
|
||||
X190647814Y-156398301D02*
|
||||
X187247813Y-156398300D01*
|
||||
X190647815Y-153398302D02*
|
||||
X190647814Y-156398301D01*
|
||||
%TO.C,LED37*%
|
||||
X172116779Y-176592107D02*
|
||||
X173043830Y-173738937D01*
|
||||
X173043830Y-173738937D02*
|
||||
X176277423Y-174789595D01*
|
||||
X175350372Y-177642765D02*
|
||||
X172116779Y-176592107D01*
|
||||
X176277423Y-174789595D02*
|
||||
X175350372Y-177642765D01*
|
||||
%TO.C,LED5*%
|
||||
X92247808Y-133898300D02*
|
||||
X92247809Y-130898301D01*
|
||||
X92247809Y-130898301D02*
|
||||
X95647810Y-130898302D01*
|
||||
X95647809Y-133898301D02*
|
||||
X92247808Y-133898300D01*
|
||||
X95647810Y-130898302D02*
|
||||
X95647809Y-133898301D01*
|
||||
%TO.C,LED74*%
|
||||
X217247813Y-165398301D02*
|
||||
X217247814Y-162398302D01*
|
||||
X217247814Y-162398302D02*
|
||||
X220647815Y-162398303D01*
|
||||
X220647814Y-165398302D02*
|
||||
X217247813Y-165398301D01*
|
||||
X220647815Y-162398303D02*
|
||||
X220647814Y-165398302D01*
|
||||
%TO.C,LED65*%
|
||||
X285247816Y-111398301D02*
|
||||
X285247817Y-108398302D01*
|
||||
X285247817Y-108398302D02*
|
||||
X288647818Y-108398303D01*
|
||||
X288647817Y-111398302D02*
|
||||
X285247816Y-111398301D01*
|
||||
X288647818Y-108398303D02*
|
||||
X288647817Y-111398302D01*
|
||||
%TO.C,LED29*%
|
||||
X342247815Y-169898299D02*
|
||||
X342247816Y-166898300D01*
|
||||
X342247816Y-166898300D02*
|
||||
X345647817Y-166898301D01*
|
||||
X345647816Y-169898300D02*
|
||||
X342247815Y-169898299D01*
|
||||
X345647817Y-166898301D02*
|
||||
X345647816Y-169898300D01*
|
||||
%TO.C,LED39*%
|
||||
X301720332Y-165902287D02*
|
||||
X305101707Y-165546890D01*
|
||||
X302033917Y-168885852D02*
|
||||
X301720332Y-165902287D01*
|
||||
X305101707Y-165546890D02*
|
||||
X305415292Y-168530455D01*
|
||||
X305415292Y-168530455D02*
|
||||
X302033917Y-168885852D01*
|
||||
%TO.C,LED50*%
|
||||
X111247814Y-149648301D02*
|
||||
X111247815Y-146648302D01*
|
||||
X111247815Y-146648302D02*
|
||||
X114647816Y-146648303D01*
|
||||
X114647815Y-149648302D02*
|
||||
X111247814Y-149648301D01*
|
||||
X114647816Y-146648303D02*
|
||||
X114647815Y-149648302D01*
|
||||
%TO.C,LED81*%
|
||||
X188747813Y-72398303D02*
|
||||
X188747814Y-69398304D01*
|
||||
X188747814Y-69398304D02*
|
||||
X192147815Y-69398305D01*
|
||||
X192147814Y-72398304D02*
|
||||
X188747813Y-72398303D01*
|
||||
X192147815Y-69398305D02*
|
||||
X192147814Y-72398304D01*
|
||||
%TO.C,LED49*%
|
||||
X92247813Y-115898300D02*
|
||||
X92247814Y-112898301D01*
|
||||
X92247814Y-112898301D02*
|
||||
X95647815Y-112898302D01*
|
||||
X95647814Y-115898301D02*
|
||||
X92247813Y-115898300D01*
|
||||
X95647815Y-112898302D02*
|
||||
X95647814Y-115898301D01*
|
||||
%TO.C,LED12*%
|
||||
X149247811Y-129398300D02*
|
||||
X149247812Y-126398301D01*
|
||||
X149247812Y-126398301D02*
|
||||
X152647813Y-126398302D01*
|
||||
X152647812Y-129398301D02*
|
||||
X149247811Y-129398300D01*
|
||||
X152647813Y-126398302D02*
|
||||
X152647812Y-129398301D01*
|
||||
%TD*%
|
||||
M02*
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,15 @@
|
|||
%TF.GenerationSoftware,KiCad,Pcbnew,8.0.5*%
|
||||
%TF.CreationDate,2024-10-10T16:29:34+02:00*%
|
||||
%TF.ProjectId,eepyboard_rev2,65657079-626f-4617-9264-5f726576322e,1.1*%
|
||||
%TF.SameCoordinates,Original*%
|
||||
%TF.FileFunction,Paste,Top*%
|
||||
%TF.FilePolarity,Positive*%
|
||||
%FSLAX46Y46*%
|
||||
G04 Gerber Fmt 4.6, Leading zero omitted, Abs format (unit mm)*
|
||||
G04 Created by KiCad (PCBNEW 8.0.5) date 2024-10-10 16:29:34*
|
||||
%MOMM*%
|
||||
%LPD*%
|
||||
G01*
|
||||
G04 APERTURE LIST*
|
||||
G04 APERTURE END LIST*
|
||||
M02*
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,472 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.5} date 2024-10-10T16:30:10+0200
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2024-10-10T16:30:10+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
|
||||
; #@! TF.FileFunction,NonPlated,1,4,NPTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T1C1.702
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T2C2.200
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T3C3.000
|
||||
; #@! TA.AperFunction,NonPlated,NPTH,ComponentDrill
|
||||
T4C3.429
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X69.448Y-157.348
|
||||
X69.448Y-139.348
|
||||
X69.448Y-121.348
|
||||
X69.448Y-103.348
|
||||
X69.448Y-175.348
|
||||
X77.948Y-77.848
|
||||
X80.448Y-157.348
|
||||
X80.448Y-139.348
|
||||
X80.448Y-121.348
|
||||
X80.448Y-103.348
|
||||
X80.448Y-175.348
|
||||
X88.448Y-101.098
|
||||
X88.448Y-137.098
|
||||
X88.448Y-155.098
|
||||
X88.448Y-173.098
|
||||
X88.448Y-119.098
|
||||
X88.948Y-77.848
|
||||
X99.448Y-101.098
|
||||
X99.448Y-137.098
|
||||
X99.448Y-155.098
|
||||
X99.448Y-173.098
|
||||
X99.448Y-119.098
|
||||
X102.948Y-75.598
|
||||
X107.448Y-116.848
|
||||
X107.448Y-98.848
|
||||
X107.448Y-134.848
|
||||
X107.448Y-152.848
|
||||
X107.448Y-170.848
|
||||
X113.948Y-75.598
|
||||
X118.448Y-116.848
|
||||
X118.448Y-98.848
|
||||
X118.448Y-134.848
|
||||
X118.448Y-152.848
|
||||
X118.448Y-170.848
|
||||
X121.948Y-75.598
|
||||
X126.448Y-96.598
|
||||
X126.448Y-150.598
|
||||
X126.448Y-132.598
|
||||
X126.448Y-114.598
|
||||
X128.367Y-171.316
|
||||
X132.948Y-75.598
|
||||
X137.448Y-96.598
|
||||
X137.448Y-150.598
|
||||
X137.448Y-132.598
|
||||
X137.448Y-114.598
|
||||
X139.306Y-172.466
|
||||
X140.948Y-75.598
|
||||
X145.448Y-150.598
|
||||
X145.448Y-96.598
|
||||
X145.448Y-114.598
|
||||
X145.448Y-132.598
|
||||
X148.128Y-173.863
|
||||
X151.948Y-75.598
|
||||
X156.448Y-150.598
|
||||
X156.448Y-96.598
|
||||
X156.448Y-114.598
|
||||
X156.448Y-132.598
|
||||
X158.887Y-176.15
|
||||
X159.948Y-75.598
|
||||
X164.448Y-137.098
|
||||
X164.448Y-155.098
|
||||
X164.448Y-101.098
|
||||
X164.448Y-119.098
|
||||
X167.514Y-178.461
|
||||
X170.948Y-75.598
|
||||
X175.448Y-137.098
|
||||
X175.448Y-155.098
|
||||
X175.448Y-101.098
|
||||
X175.448Y-119.098
|
||||
X177.976Y-181.86
|
||||
X183.448Y-105.598
|
||||
X183.448Y-159.598
|
||||
X183.448Y-123.598
|
||||
X183.448Y-141.598
|
||||
X184.948Y-75.598
|
||||
X186.313Y-185.061
|
||||
X194.448Y-105.598
|
||||
X194.448Y-159.598
|
||||
X194.448Y-123.598
|
||||
X194.448Y-141.598
|
||||
X195.948Y-75.598
|
||||
X196.362Y-189.535
|
||||
X203.948Y-75.598
|
||||
X203.948Y-150.598
|
||||
X213.448Y-168.598
|
||||
X213.448Y-132.598
|
||||
X213.448Y-191.798
|
||||
X214.948Y-75.598
|
||||
X214.948Y-150.598
|
||||
X222.948Y-150.598
|
||||
X222.948Y-75.598
|
||||
X224.448Y-168.598
|
||||
X224.448Y-132.598
|
||||
X224.448Y-191.798
|
||||
X233.948Y-150.598
|
||||
X233.948Y-75.598
|
||||
X241.533Y-189.535
|
||||
X241.948Y-75.598
|
||||
X243.448Y-123.598
|
||||
X243.448Y-141.598
|
||||
X243.448Y-159.598
|
||||
X243.448Y-105.598
|
||||
X251.582Y-185.061
|
||||
X252.948Y-75.598
|
||||
X254.448Y-123.598
|
||||
X254.448Y-141.598
|
||||
X254.448Y-159.598
|
||||
X254.448Y-105.598
|
||||
X259.92Y-181.86
|
||||
X262.448Y-119.098
|
||||
X262.448Y-137.098
|
||||
X262.448Y-101.098
|
||||
X262.448Y-155.098
|
||||
X266.948Y-75.598
|
||||
X270.382Y-178.461
|
||||
X273.448Y-119.098
|
||||
X273.448Y-137.098
|
||||
X273.448Y-101.098
|
||||
X273.448Y-155.098
|
||||
X277.948Y-75.598
|
||||
X279.008Y-176.15
|
||||
X281.448Y-96.598
|
||||
X281.448Y-132.598
|
||||
X281.448Y-150.598
|
||||
X281.448Y-114.598
|
||||
X285.948Y-75.598
|
||||
X289.768Y-173.863
|
||||
X292.448Y-96.598
|
||||
X292.448Y-132.598
|
||||
X292.448Y-150.598
|
||||
X292.448Y-114.598
|
||||
X296.948Y-75.598
|
||||
X298.589Y-172.466
|
||||
X300.448Y-96.598
|
||||
X300.448Y-132.598
|
||||
X300.448Y-150.598
|
||||
X300.448Y-114.598
|
||||
X304.948Y-75.598
|
||||
X309.529Y-171.316
|
||||
X311.448Y-96.598
|
||||
X311.448Y-132.598
|
||||
X311.448Y-150.598
|
||||
X311.448Y-114.598
|
||||
X315.948Y-75.598
|
||||
X319.448Y-116.848
|
||||
X319.448Y-170.848
|
||||
X319.448Y-98.848
|
||||
X319.448Y-134.848
|
||||
X319.448Y-152.848
|
||||
X323.948Y-75.598
|
||||
X330.448Y-116.848
|
||||
X330.448Y-170.848
|
||||
X330.448Y-98.848
|
||||
X330.448Y-134.848
|
||||
X330.448Y-152.848
|
||||
X334.948Y-75.598
|
||||
X338.448Y-155.098
|
||||
X338.448Y-101.098
|
||||
X338.448Y-119.098
|
||||
X338.448Y-137.098
|
||||
X338.448Y-173.098
|
||||
X349.448Y-155.098
|
||||
X349.448Y-101.098
|
||||
X349.448Y-119.098
|
||||
X349.448Y-137.098
|
||||
X349.448Y-173.098
|
||||
X357.448Y-103.348
|
||||
X357.448Y-121.348
|
||||
X357.448Y-157.348
|
||||
X357.448Y-175.348
|
||||
X357.448Y-139.348
|
||||
X368.448Y-103.348
|
||||
X368.448Y-121.348
|
||||
X368.448Y-157.348
|
||||
X368.448Y-175.348
|
||||
X368.448Y-139.348
|
||||
T2
|
||||
X68.198Y-69.348
|
||||
X93.948Y-186.598
|
||||
X188.948Y-93.598
|
||||
X188.948Y-172.598
|
||||
X248.948Y-93.598
|
||||
X248.948Y-172.598
|
||||
X343.948Y-186.598
|
||||
X369.698Y-69.348
|
||||
T3
|
||||
X69.948Y-161.098
|
||||
X69.948Y-143.098
|
||||
X69.948Y-125.098
|
||||
X69.948Y-107.098
|
||||
X69.948Y-179.098
|
||||
X74.948Y-163.298
|
||||
X74.948Y-145.298
|
||||
X74.948Y-127.298
|
||||
X74.948Y-109.298
|
||||
X74.948Y-181.298
|
||||
X78.448Y-81.598
|
||||
X83.448Y-83.798
|
||||
X88.948Y-104.848
|
||||
X88.948Y-140.848
|
||||
X88.948Y-158.848
|
||||
X88.948Y-176.848
|
||||
X88.948Y-122.848
|
||||
X93.948Y-107.048
|
||||
X93.948Y-143.048
|
||||
X93.948Y-161.048
|
||||
X93.948Y-179.048
|
||||
X93.948Y-125.048
|
||||
X103.448Y-79.348
|
||||
X107.948Y-120.598
|
||||
X107.948Y-102.598
|
||||
X107.948Y-138.598
|
||||
X107.948Y-156.598
|
||||
X107.948Y-174.598
|
||||
X108.448Y-81.548
|
||||
X112.948Y-122.798
|
||||
X112.948Y-104.798
|
||||
X112.948Y-140.798
|
||||
X112.948Y-158.798
|
||||
X112.948Y-176.798
|
||||
X122.448Y-79.348
|
||||
X126.948Y-100.348
|
||||
X126.948Y-154.348
|
||||
X126.948Y-136.348
|
||||
X126.948Y-118.348
|
||||
X127.448Y-81.548
|
||||
X128.472Y-175.097
|
||||
X131.948Y-102.548
|
||||
X131.948Y-156.548
|
||||
X131.948Y-138.548
|
||||
X131.948Y-120.548
|
||||
X133.215Y-177.808
|
||||
X141.448Y-79.348
|
||||
X145.948Y-154.348
|
||||
X145.948Y-100.348
|
||||
X145.948Y-118.348
|
||||
X145.948Y-136.348
|
||||
X146.448Y-81.548
|
||||
X147.837Y-177.635
|
||||
X150.948Y-156.548
|
||||
X150.948Y-102.548
|
||||
X150.948Y-120.548
|
||||
X150.948Y-138.548
|
||||
X152.27Y-180.826
|
||||
X160.448Y-79.348
|
||||
X164.948Y-140.848
|
||||
X164.948Y-158.848
|
||||
X164.948Y-104.848
|
||||
X164.948Y-122.848
|
||||
X165.448Y-81.548
|
||||
X166.831Y-182.182
|
||||
X169.948Y-143.048
|
||||
X169.948Y-161.048
|
||||
X169.948Y-107.048
|
||||
X169.948Y-125.048
|
||||
X170.906Y-185.82
|
||||
X183.948Y-109.348
|
||||
X183.948Y-163.348
|
||||
X183.948Y-127.348
|
||||
X183.948Y-145.348
|
||||
X185.245Y-188.69
|
||||
X185.448Y-79.348
|
||||
X188.918Y-192.734
|
||||
X188.948Y-111.548
|
||||
X188.948Y-165.548
|
||||
X188.948Y-129.548
|
||||
X188.948Y-147.548
|
||||
X190.448Y-81.548
|
||||
X204.448Y-79.348
|
||||
X204.448Y-154.348
|
||||
X209.448Y-81.548
|
||||
X209.448Y-156.548
|
||||
X213.948Y-172.348
|
||||
X213.948Y-136.348
|
||||
X213.948Y-195.548
|
||||
X218.948Y-174.548
|
||||
X218.948Y-138.548
|
||||
X218.948Y-197.748
|
||||
X223.448Y-154.348
|
||||
X223.448Y-79.348
|
||||
X228.448Y-156.548
|
||||
X228.448Y-81.548
|
||||
X242.448Y-79.348
|
||||
X243.515Y-192.758
|
||||
X243.948Y-127.348
|
||||
X243.948Y-145.348
|
||||
X243.948Y-163.348
|
||||
X243.948Y-109.348
|
||||
X247.448Y-81.548
|
||||
X248.948Y-129.548
|
||||
X248.948Y-147.548
|
||||
X248.948Y-165.548
|
||||
X248.948Y-111.548
|
||||
X248.978Y-192.734
|
||||
X261.554Y-185.272
|
||||
X262.948Y-122.848
|
||||
X262.948Y-140.848
|
||||
X262.948Y-104.848
|
||||
X262.948Y-158.848
|
||||
X266.99Y-185.82
|
||||
X267.448Y-79.348
|
||||
X267.948Y-125.048
|
||||
X267.948Y-143.048
|
||||
X267.948Y-107.048
|
||||
X267.948Y-161.048
|
||||
X272.448Y-81.548
|
||||
X280.277Y-179.714
|
||||
X281.948Y-100.348
|
||||
X281.948Y-136.348
|
||||
X281.948Y-154.348
|
||||
X281.948Y-118.348
|
||||
X285.625Y-180.826
|
||||
X286.448Y-79.348
|
||||
X286.948Y-102.548
|
||||
X286.948Y-138.548
|
||||
X286.948Y-156.548
|
||||
X286.948Y-120.548
|
||||
X291.448Y-81.548
|
||||
X299.478Y-176.143
|
||||
X300.948Y-100.348
|
||||
X300.948Y-136.348
|
||||
X300.948Y-154.348
|
||||
X300.948Y-118.348
|
||||
X304.681Y-177.808
|
||||
X305.448Y-79.348
|
||||
X305.948Y-102.548
|
||||
X305.948Y-138.548
|
||||
X305.948Y-156.548
|
||||
X305.948Y-120.548
|
||||
X310.448Y-81.548
|
||||
X319.948Y-120.598
|
||||
X319.948Y-174.598
|
||||
X319.948Y-102.598
|
||||
X319.948Y-138.598
|
||||
X319.948Y-156.598
|
||||
X324.448Y-79.348
|
||||
X324.948Y-122.798
|
||||
X324.948Y-176.798
|
||||
X324.948Y-104.798
|
||||
X324.948Y-140.798
|
||||
X324.948Y-158.798
|
||||
X329.448Y-81.548
|
||||
X338.948Y-158.848
|
||||
X338.948Y-104.848
|
||||
X338.948Y-122.848
|
||||
X338.948Y-140.848
|
||||
X338.948Y-176.848
|
||||
X343.948Y-161.048
|
||||
X343.948Y-107.048
|
||||
X343.948Y-125.048
|
||||
X343.948Y-143.048
|
||||
X343.948Y-179.048
|
||||
X357.948Y-107.098
|
||||
X357.948Y-125.098
|
||||
X357.948Y-161.098
|
||||
X357.948Y-179.098
|
||||
X357.948Y-143.098
|
||||
X362.948Y-109.298
|
||||
X362.948Y-127.298
|
||||
X362.948Y-163.298
|
||||
X362.948Y-181.298
|
||||
X362.948Y-145.298
|
||||
T4
|
||||
X74.948Y-157.348
|
||||
X74.948Y-139.348
|
||||
X74.948Y-121.348
|
||||
X74.948Y-103.348
|
||||
X74.948Y-175.348
|
||||
X83.448Y-77.848
|
||||
X93.948Y-101.098
|
||||
X93.948Y-137.098
|
||||
X93.948Y-155.098
|
||||
X93.948Y-173.098
|
||||
X93.948Y-119.098
|
||||
X108.448Y-75.598
|
||||
X112.948Y-116.848
|
||||
X112.948Y-98.848
|
||||
X112.948Y-134.848
|
||||
X112.948Y-152.848
|
||||
X112.948Y-170.848
|
||||
X127.448Y-75.598
|
||||
X131.948Y-96.598
|
||||
X131.948Y-150.598
|
||||
X131.948Y-132.598
|
||||
X131.948Y-114.598
|
||||
X133.837Y-171.891
|
||||
X146.448Y-75.598
|
||||
X150.948Y-150.598
|
||||
X150.948Y-96.598
|
||||
X150.948Y-114.598
|
||||
X150.948Y-132.598
|
||||
X153.507Y-175.006
|
||||
X165.448Y-75.598
|
||||
X169.948Y-137.098
|
||||
X169.948Y-155.098
|
||||
X169.948Y-101.098
|
||||
X169.948Y-119.098
|
||||
X172.745Y-180.161
|
||||
X188.948Y-105.598
|
||||
X188.948Y-159.598
|
||||
X188.948Y-123.598
|
||||
X188.948Y-141.598
|
||||
X190.448Y-75.598
|
||||
X191.338Y-187.298
|
||||
X209.448Y-75.598
|
||||
X209.448Y-150.598
|
||||
X218.948Y-168.598
|
||||
X218.948Y-132.598
|
||||
X218.948Y-191.798
|
||||
X228.448Y-150.598
|
||||
X228.448Y-75.598
|
||||
X246.558Y-187.298
|
||||
X247.448Y-75.598
|
||||
X248.948Y-123.598
|
||||
X248.948Y-141.598
|
||||
X248.948Y-159.598
|
||||
X248.948Y-105.598
|
||||
X265.151Y-180.161
|
||||
X267.948Y-119.098
|
||||
X267.948Y-137.098
|
||||
X267.948Y-101.098
|
||||
X267.948Y-155.098
|
||||
X272.448Y-75.598
|
||||
X284.388Y-175.006
|
||||
X286.948Y-96.598
|
||||
X286.948Y-132.598
|
||||
X286.948Y-150.598
|
||||
X286.948Y-114.598
|
||||
X291.448Y-75.598
|
||||
X304.059Y-171.891
|
||||
X305.948Y-96.598
|
||||
X305.948Y-132.598
|
||||
X305.948Y-150.598
|
||||
X305.948Y-114.598
|
||||
X310.448Y-75.598
|
||||
X324.948Y-116.848
|
||||
X324.948Y-170.848
|
||||
X324.948Y-98.848
|
||||
X324.948Y-134.848
|
||||
X324.948Y-152.848
|
||||
X329.448Y-75.598
|
||||
X343.948Y-155.098
|
||||
X343.948Y-101.098
|
||||
X343.948Y-119.098
|
||||
X343.948Y-137.098
|
||||
X343.948Y-173.098
|
||||
X362.948Y-103.348
|
||||
X362.948Y-121.348
|
||||
X362.948Y-157.348
|
||||
X362.948Y-175.348
|
||||
X362.948Y-139.348
|
||||
M30
|
||||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,333 @@
|
|||
M48
|
||||
; DRILL file {KiCad 8.0.5} date 2024-10-10T16:30:10+0200
|
||||
; FORMAT={-:-/ absolute / metric / decimal}
|
||||
; #@! TF.CreationDate,2024-10-10T16:30:10+02:00
|
||||
; #@! TF.GenerationSoftware,Kicad,Pcbnew,8.0.5
|
||||
; #@! TF.FileFunction,Plated,1,4,PTH
|
||||
FMAT,2
|
||||
METRIC
|
||||
; #@! TA.AperFunction,Plated,PTH,ViaDrill
|
||||
T1C0.400
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T2C1.000
|
||||
; #@! TA.AperFunction,Plated,PTH,ComponentDrill
|
||||
T3C1.092
|
||||
%
|
||||
G90
|
||||
G05
|
||||
T1
|
||||
X66.698Y-105.098
|
||||
X66.698Y-123.098
|
||||
X66.698Y-141.098
|
||||
X66.698Y-159.098
|
||||
X66.698Y-177.098
|
||||
X70.448Y-97.036
|
||||
X70.448Y-115.898
|
||||
X70.448Y-133.036
|
||||
X70.448Y-151.898
|
||||
X70.448Y-169.036
|
||||
X75.198Y-79.598
|
||||
X78.948Y-72.398
|
||||
X79.448Y-99.398
|
||||
X79.448Y-118.161
|
||||
X79.448Y-135.398
|
||||
X79.448Y-154.161
|
||||
X79.448Y-171.398
|
||||
X85.698Y-102.848
|
||||
X85.698Y-120.848
|
||||
X85.698Y-138.848
|
||||
X85.698Y-156.848
|
||||
X85.698Y-174.848
|
||||
X89.448Y-94.786
|
||||
X89.448Y-113.648
|
||||
X89.448Y-130.786
|
||||
X89.448Y-149.648
|
||||
X89.448Y-166.786
|
||||
X93.448Y-79.598
|
||||
X98.448Y-97.148
|
||||
X98.448Y-115.911
|
||||
X98.448Y-133.148
|
||||
X98.448Y-151.911
|
||||
X98.448Y-169.148
|
||||
X100.198Y-77.348
|
||||
X103.948Y-70.148
|
||||
X104.698Y-100.598
|
||||
X104.698Y-118.598
|
||||
X104.698Y-136.598
|
||||
X104.698Y-154.598
|
||||
X104.698Y-172.598
|
||||
X108.448Y-92.536
|
||||
X108.448Y-111.398
|
||||
X108.448Y-128.536
|
||||
X108.448Y-147.398
|
||||
X108.448Y-164.536
|
||||
X112.948Y-72.411
|
||||
X117.448Y-94.898
|
||||
X117.448Y-113.661
|
||||
X117.448Y-130.898
|
||||
X117.448Y-149.661
|
||||
X117.448Y-166.898
|
||||
X119.198Y-77.348
|
||||
X122.948Y-70.148
|
||||
X123.698Y-134.348
|
||||
X123.698Y-152.348
|
||||
X123.698Y-98.348
|
||||
X123.698Y-116.348
|
||||
X125.449Y-172.769
|
||||
X127.448Y-90.286
|
||||
X127.448Y-109.148
|
||||
X127.448Y-126.286
|
||||
X127.448Y-145.148
|
||||
X130.021Y-165.142
|
||||
X131.948Y-72.411
|
||||
X136.448Y-92.648
|
||||
X136.448Y-111.411
|
||||
X136.448Y-128.648
|
||||
X136.448Y-147.411
|
||||
X138.198Y-77.348
|
||||
X138.725Y-168.433
|
||||
X141.948Y-70.148
|
||||
X142.698Y-152.348
|
||||
X142.698Y-134.348
|
||||
X142.698Y-98.348
|
||||
X142.698Y-116.348
|
||||
X145.074Y-175.003
|
||||
X146.448Y-90.286
|
||||
X146.448Y-109.148
|
||||
X146.448Y-126.286
|
||||
X146.448Y-145.148
|
||||
X150.418Y-167.896
|
||||
X150.948Y-72.411
|
||||
X155.448Y-92.648
|
||||
X155.448Y-111.411
|
||||
X155.448Y-128.648
|
||||
X155.448Y-147.411
|
||||
X157.198Y-77.348
|
||||
X158.73Y-172.078
|
||||
X160.948Y-70.148
|
||||
X161.698Y-156.848
|
||||
X161.698Y-138.848
|
||||
X161.698Y-102.848
|
||||
X161.698Y-120.848
|
||||
X164.358Y-179.276
|
||||
X165.448Y-94.786
|
||||
X165.448Y-113.648
|
||||
X165.448Y-130.786
|
||||
X165.448Y-149.648
|
||||
X169.948Y-72.411
|
||||
X170.416Y-172.767
|
||||
X174.448Y-97.148
|
||||
X174.448Y-115.911
|
||||
X174.448Y-133.148
|
||||
X174.448Y-151.911
|
||||
X178.245Y-177.795
|
||||
X180.698Y-143.348
|
||||
X180.698Y-161.348
|
||||
X180.698Y-107.348
|
||||
X180.698Y-125.348
|
||||
X182.198Y-81.348
|
||||
X183.089Y-185.541
|
||||
X184.448Y-99.286
|
||||
X184.448Y-118.148
|
||||
X184.448Y-135.286
|
||||
X184.448Y-154.148
|
||||
X185.948Y-70.148
|
||||
X189.794Y-179.701
|
||||
X193.448Y-101.648
|
||||
X193.448Y-120.411
|
||||
X193.448Y-137.648
|
||||
X193.448Y-156.411
|
||||
X194.948Y-72.411
|
||||
X197.055Y-185.52
|
||||
X197.948Y-152.248
|
||||
X201.198Y-81.348
|
||||
X201.198Y-152.348
|
||||
X201.573Y-135.973
|
||||
X204.948Y-70.148
|
||||
X204.948Y-144.286
|
||||
X210.698Y-170.298
|
||||
X210.698Y-134.348
|
||||
X210.698Y-193.548
|
||||
X213.948Y-72.411
|
||||
X213.948Y-146.648
|
||||
X214.448Y-185.486
|
||||
X214.448Y-127.148
|
||||
X214.448Y-163.148
|
||||
X220.198Y-81.348
|
||||
X220.198Y-152.348
|
||||
X223.448Y-187.848
|
||||
X223.448Y-129.411
|
||||
X223.448Y-165.411
|
||||
X223.948Y-70.148
|
||||
X223.948Y-144.286
|
||||
X232.948Y-72.411
|
||||
X232.948Y-146.648
|
||||
X233.698Y-200.448
|
||||
X236.948Y-158.598
|
||||
X237.573Y-170.723
|
||||
X239.198Y-81.348
|
||||
X239.733Y-192.252
|
||||
X239.879Y-183.362
|
||||
X240.698Y-143.348
|
||||
X240.698Y-161.348
|
||||
X240.698Y-107.348
|
||||
X240.698Y-125.348
|
||||
X242.948Y-70.148
|
||||
X244.448Y-99.286
|
||||
X244.448Y-118.148
|
||||
X244.448Y-135.286
|
||||
X244.448Y-154.148
|
||||
X249.062Y-181.859
|
||||
X251.948Y-72.411
|
||||
X253.448Y-101.648
|
||||
X253.448Y-120.411
|
||||
X253.448Y-137.648
|
||||
X253.448Y-156.411
|
||||
X257.845Y-184.375
|
||||
X258.92Y-175.548
|
||||
X259.698Y-138.848
|
||||
X259.698Y-156.848
|
||||
X259.698Y-102.848
|
||||
X259.698Y-120.848
|
||||
X263.448Y-94.786
|
||||
X263.448Y-113.648
|
||||
X263.448Y-130.786
|
||||
X263.448Y-149.648
|
||||
X264.198Y-77.348
|
||||
X267.948Y-70.148
|
||||
X268.21Y-175.014
|
||||
X272.448Y-97.148
|
||||
X272.448Y-115.911
|
||||
X272.448Y-133.148
|
||||
X272.448Y-151.911
|
||||
X276.682Y-178.433
|
||||
X276.948Y-72.411
|
||||
X278.674Y-169.767
|
||||
X278.698Y-134.348
|
||||
X278.698Y-152.348
|
||||
X278.698Y-98.348
|
||||
X278.698Y-116.348
|
||||
X282.448Y-90.286
|
||||
X282.448Y-109.148
|
||||
X282.448Y-126.286
|
||||
X282.448Y-145.148
|
||||
X283.198Y-77.348
|
||||
X286.948Y-70.148
|
||||
X287.969Y-170.207
|
||||
X291.448Y-92.648
|
||||
X291.448Y-111.411
|
||||
X291.448Y-128.648
|
||||
X291.448Y-147.411
|
||||
X295.948Y-72.411
|
||||
X296.037Y-174.493
|
||||
X297.698Y-134.348
|
||||
X297.698Y-152.348
|
||||
X297.698Y-98.348
|
||||
X297.698Y-116.348
|
||||
X298.924Y-166.083
|
||||
X301.448Y-90.286
|
||||
X301.448Y-109.148
|
||||
X301.448Y-126.286
|
||||
X301.448Y-145.148
|
||||
X302.198Y-77.348
|
||||
X305.948Y-70.148
|
||||
X308.122Y-167.492
|
||||
X310.448Y-92.648
|
||||
X310.448Y-111.411
|
||||
X310.448Y-128.648
|
||||
X310.448Y-147.411
|
||||
X314.948Y-72.411
|
||||
X316.698Y-136.598
|
||||
X316.698Y-154.598
|
||||
X316.698Y-172.598
|
||||
X316.698Y-100.598
|
||||
X316.698Y-118.598
|
||||
X320.448Y-164.536
|
||||
X320.448Y-92.536
|
||||
X320.448Y-111.398
|
||||
X320.448Y-128.536
|
||||
X320.448Y-147.398
|
||||
X321.198Y-77.348
|
||||
X324.948Y-70.148
|
||||
X329.448Y-166.898
|
||||
X329.448Y-94.898
|
||||
X329.448Y-113.661
|
||||
X329.448Y-130.898
|
||||
X329.448Y-149.661
|
||||
X333.948Y-72.411
|
||||
X335.698Y-102.848
|
||||
X335.698Y-120.848
|
||||
X335.698Y-138.848
|
||||
X335.698Y-156.848
|
||||
X335.698Y-174.848
|
||||
X339.448Y-94.786
|
||||
X339.448Y-113.648
|
||||
X339.448Y-130.786
|
||||
X339.448Y-149.648
|
||||
X339.448Y-166.786
|
||||
X348.448Y-97.148
|
||||
X348.448Y-115.911
|
||||
X348.448Y-133.148
|
||||
X348.448Y-151.911
|
||||
X348.448Y-169.148
|
||||
X354.698Y-105.098
|
||||
X354.698Y-123.098
|
||||
X354.698Y-141.098
|
||||
X354.698Y-159.098
|
||||
X354.698Y-177.098
|
||||
X358.448Y-97.036
|
||||
X358.448Y-115.898
|
||||
X358.448Y-133.036
|
||||
X358.448Y-151.898
|
||||
X358.448Y-169.036
|
||||
X367.448Y-99.398
|
||||
X367.448Y-118.161
|
||||
X367.448Y-135.398
|
||||
X367.448Y-154.161
|
||||
X367.448Y-171.398
|
||||
T2
|
||||
X216.488Y-96.478
|
||||
X216.488Y-110.978
|
||||
X218.988Y-96.478
|
||||
X221.488Y-110.978
|
||||
X221.488Y-96.478
|
||||
X348.828Y-75.308
|
||||
X348.828Y-77.808
|
||||
X348.828Y-80.308
|
||||
X363.328Y-80.308
|
||||
X363.328Y-75.308
|
||||
T3
|
||||
X211.328Y-120.608
|
||||
X211.328Y-87.588
|
||||
X211.328Y-90.128
|
||||
X211.328Y-92.668
|
||||
X211.328Y-95.208
|
||||
X211.328Y-97.748
|
||||
X211.328Y-100.288
|
||||
X211.328Y-102.828
|
||||
X211.328Y-105.368
|
||||
X211.328Y-107.908
|
||||
X211.328Y-110.448
|
||||
X211.328Y-112.988
|
||||
X211.328Y-115.528
|
||||
X211.328Y-118.068
|
||||
X213.868Y-120.608
|
||||
X216.408Y-120.608
|
||||
X218.948Y-120.608
|
||||
X221.488Y-120.608
|
||||
X224.028Y-120.608
|
||||
X226.568Y-90.128
|
||||
X226.568Y-92.668
|
||||
X226.568Y-95.208
|
||||
X226.568Y-97.748
|
||||
X226.568Y-100.288
|
||||
X226.568Y-102.828
|
||||
X226.568Y-105.368
|
||||
X226.568Y-107.908
|
||||
X226.568Y-110.448
|
||||
X226.568Y-112.988
|
||||
X226.568Y-115.528
|
||||
X226.568Y-118.068
|
||||
X226.568Y-120.608
|
||||
X226.568Y-87.588
|
||||
M30
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
{
|
||||
"Header": {
|
||||
"GenerationSoftware": {
|
||||
"Vendor": "KiCad",
|
||||
"Application": "Pcbnew",
|
||||
"Version": "8.0.5"
|
||||
},
|
||||
"CreationDate": "2024-10-10T16:29:35+02:00"
|
||||
},
|
||||
"GeneralSpecs": {
|
||||
"ProjectId": {
|
||||
"Name": "eepyboard_rev2",
|
||||
"GUID": "65657079-626f-4617-9264-5f726576322e",
|
||||
"Revision": "1.1"
|
||||
},
|
||||
"Size": {
|
||||
"X": 313.65,
|
||||
"Y": 140.5166
|
||||
},
|
||||
"LayerNumber": 4,
|
||||
"BoardThickness": 1.6,
|
||||
"Finish": "None"
|
||||
},
|
||||
"DesignRules": [
|
||||
{
|
||||
"Layers": "Outer",
|
||||
"PadToPad": 0.2,
|
||||
"PadToTrack": 0.2,
|
||||
"TrackToTrack": 0.2,
|
||||
"MinLineWidth": 0.25,
|
||||
"TrackToRegion": 0.508,
|
||||
"RegionToRegion": 0.508
|
||||
},
|
||||
{
|
||||
"Layers": "Inner",
|
||||
"PadToPad": 0.2,
|
||||
"PadToTrack": 0.2,
|
||||
"TrackToTrack": 0.2,
|
||||
"TrackToRegion": 0.508,
|
||||
"RegionToRegion": 0.508
|
||||
}
|
||||
],
|
||||
"FilesAttributes": [
|
||||
{
|
||||
"Path": "eepyboard_rev2-F_Cu.gbr",
|
||||
"FileFunction": "Copper,L1,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-In1_Cu.gbr",
|
||||
"FileFunction": "Copper,L2,Inr",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-In2_Cu.gbr",
|
||||
"FileFunction": "Copper,L3,Inr",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-B_Cu.gbr",
|
||||
"FileFunction": "Copper,L4,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-F_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-B_Paste.gbr",
|
||||
"FileFunction": "SolderPaste,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-F_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Top",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-B_Silkscreen.gbr",
|
||||
"FileFunction": "Legend,Bot",
|
||||
"FilePolarity": "Positive"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-F_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Top",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-B_Mask.gbr",
|
||||
"FileFunction": "SolderMask,Bot",
|
||||
"FilePolarity": "Negative"
|
||||
},
|
||||
{
|
||||
"Path": "eepyboard_rev2-Edge_Cuts.gbr",
|
||||
"FileFunction": "Profile",
|
||||
"FilePolarity": "Positive"
|
||||
}
|
||||
],
|
||||
"MaterialStackup": [
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Top Silk Screen"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Top Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Top Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "F.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "Dielectric",
|
||||
"Thickness": 0.1,
|
||||
"Material": "FR4",
|
||||
"Name": "F.Cu/In1.Cu",
|
||||
"Notes": "Type: dielectric layer 1 (from F.Cu to In1.Cu)"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "In1.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "Dielectric",
|
||||
"Thickness": 1.24,
|
||||
"Material": "FR4",
|
||||
"Name": "In1.Cu/In2.Cu",
|
||||
"Notes": "Type: dielectric layer 2 (from In1.Cu to In2.Cu)"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "In2.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "Dielectric",
|
||||
"Thickness": 0.1,
|
||||
"Material": "FR4",
|
||||
"Name": "In2.Cu/B.Cu",
|
||||
"Notes": "Type: dielectric layer 3 (from In2.Cu to B.Cu)"
|
||||
},
|
||||
{
|
||||
"Type": "Copper",
|
||||
"Thickness": 0.035,
|
||||
"Name": "B.Cu"
|
||||
},
|
||||
{
|
||||
"Type": "SolderMask",
|
||||
"Thickness": 0.01,
|
||||
"Name": "Bottom Solder Mask"
|
||||
},
|
||||
{
|
||||
"Type": "SolderPaste",
|
||||
"Name": "Bottom Solder Paste"
|
||||
},
|
||||
{
|
||||
"Type": "Legend",
|
||||
"Name": "Bottom Silk Screen"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
Loading…
Reference in New Issue