Hardware revision 2 (eepyBoard v1.1) #1
49 changed files with 370853 additions and 504 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -24,7 +24,7 @@ dist
|
||||||
/ergogen/output
|
/ergogen/output
|
||||||
|
|
||||||
# Kicad temporary files
|
# Kicad temporary files
|
||||||
/kicad/*-backups/
|
/kicad/*/*-backups/
|
||||||
*.bak
|
*.bak
|
||||||
*.kicad_pcb-bak
|
*.kicad_pcb-bak
|
||||||
*.kicad_sch-bak
|
*.kicad_sch-bak
|
||||||
|
|
|
||||||
45
README.md
45
README.md
|
|
@ -5,10 +5,19 @@ Custom ergonomic mechanical keyboard with low-profile (Choc) switches.
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
- **eepyBoard v1.0: Hardware revision 1**
|
- **eepyBoard v1.0: Hardware revision 1**
|
||||||
- Mostly ortholinear layout with 13 columns
|
- Mostly ortholinear layout with 13 columns (73 keys + rotary encoder)
|
||||||
- Bottom row: two regular keys + four thumb keys (per side, symmetrical)
|
- Bottom row: two regular keys + four thumb keys (per side, symmetrical)
|
||||||
- Partial F-key row (Esc, F1-F8) and rotary encoder
|
- Partial F-key row (Esc, F1-F8) and rotary encoder
|
||||||
- RP2040 controller board in upper right corner
|
- 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
|
## 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`.
|
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`.
|
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
|
#### Routing and finalizing the KiCad files
|
||||||
|
|
||||||
Open the file in KiCad (create a project if non exists yet). Finalize the PCB in KiCad.
|
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.
|
- 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`
|
- Menu: `File -> Board Setup`
|
||||||
- On "Physical Stackup", change the copper layer number to 4.
|
- 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".
|
- 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.
|
- 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.
|
- 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.
|
- 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.
|
- 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.
|
- 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. 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:
|
6. Route all signal traces (no VCC or GND yet). Recommended order:
|
||||||
- Matrix rows (on `B.Cu`)
|
- Matrix rows (on `B.Cu`)
|
||||||
- Matrix columns (with vias on `F.Cu`)
|
- Matrix columns (with vias on `F.Cu`)
|
||||||
- NeoPixel data pins
|
- NeoPixel data pins
|
||||||
- Connect everything to the MCU.
|
- 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.
|
- 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.
|
- 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.
|
- 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. 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.
|
10. Run the Design Rules Checker and make sure there are no (relevant) violations.
|
||||||
|
|
||||||
#### Export Gerber files
|
#### Export Gerber files
|
||||||
|
|
||||||
|
|
@ -69,7 +82,7 @@ Now you can generate the gerber, drill and map files.
|
||||||
1. Generate Gerber files.
|
1. Generate Gerber files.
|
||||||
- Menu: `File -> Fabrication Output -> Gerbers`
|
- Menu: `File -> Fabrication Output -> Gerbers`
|
||||||
- Select plot format `Gerber`.
|
- 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`.
|
- Set coordinate format to `4.6, unit mm`.
|
||||||
- Click `Plot` to generate files.
|
- Click `Plot` to generate files.
|
||||||
2. Generate drill and map 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 drill units to millimeters.
|
||||||
- Set same output directory as above.
|
- Set same output directory as above.
|
||||||
- Click `Generate Drill File`, then `Generate Map File`
|
- 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.
|
- No subdirectories, only files.
|
||||||
- Ideally name the file `kicad/gerber/eepyboard_{REVISION}.zip`.
|
- Ideally name the file `kicad/gerber/eepyboard_{REVISION}.zip`.
|
||||||
4. Upload zip file to manufacturer and make sure everything is correct.
|
4. Upload zip file to manufacturer and make sure everything is correct.
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ meta:
|
||||||
# Required version of Ergogen
|
# Required version of Ergogen
|
||||||
engine: "4.1.0"
|
engine: "4.1.0"
|
||||||
# Version of the board
|
# Version of the board
|
||||||
version: "1.0"
|
version: "1.1"
|
||||||
author: binaryDiv
|
author: binaryDiv
|
||||||
|
|
||||||
# Define units and default values used throughout this file
|
# Define units and default values used throughout this file
|
||||||
|
|
@ -29,268 +29,409 @@ units:
|
||||||
$default_spread: cx
|
$default_spread: cx
|
||||||
$default_padding: cy
|
$default_padding: cy
|
||||||
|
|
||||||
# Vertical offset between function keys and primary keys
|
# Vertical offset between function key row and main zone
|
||||||
function_zone_offset: 3
|
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:
|
points:
|
||||||
key:
|
key:
|
||||||
# Tag all points as "is_key" unless overwritten
|
# Tag all points as "is_key" unless overwritten
|
||||||
tags: [ is_key ]
|
tags: [ is_key ]
|
||||||
|
# Use 5V as VCC for all RGB LEDs, except for the first one in the chain
|
||||||
|
led_vcc_net: VCC
|
||||||
|
|
||||||
zones:
|
zones:
|
||||||
# Primary keyboard zone
|
# Main keyboard zone
|
||||||
primary:
|
main:
|
||||||
# Set anchor to fix placement on KiCad sheet
|
# Set anchor to fix placement on KiCad sheet
|
||||||
anchor:
|
anchor:
|
||||||
shift: [ 100, -150 ]
|
shift: [ 75, -175 ]
|
||||||
|
|
||||||
# Key rows (from bottom to top)
|
# Key rows (from bottom to top)
|
||||||
rows:
|
rows:
|
||||||
# Modifier row (Ctrl, ..., but excluding the thumb keys)
|
# Modifier row (Ctrl etc., but excluding the thumb keys)
|
||||||
mods:
|
mods:
|
||||||
row_net: GP17
|
row_net: ROW1
|
||||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||||
tags: [ is_key, flip_led ]
|
|
||||||
|
|
||||||
# Bottom letter row (Shift, ZXCV...)
|
# Bottom letter row
|
||||||
bottom:
|
bottom:
|
||||||
row_net: GP16
|
row_net: ROW2
|
||||||
led_previous_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
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:
|
home:
|
||||||
row_net: GP15
|
row_net: ROW3
|
||||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
led_next_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
||||||
tags: [ is_key, flip_led ]
|
|
||||||
|
|
||||||
# Top letter row (Tab, QWERT...)
|
# Top letter row
|
||||||
top:
|
top:
|
||||||
row_net: GP14
|
row_net: ROW4
|
||||||
led_previous_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
led_next_key: "{{zone.name}}_{{neighbor_col_right}}_{{row}}"
|
||||||
|
|
||||||
# Number row (`, 12345...)
|
|
||||||
numbers:
|
|
||||||
row_net: GP13
|
|
||||||
led_previous_key: "{{zone.name}}_{{neighbor_col_left}}_{{row}}"
|
|
||||||
tags: [ is_key, flip_led ]
|
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)
|
# Key columns (from left to right)
|
||||||
columns:
|
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:
|
zero:
|
||||||
key.column_net: GP8
|
key.stagger: 1/8cy
|
||||||
|
key.column_net: COL2
|
||||||
|
key.neighbor_col_left: left
|
||||||
key.neighbor_col_right: one
|
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)
|
# First letter column (1, Q)
|
||||||
one:
|
one:
|
||||||
key.column_net: GP7
|
key.stagger: 1/8cy
|
||||||
|
key.column_net: COL3
|
||||||
key.neighbor_col_left: zero
|
key.neighbor_col_left: zero
|
||||||
key.neighbor_col_right: two
|
key.neighbor_col_right: two
|
||||||
# Second letter column (2, W)
|
# Second letter column (2, W)
|
||||||
two:
|
two:
|
||||||
key.column_net: GP6
|
key.stagger: 1/8cy
|
||||||
|
key.column_net: COL4
|
||||||
key.neighbor_col_left: one
|
key.neighbor_col_left: one
|
||||||
key.neighbor_col_right: three
|
key.neighbor_col_right: three
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Third letter column (3, E)
|
# Third letter column (3, E)
|
||||||
three:
|
three:
|
||||||
key.column_net: GP5
|
key.column_net: COL5
|
||||||
key.neighbor_col_left: two
|
key.neighbor_col_left: two
|
||||||
key.neighbor_col_right: four
|
key.neighbor_col_right: four
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Fourth letter column (4, R)
|
# Fourth letter column (4, R)
|
||||||
four:
|
four:
|
||||||
key.column_net: GP4
|
key.stagger: -(1/4cy)
|
||||||
|
key.column_net: COL6
|
||||||
key.neighbor_col_left: three
|
key.neighbor_col_left: three
|
||||||
key.neighbor_col_right: five
|
key.neighbor_col_right: five
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Fifth letter column (5, T)
|
# Fifth letter column (5, T)
|
||||||
five:
|
five:
|
||||||
key.column_net: GP3
|
key.stagger: -(1/4cy)
|
||||||
|
key.column_net: COL7
|
||||||
key.neighbor_col_left: four
|
key.neighbor_col_left: four
|
||||||
key.neighbor_col_right: six
|
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
|
rows.mods.skip: true
|
||||||
|
|
||||||
|
# (Gap with arrow keys in the middle: Matrix column 8)
|
||||||
|
|
||||||
# Sixth letter column (6, Y)
|
# Sixth letter column (6, Y)
|
||||||
six:
|
six:
|
||||||
key.column_net: GP2
|
key.spread: cx + split_gap_width
|
||||||
|
key.column_net: COL9
|
||||||
key.neighbor_col_left: five
|
key.neighbor_col_left: five
|
||||||
key.neighbor_col_right: seven
|
key.neighbor_col_right: seven
|
||||||
|
rows.home.led_next_key: arrow_keys_right
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Seventh letter column (7, U)
|
# Seventh letter column (7, U)
|
||||||
seven:
|
seven:
|
||||||
key.column_net: GP1
|
key.stagger: 1/4cy
|
||||||
|
key.column_net: COL10
|
||||||
key.neighbor_col_left: six
|
key.neighbor_col_left: six
|
||||||
key.neighbor_col_right: eight
|
key.neighbor_col_right: eight
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Eighth letter column (8, I)
|
# Eighth letter column (8, I)
|
||||||
eight:
|
eight:
|
||||||
key.column_net: GP0
|
key.stagger: 1/4cy
|
||||||
|
key.column_net: COL11
|
||||||
key.neighbor_col_left: seven
|
key.neighbor_col_left: seven
|
||||||
key.neighbor_col_right: nine
|
key.neighbor_col_right: nine
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Nineth letter column (9, O)
|
# Nineth letter column (9, O)
|
||||||
nine:
|
nine:
|
||||||
key.column_net: GP25
|
key.column_net: COL12
|
||||||
key.neighbor_col_left: eight
|
key.neighbor_col_left: eight
|
||||||
key.neighbor_col_right: ten
|
key.neighbor_col_right: ten
|
||||||
rows.mods.skip: true
|
rows.mods.skip: true
|
||||||
# Tenth letter column (0, P)
|
# Tenth letter column (0, P)
|
||||||
ten:
|
ten:
|
||||||
key.column_net: GP24
|
key.stagger: -(1/8cy)
|
||||||
|
key.column_net: COL13
|
||||||
key.neighbor_col_left: nine
|
key.neighbor_col_left: nine
|
||||||
key.neighbor_col_right: eleven
|
key.neighbor_col_right: eleven
|
||||||
rows.mods.skip: true
|
rows.mods.led_next_key: mirror_thumb_one
|
||||||
# Eleventh letter column (-, [)
|
# Eleventh letter column (-, [)
|
||||||
eleven:
|
eleven:
|
||||||
key.column_net: GP23
|
key.stagger: -(1/8cy)
|
||||||
|
key.column_net: COL14
|
||||||
key.neighbor_col_left: ten
|
key.neighbor_col_left: ten
|
||||||
key.neighbor_col_right: twelve
|
key.neighbor_col_right: twelve
|
||||||
rows.mods.led_previous_key: thumb_mirror_one_default
|
|
||||||
# Twelfth letter column (=, ])
|
# Twelfth letter column (=, ])
|
||||||
twelve:
|
twelve:
|
||||||
key.column_net: GP22
|
key.stagger: -(1/8cy)
|
||||||
|
key.column_net: COL15
|
||||||
key.neighbor_col_left: eleven
|
key.neighbor_col_left: eleven
|
||||||
rows.top.led_previous_key: primary_twelve_numbers
|
rows.top.led_next_key: main_twelve_home
|
||||||
rows.bottom.led_previous_key: primary_twelve_home
|
rows.bottom.led_next_key: main_twelve_mods
|
||||||
|
|
||||||
# Thumb fan
|
# Thumb fan
|
||||||
thumb:
|
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:
|
anchor:
|
||||||
ref: primary_two_mods
|
ref: main_one_mods
|
||||||
shift: [ 2, 0 ]
|
shift: [ cx + 1, 0 ]
|
||||||
|
|
||||||
# Rotate the thumb keys around the bottom-left corner of the key
|
# Zone-wide key settings
|
||||||
key:
|
key:
|
||||||
row_net: GP17
|
row_net: ROW1
|
||||||
tags: [ is_key, flip_led ]
|
# Rotate the thumb keys around the bottom-left corner of the key
|
||||||
origin: [ -0.5cx, -0.5cy ]
|
origin: [ -0.5cx, -0.5cy ]
|
||||||
splay: -4
|
splay: -6
|
||||||
|
|
||||||
# Define thumb keys
|
# Define thumb keys
|
||||||
columns:
|
columns:
|
||||||
one:
|
one:
|
||||||
key.column_net: GP6
|
key.column_net: COL4
|
||||||
key.mirror.column_net: GP24
|
key.mirror.column_net: COL12
|
||||||
key.led_previous_key: primary_one_mods
|
key.led_next_key: main_one_mods
|
||||||
key.mirror.led_previous_key: thumb_mirror_two_default
|
key.mirror.led_next_key: mirror_thumb_two
|
||||||
two:
|
two:
|
||||||
key.column_net: GP5
|
key.column_net: COL5
|
||||||
key.mirror.column_net: GP25
|
key.mirror.column_net: COL11
|
||||||
key.led_previous_key: thumb_one_default
|
key.led_next_key: thumb_one
|
||||||
key.mirror.led_previous_key: thumb_mirror_three_default
|
key.mirror.led_next_key: mirror_thumb_three
|
||||||
three:
|
three:
|
||||||
key.column_net: GP4
|
key.column_net: COL6
|
||||||
key.mirror.column_net: GP0
|
key.mirror.column_net: COL10
|
||||||
key.led_previous_key: thumb_two_default
|
key.led_next_key: thumb_two
|
||||||
key.mirror.led_previous_key: thumb_mirror_four_default
|
key.mirror.led_next_key: mirror_thumb_four
|
||||||
four:
|
four:
|
||||||
key.column_net: GP3
|
key.column_net: COL7
|
||||||
key.mirror.column_net: GP1
|
key.mirror.column_net: COL9
|
||||||
key.led_previous_key: thumb_three_default
|
key.led_next_key: thumb_three
|
||||||
key.mirror.led_previous_key: thumb_four_default
|
key.mirror.led_next_key: thumb_center
|
||||||
|
|
||||||
# Mirror the thumb fan
|
# Mirror the thumb fan
|
||||||
mirror:
|
mirror:
|
||||||
ref: primary_five_numbers
|
ref: main_five_bottom
|
||||||
shift: [ 0.5cx, 0.5cx ]
|
shift: [ 0.5cx, 0.5cy ]
|
||||||
distance: 1cx
|
distance: split_gap_width
|
||||||
|
|
||||||
# Function key row above the primary zone (Esc + 8 more keys)
|
# Single key centered between thumb 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
|
thumb_center:
|
||||||
# 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
|
|
||||||
anchor:
|
anchor:
|
||||||
ref: primary_zero_numbers
|
# Center between the two inner thumb keys
|
||||||
shift: [ 0, cy + function_zone_offset ]
|
aggregate.parts:
|
||||||
|
- thumb_four
|
||||||
|
- mirror_thumb_four
|
||||||
|
shift: [ 0, -0.25cy ]
|
||||||
|
|
||||||
|
# Key settings (instead of rows/columns)
|
||||||
key:
|
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
|
# Define function keys
|
||||||
columns:
|
columns:
|
||||||
# Escape key
|
# Escape key
|
||||||
esc:
|
esc:
|
||||||
key.column_net: GP8
|
key.shift: [ 0, -cy/8 ]
|
||||||
key.led_previous_key: function_f1_default
|
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:
|
f1:
|
||||||
key.spread: cx + 6
|
key.spread: cx + function_gap
|
||||||
key.column_net: GP7
|
key.column_net: COL2
|
||||||
key.led_previous_key: function_f2_default
|
key.led_next_key: function_f2
|
||||||
f2:
|
f2:
|
||||||
key.column_net: GP6
|
key.column_net: COL3
|
||||||
key.led_previous_key: function_f3_default
|
key.led_next_key: function_f3
|
||||||
f3:
|
f3:
|
||||||
key.column_net: GP5
|
key.column_net: COL4
|
||||||
key.led_previous_key: function_f4_default
|
key.led_next_key: function_f4
|
||||||
f4:
|
f4:
|
||||||
key.column_net: GP4
|
key.column_net: COL5
|
||||||
key.led_previous_key: function_f5_default
|
key.led_next_key: function_f5
|
||||||
|
|
||||||
# Block of 4 keys with 6mm offset
|
# Block of 4 keys with gap
|
||||||
f5:
|
f5:
|
||||||
key.spread: cx + 6
|
key.spread: cx + function_gap
|
||||||
key.column_net: GP3
|
key.column_net: COL6
|
||||||
key.led_previous_key: function_f6_default
|
key.led_next_key: function_f6
|
||||||
f6:
|
f6:
|
||||||
key.column_net: GP2
|
key.column_net: COL7
|
||||||
key.led_previous_key: function_f7_default
|
key.led_next_key: function_f7
|
||||||
|
# Skip matrix column 8 (arrow keys)
|
||||||
f7:
|
f7:
|
||||||
key.column_net: GP1
|
key.column_net: COL9
|
||||||
key.led_previous_key: function_f8_default
|
key.led_next_key: function_f8
|
||||||
f8:
|
f8:
|
||||||
key.column_net: GP0
|
key.column_net: COL10
|
||||||
key.led_previous_key: status_led
|
key.led_next_key: function_f9
|
||||||
|
|
||||||
# Additional points for special components in the upper right corner: Status LED, reset button, rotary encoder
|
# Block of 4 keys with gap
|
||||||
special:
|
f9:
|
||||||
# Align points with the function key zone
|
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:
|
anchor:
|
||||||
ref: primary_ten_numbers
|
# Place in the center of the keyboard, above the arrow keys
|
||||||
shift: [ 0, cy + function_zone_offset ]
|
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:
|
key:
|
||||||
tags: [ no_key ]
|
tags: [ is_controller ]
|
||||||
|
width: 18
|
||||||
|
height: 36
|
||||||
|
|
||||||
# Define points
|
# Rotary encoder in the center of the keyboard (on top of the controller board)
|
||||||
columns:
|
rotary_center:
|
||||||
# Neopixel status LED (first in the chain, see comment in PCB footprints for details)
|
anchor:
|
||||||
status_led:
|
ref: controller
|
||||||
key:
|
rotate: -90
|
||||||
width: 3.4
|
key:
|
||||||
height: 3.0
|
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
|
# Rotary encoder in the top right corner of the keyboard
|
||||||
reset_button:
|
rotary_top_right:
|
||||||
key:
|
anchor:
|
||||||
shift: [ -0.25cx - 1, 0 ]
|
ref: function_f12
|
||||||
width: 6.5
|
shift: [ cx + 2 + function_gap, -cy/8 ]
|
||||||
height: 6.5
|
key:
|
||||||
|
tags: [ is_rotary_encoder ]
|
||||||
# Rotary encoder in the upper right corner
|
width: 2 * rotary_encoder_radius
|
||||||
rotary:
|
height: 2 * rotary_encoder_radius
|
||||||
key:
|
# Matrix position of the switch: Function row, right of F12
|
||||||
row_net: GP12
|
row_net: ROW6
|
||||||
column_net: GP22
|
column_net: COL15
|
||||||
shift: [ -0.25cx, 0 ]
|
|
||||||
width: 20.5
|
|
||||||
height: 20.5
|
|
||||||
tags: [ is_rotary_encoder ]
|
|
||||||
|
|
||||||
# Generate outlines that can be used in the PCB and for 3D models
|
# Generate outlines that can be used in the PCB and for 3D models
|
||||||
outlines:
|
outlines:
|
||||||
# Outline of the key caps
|
# Outline of the key caps
|
||||||
keys:
|
keys:
|
||||||
|
# 1u keys
|
||||||
- what: rectangle
|
- what: rectangle
|
||||||
where: is_key
|
operation: stack
|
||||||
|
where: [ [ is_key, -1_5u ] ]
|
||||||
size: [ kcx, kcy ]
|
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 with knob (2cm)
|
||||||
rotary_encoder:
|
rotary_encoder:
|
||||||
|
|
@ -299,46 +440,77 @@ outlines:
|
||||||
size: [ 14, 14 ]
|
size: [ 14, 14 ]
|
||||||
- what: circle
|
- what: circle
|
||||||
operation: stack
|
operation: stack
|
||||||
radius: 10
|
radius: rotary_encoder_radius
|
||||||
|
|
||||||
# Outline for the PCB
|
# Outline for the PCB
|
||||||
board:
|
board_outline:
|
||||||
- what: polygon
|
- what: polygon
|
||||||
points:
|
points:
|
||||||
- ref: primary_zero_numbers
|
# Top left corner
|
||||||
shift: [ -0.5cx + 1, 1.5cy + function_zone_offset + 2 ]
|
- ref: &corner_top_left_anchor
|
||||||
- ref: primary_twelve_numbers
|
- ref: main_left_numbers
|
||||||
shift: [ 0.5cx - 1, 1.5cy + function_zone_offset + 2]
|
affect: x
|
||||||
- ref: primary_twelve_mods
|
- ref: function_f1
|
||||||
shift: [ 0.5cx - 1, -0.5cy + 2 ]
|
affect: y
|
||||||
- ref: mirror_thumb_four
|
- shift: [ -0.5kcx, 0.5kcy ]
|
||||||
shift: [ 0.5cx, -0.5cy + 2 ]
|
# Extend all corners 4mm to the sides to get a 4mm border
|
||||||
- ref: thumb_four
|
shift: [ -4, 4 ]
|
||||||
shift: [ 0.5cx, -0.5cy + 2 ]
|
|
||||||
- ref: primary_zero_mods
|
# Top right corner
|
||||||
shift: [ -0.5cx + 1, -0.5cy + 2 ]
|
- ref: &corner_top_right_anchor
|
||||||
expand: 4
|
- 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
|
# Preview version of board with key caps and components for visualization
|
||||||
board_preview:
|
board_preview:
|
||||||
- board
|
- board_outline
|
||||||
- ^keys
|
- ^keys
|
||||||
# RP2040 controller board
|
|
||||||
|
# RP2040 Pico Mini controller board
|
||||||
- what: rectangle
|
- what: rectangle
|
||||||
operation: stack
|
operation: stack
|
||||||
where: primary_eleven_numbers
|
where: is_controller
|
||||||
size: [ 54, 20 ]
|
size: [ 18, 36 ]
|
||||||
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 ]
|
|
||||||
# Rotary encoder
|
# Rotary encoder
|
||||||
- what: outline
|
- what: outline
|
||||||
name: rotary_encoder
|
name: rotary_encoder
|
||||||
|
|
@ -348,12 +520,12 @@ outlines:
|
||||||
# Cutouts for the switches
|
# Cutouts for the switches
|
||||||
switch_cutouts:
|
switch_cutouts:
|
||||||
- what: rectangle
|
- what: rectangle
|
||||||
where: true
|
where: is_key
|
||||||
size: 14
|
size: 14
|
||||||
|
|
||||||
# Board outline with switch cutouts
|
# Board outline with switch cutouts
|
||||||
switch_plate:
|
switch_plate:
|
||||||
- board
|
- board_outline
|
||||||
- -switch_cutouts
|
- -switch_cutouts
|
||||||
|
|
||||||
# Generate the PCB
|
# Generate the PCB
|
||||||
|
|
@ -362,20 +534,48 @@ pcbs:
|
||||||
# Define outline (edges) of the board based on the outlines defined above
|
# Define outline (edges) of the board based on the outlines defined above
|
||||||
outlines:
|
outlines:
|
||||||
main:
|
main:
|
||||||
outline: board
|
outline: board_outline
|
||||||
|
|
||||||
# Define PCB components
|
# Define PCB components
|
||||||
footprints:
|
footprints:
|
||||||
controller:
|
controller:
|
||||||
what: rp2040_purple
|
what: rp2040_pico_mini
|
||||||
where:
|
where: is_controller
|
||||||
ref: primary_eleven_numbers
|
|
||||||
shift: [ 0, cy + function_zone_offset ]
|
|
||||||
rotate: 90
|
|
||||||
params:
|
params:
|
||||||
|
# Mount the controller board on the backside of the PCB
|
||||||
orientation: down
|
orientation: down
|
||||||
# Use VBUS (5V from USB) as VCC net
|
# Use 5V from USB as VCC net
|
||||||
VBUS: VCC
|
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:
|
choc_hotswap:
|
||||||
what: choc_pretty
|
what: choc_pretty
|
||||||
|
|
@ -385,33 +585,33 @@ pcbs:
|
||||||
params:
|
params:
|
||||||
keycaps: true
|
keycaps: true
|
||||||
hotswap: true
|
hotswap: true
|
||||||
from: "{{colrow}}"
|
from: "diode_{{name}}"
|
||||||
to: "{{column_net}}"
|
to: "{{column_net}}"
|
||||||
|
|
||||||
diode:
|
key_diode:
|
||||||
what: diode_smd
|
what: diode_smd
|
||||||
where: is_key
|
where: is_key
|
||||||
adjust:
|
adjust:
|
||||||
shift: [ 7, -7.5 ]
|
shift: [ 7, -7 ]
|
||||||
rotate: 90
|
rotate: 90
|
||||||
resist: true
|
resist: true
|
||||||
params:
|
params:
|
||||||
side: B
|
side: B
|
||||||
from: "{{colrow}}"
|
from: "diode_{{name}}"
|
||||||
to: "{{row_net}}"
|
to: "{{row_net}}"
|
||||||
|
|
||||||
rotary_encoder:
|
rotary_encoder:
|
||||||
what: rotary_modified
|
what: rotary_encoder_ec12
|
||||||
where: is_rotary_encoder
|
where: is_rotary_encoder
|
||||||
params:
|
params:
|
||||||
from: "{{colrow}}"
|
from: "diode_{{name}}"
|
||||||
to: "{{column_net}}"
|
to: "{{column_net}}"
|
||||||
A: GP10
|
A: "{{name}}_a"
|
||||||
B: GP11
|
B: "{{name}}_b"
|
||||||
C: GND
|
C: GND
|
||||||
|
|
||||||
diode_rotary_encoder:
|
rotary_encoder_diode:
|
||||||
$extends: pcbs.eepyboard.footprints.diode
|
$extends: pcbs.eepyboard.footprints.key_diode
|
||||||
where: is_rotary_encoder
|
where: is_rotary_encoder
|
||||||
adjust:
|
adjust:
|
||||||
shift: [ 0, 0 ]
|
shift: [ 0, 0 ]
|
||||||
|
|
@ -426,24 +626,25 @@ pcbs:
|
||||||
shift: [ 0, 4.7 ]
|
shift: [ 0, 4.7 ]
|
||||||
params:
|
params:
|
||||||
side: B
|
side: B
|
||||||
din: "led_dout_{{led_previous_key}}"
|
din: "led_din_{{name}}"
|
||||||
dout: "led_dout_{{zone.name}}_{{colrow}}"
|
dout: "led_din_{{led_next_key}}"
|
||||||
|
VCC: "{{led_vcc_net}}"
|
||||||
|
|
||||||
led_capacitor:
|
led_capacitor:
|
||||||
what: cap_0805
|
what: capacitor_smd_1206
|
||||||
where: [ [ is_key, -flip_led ] ]
|
where: [ [ is_key, -flip_led ] ]
|
||||||
adjust:
|
adjust:
|
||||||
shift: [ -6, 4.5 ]
|
shift: [ -6.5, 4.75 ]
|
||||||
rotate: 90
|
rotate: 90
|
||||||
resist: true
|
resist: true
|
||||||
params:
|
params:
|
||||||
side: B
|
side: B
|
||||||
from: VCC
|
from: "{{led_vcc_net}}"
|
||||||
to: GND
|
to: GND
|
||||||
|
|
||||||
led_chip_flipped:
|
led_chip_flipped:
|
||||||
$extends: pcbs.eepyboard.footprints.led_chip
|
$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 ] ]
|
where: [ [ is_key, flip_led ] ]
|
||||||
adjust.rotate: 180
|
adjust.rotate: 180
|
||||||
|
|
||||||
|
|
@ -451,97 +652,86 @@ pcbs:
|
||||||
$extends: pcbs.eepyboard.footprints.led_capacitor
|
$extends: pcbs.eepyboard.footprints.led_capacitor
|
||||||
where: [ [ is_key, flip_led ] ]
|
where: [ [ is_key, flip_led ] ]
|
||||||
adjust:
|
adjust:
|
||||||
shift: [ 6, 4.9 ]
|
shift: [ 6.5, 4.75 ]
|
||||||
rotate: 270
|
rotate: 270
|
||||||
resist: true
|
resist: true
|
||||||
|
|
||||||
# Additional first LED (not bound to a key) that serves as a status LED.
|
# The first SK6812 chip in the chain has to run on a reduced voltage to serve as a makeshift level converter for
|
||||||
# Additionally, it runs on a reduced voltage to serve as a level converter for the next LED: The RP2040 runs on
|
# all following RGB LEDs.
|
||||||
# 3.3V, but the SK6812 runs on 5V and requires at least 3.5V (5V * 0.7) for the control signal. By reducing the
|
# 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)
|
||||||
# power voltage with a diode, the threshold is reduced as well, so that the signal of the RP2040 is strong enough.
|
# for the control signal. By reducing the power voltage with a diode, the threshold is reduced as well, so that
|
||||||
status_led_chip:
|
# the signal of the RP2040 is strong enough.
|
||||||
what: sk6812_mini_e
|
first_led_voltage_diode:
|
||||||
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:
|
|
||||||
what: diode_smd
|
what: diode_smd
|
||||||
where: special_status_led
|
where: function_esc
|
||||||
adjust:
|
adjust:
|
||||||
shift: [ 0, 3.5 ]
|
shift: [ 10, 1.5]
|
||||||
rotate: 0
|
rotate: -90
|
||||||
params:
|
params:
|
||||||
side: B
|
side: B
|
||||||
from: VCC
|
from: VCC
|
||||||
to: VCC_status_led
|
to: VCC_first_led
|
||||||
|
|
||||||
reset_button:
|
# Mounting holes: Top left and right corners
|
||||||
what: button_6x6
|
|
||||||
where: special_reset_button
|
|
||||||
params:
|
|
||||||
from: GND
|
|
||||||
to: RUN
|
|
||||||
|
|
||||||
# Mounting holes
|
|
||||||
mounting_hole_top_left:
|
mounting_hole_top_left:
|
||||||
what: mountinghole_m2
|
what: mountinghole_m2
|
||||||
where:
|
where:
|
||||||
ref: function_esc
|
ref: *corner_top_left_anchor
|
||||||
shift: [ -9, 11.5 ]
|
shift: [ 2, -2 ]
|
||||||
|
|
||||||
mounting_hole_top_center:
|
|
||||||
what: mountinghole_m2
|
|
||||||
where:
|
|
||||||
ref: function_f4
|
|
||||||
shift: [ 12.5, 0 ]
|
|
||||||
|
|
||||||
mounting_hole_top_right:
|
mounting_hole_top_right:
|
||||||
what: mountinghole_m2
|
what: mountinghole_m2
|
||||||
where:
|
where:
|
||||||
ref: primary_twelve_numbers
|
ref: *corner_top_right_anchor
|
||||||
shift: [ 9, cy + function_zone_offset + 11.5 ]
|
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:
|
mounting_hole_bottom_left:
|
||||||
what: mountinghole_m2
|
what: mountinghole_m2
|
||||||
where:
|
where:
|
||||||
ref: primary_one_mods
|
ref: main_zero_mods
|
||||||
shift: [ 10.5, -12 ]
|
shift: [ 0, -13.5 ]
|
||||||
|
|
||||||
mounting_hole_bottom_center:
|
|
||||||
what: mountinghole_m2
|
|
||||||
where:
|
|
||||||
ref: primary_six_bottom
|
|
||||||
shift: [ 0, -23 ]
|
|
||||||
|
|
||||||
mounting_hole_bottom_right:
|
mounting_hole_bottom_right:
|
||||||
what: mountinghole_m2
|
what: mountinghole_m2
|
||||||
where:
|
where:
|
||||||
ref: primary_eleven_mods
|
ref: main_eleven_mods
|
||||||
shift: [ -10.5, -12 ]
|
shift: [ 0, -13.5 ]
|
||||||
|
|
||||||
# Render text with project name and copyright onto the PCB
|
# Render text with project name and copyright onto the PCB
|
||||||
copyright_text:
|
copyright_text:
|
||||||
what: text
|
what: text
|
||||||
where:
|
where:
|
||||||
ref: primary_six_bottom
|
ref: thumb_one
|
||||||
shift: [ 0, -15 ]
|
shift: [ 0, -16.5 ]
|
||||||
|
rotate: -0.3 # total rotation: -6.3 (including key rotation)
|
||||||
params:
|
params:
|
||||||
text: |-
|
text: |-
|
||||||
eepyBoard v1.0 by binaryDiv
|
eepyBoard v1.1 by binaryDiv
|
||||||
(c) 2024 (MIT License)
|
(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}
|
|
||||||
)
|
|
||||||
)
|
|
||||||
`
|
|
||||||
}
|
|
||||||
45
ergogen/footprints/capacitor_smd_1206.js
Normal file
45
ergogen/footprints/capacitor_smd_1206.js
Normal file
|
|
@ -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: {
|
params: {
|
||||||
designator: 'D',
|
designator: 'D',
|
||||||
side: 'F',
|
side: 'F',
|
||||||
|
value: '1N4148',
|
||||||
from: undefined,
|
from: undefined,
|
||||||
to: undefined
|
to: undefined,
|
||||||
},
|
},
|
||||||
body: p => `
|
body: p => `
|
||||||
(module SmdDiode (layer ${p.side}.Cu) (tedit 65D012FE)
|
(module SmdDiode_SOD-123 (layer ${p.side}.Cu) (tedit 6705952B)
|
||||||
${p.at /* parametric position */}
|
${p.at /* parametric position */}
|
||||||
(attr smd)
|
(attr smd)
|
||||||
|
|
||||||
${'' /* footprint reference */}
|
${'' /* 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 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 */}
|
${''/* diode symbols */}
|
||||||
(fp_line (start 0.25 0) (end 0.75 0) (layer ${p.side}.SilkS) (width 0.1))
|
(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,
|
radius: 10,
|
||||||
},
|
},
|
||||||
body: p => `
|
body: p => `
|
||||||
(module rotary_encoder (layer F.Cu) (tedit 603326DE)
|
(module RotaryEncoder_EC12 (layer F.Cu) (tedit 6705957B)
|
||||||
|
|
||||||
${p.at /* parametric position */}
|
${p.at /* parametric position */}
|
||||||
|
|
||||||
${'' /* footprint reference */}
|
${'' /* footprint reference */}
|
||||||
182
ergogen/footprints/rp2040_pico_mini.js
Normal file
182
ergogen/footprints/rp2040_pico_mini.js
Normal file
|
|
@ -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))
|
||||||
(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")
|
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||||
${p.VCC}
|
${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")
|
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||||
${p.dout}
|
${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")
|
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||||
${p.din}
|
${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")
|
(layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask")
|
||||||
(roundrect_rratio 0.25)
|
(roundrect_rratio 0.25)
|
||||||
${p.GND}
|
${p.GND}
|
||||||
|
|
|
||||||
156785
kicad/rev2/eepyboard_rev2.kicad_pcb
Normal file
156785
kicad/rev2/eepyboard_rev2.kicad_pcb
Normal file
File diff suppressed because it is too large
Load diff
1141
kicad/rev2/eepyboard_rev2.kicad_pro
Normal file
1141
kicad/rev2/eepyboard_rev2.kicad_pro
Normal file
File diff suppressed because it is too large
Load diff
84020
kicad/rev2/gerber/eepyboard_rev2-B_Cu.gbr
Normal file
84020
kicad/rev2/gerber/eepyboard_rev2-B_Cu.gbr
Normal file
File diff suppressed because it is too large
Load diff
3116
kicad/rev2/gerber/eepyboard_rev2-B_Mask.gbr
Normal file
3116
kicad/rev2/gerber/eepyboard_rev2-B_Mask.gbr
Normal file
File diff suppressed because it is too large
Load diff
2094
kicad/rev2/gerber/eepyboard_rev2-B_Paste.gbr
Normal file
2094
kicad/rev2/gerber/eepyboard_rev2-B_Paste.gbr
Normal file
File diff suppressed because it is too large
Load diff
7315
kicad/rev2/gerber/eepyboard_rev2-B_Silkscreen.gbr
Normal file
7315
kicad/rev2/gerber/eepyboard_rev2-B_Silkscreen.gbr
Normal file
File diff suppressed because it is too large
Load diff
850
kicad/rev2/gerber/eepyboard_rev2-Edge_Cuts.gbr
Normal file
850
kicad/rev2/gerber/eepyboard_rev2-Edge_Cuts.gbr
Normal file
|
|
@ -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*
|
||||||
1084
kicad/rev2/gerber/eepyboard_rev2-F_Cu.gbr
Normal file
1084
kicad/rev2/gerber/eepyboard_rev2-F_Cu.gbr
Normal file
File diff suppressed because it is too large
Load diff
1108
kicad/rev2/gerber/eepyboard_rev2-F_Mask.gbr
Normal file
1108
kicad/rev2/gerber/eepyboard_rev2-F_Mask.gbr
Normal file
File diff suppressed because it is too large
Load diff
15
kicad/rev2/gerber/eepyboard_rev2-F_Paste.gbr
Normal file
15
kicad/rev2/gerber/eepyboard_rev2-F_Paste.gbr
Normal file
|
|
@ -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*
|
||||||
1825
kicad/rev2/gerber/eepyboard_rev2-F_Silkscreen.gbr
Normal file
1825
kicad/rev2/gerber/eepyboard_rev2-F_Silkscreen.gbr
Normal file
File diff suppressed because it is too large
Load diff
49984
kicad/rev2/gerber/eepyboard_rev2-In1_Cu.gbr
Normal file
49984
kicad/rev2/gerber/eepyboard_rev2-In1_Cu.gbr
Normal file
File diff suppressed because it is too large
Load diff
49873
kicad/rev2/gerber/eepyboard_rev2-In2_Cu.gbr
Normal file
49873
kicad/rev2/gerber/eepyboard_rev2-In2_Cu.gbr
Normal file
File diff suppressed because it is too large
Load diff
6038
kicad/rev2/gerber/eepyboard_rev2-NPTH-drl_map.gbr
Normal file
6038
kicad/rev2/gerber/eepyboard_rev2-NPTH-drl_map.gbr
Normal file
File diff suppressed because it is too large
Load diff
472
kicad/rev2/gerber/eepyboard_rev2-NPTH.drl
Normal file
472
kicad/rev2/gerber/eepyboard_rev2-NPTH.drl
Normal file
|
|
@ -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
|
||||||
3923
kicad/rev2/gerber/eepyboard_rev2-PTH-drl_map.gbr
Normal file
3923
kicad/rev2/gerber/eepyboard_rev2-PTH-drl_map.gbr
Normal file
File diff suppressed because it is too large
Load diff
333
kicad/rev2/gerber/eepyboard_rev2-PTH.drl
Normal file
333
kicad/rev2/gerber/eepyboard_rev2-PTH.drl
Normal file
|
|
@ -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
|
||||||
169
kicad/rev2/gerber/eepyboard_rev2-job.gbrjob
Normal file
169
kicad/rev2/gerber/eepyboard_rev2-job.gbrjob
Normal file
|
|
@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
kicad/rev2/gerber/eepyboard_rev2.zip
Normal file
BIN
kicad/rev2/gerber/eepyboard_rev2.zip
Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue