From 812c7b602ba5c559492937771442590d1b3c9c1c Mon Sep 17 00:00:00 2001 From: binaryDiv Date: Tue, 8 Oct 2024 22:28:20 +0200 Subject: [PATCH 1/4] Ergogen: Refactor/rename footprints --- ergogen/config.yaml | 2 +- ergogen/footprints/button_6x6.js | 48 ------------------- ergogen/footprints/cap_0805.js | 5 +- ergogen/footprints/diode_smd.js | 7 +-- ...ary_modified.js => rotary_encoder_ec12.js} | 3 +- 5 files changed, 9 insertions(+), 56 deletions(-) delete mode 100644 ergogen/footprints/button_6x6.js rename ergogen/footprints/{rotary_modified.js => rotary_encoder_ec12.js} (98%) diff --git a/ergogen/config.yaml b/ergogen/config.yaml index 8f0a2ab..d8d79d8 100644 --- a/ergogen/config.yaml +++ b/ergogen/config.yaml @@ -601,7 +601,7 @@ pcbs: to: "{{row_net}}" rotary_encoder: - what: rotary_modified + what: rotary_encoder_ec12 where: is_rotary_encoder params: from: "diode_{{name}}" diff --git a/ergogen/footprints/button_6x6.js b/ergogen/footprints/button_6x6.js deleted file mode 100644 index 034877d..0000000 --- a/ergogen/footprints/button_6x6.js +++ /dev/null @@ -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}) - ) - ` -} diff --git a/ergogen/footprints/cap_0805.js b/ergogen/footprints/cap_0805.js index 96f071b..9f9a8ef 100644 --- a/ergogen/footprints/cap_0805.js +++ b/ergogen/footprints/cap_0805.js @@ -2,8 +2,9 @@ module.exports = { params: { designator: 'C', side: 'F', + value: '100nF', from: undefined, - to: undefined + to: undefined, }, body: p => ` (module C_0805_2012Metric (layer ${p.side}.Cu) (tedit 5F68FEEE) @@ -12,7 +13,7 @@ module.exports = { ${'' /* footprint reference */} (fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15)))) - (fp_text value "" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) + (fp_text value "${p.value}" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) ${''/* capacitor symbols */} (fp_line (start -1 0.625) (end -1 -0.625) (layer ${p.side}.Fab) (width 0.1)) diff --git a/ergogen/footprints/diode_smd.js b/ergogen/footprints/diode_smd.js index 2e1071b..81c9198 100644 --- a/ergogen/footprints/diode_smd.js +++ b/ergogen/footprints/diode_smd.js @@ -2,17 +2,18 @@ module.exports = { params: { designator: 'D', side: 'F', + value: '1N4148', from: undefined, - to: undefined + to: undefined, }, body: p => ` - (module SmdDiode (layer ${p.side}.Cu) (tedit 65D012FE) + (module SmdDiode_SOD-123 (layer ${p.side}.Cu) (tedit 6705952B) ${p.at /* parametric position */} (attr smd) ${'' /* footprint reference */} (fp_text reference "${p.ref}" (at 0 0) (layer ${p.side}.SilkS) ${p.ref_hide} (effects (font (size 1.27 1.27) (thickness 0.15)))) - (fp_text value "" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) + (fp_text value "${p.value}" (at 0 0) (layer ${p.side}.SilkS) hide (effects (font (size 1.27 1.27) (thickness 0.15)))) ${''/* diode symbols */} (fp_line (start 0.25 0) (end 0.75 0) (layer ${p.side}.SilkS) (width 0.1)) diff --git a/ergogen/footprints/rotary_modified.js b/ergogen/footprints/rotary_encoder_ec12.js similarity index 98% rename from ergogen/footprints/rotary_modified.js rename to ergogen/footprints/rotary_encoder_ec12.js index c3ba26c..3239c71 100644 --- a/ergogen/footprints/rotary_modified.js +++ b/ergogen/footprints/rotary_encoder_ec12.js @@ -23,8 +23,7 @@ module.exports = { radius: 10, }, body: p => ` - (module rotary_encoder (layer F.Cu) (tedit 603326DE) - + (module RotaryEncoder_EC12 (layer F.Cu) (tedit 6705957B) ${p.at /* parametric position */} ${'' /* footprint reference */} From b68cabb8b5fafd203fcd7d7f7eadaa40e6924f0a Mon Sep 17 00:00:00 2001 From: binaryDiv Date: Tue, 8 Oct 2024 22:41:04 +0200 Subject: [PATCH 2/4] Ergogen: Replace 0805 capacitor with 1206 one for easier handsoldering --- ergogen/config.yaml | 2 +- ergogen/footprints/cap_0805.js | 39 -------------------- ergogen/footprints/capacitor_smd_1206.js | 45 ++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 40 deletions(-) delete mode 100644 ergogen/footprints/cap_0805.js create mode 100644 ergogen/footprints/capacitor_smd_1206.js diff --git a/ergogen/config.yaml b/ergogen/config.yaml index d8d79d8..9740890 100644 --- a/ergogen/config.yaml +++ b/ergogen/config.yaml @@ -631,7 +631,7 @@ pcbs: VCC: "{{led_vcc_net}}" led_capacitor: - what: cap_0805 + what: capacitor_smd_1206 where: [ [ is_key, -flip_led ] ] adjust: shift: [ -6, 4.5 ] diff --git a/ergogen/footprints/cap_0805.js b/ergogen/footprints/cap_0805.js deleted file mode 100644 index 9f9a8ef..0000000 --- a/ergogen/footprints/cap_0805.js +++ /dev/null @@ -1,39 +0,0 @@ -module.exports = { - params: { - designator: 'C', - side: 'F', - value: '100nF', - 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 "${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 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} - ) - ) - ` -} diff --git a/ergogen/footprints/capacitor_smd_1206.js b/ergogen/footprints/capacitor_smd_1206.js new file mode 100644 index 0000000..74e295f --- /dev/null +++ b/ergogen/footprints/capacitor_smd_1206.js @@ -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} + ) + ) + ` +} From e697f729db71f5cc6631d32890f68a2b2b3d42ae Mon Sep 17 00:00:00 2001 From: binaryDiv Date: Tue, 8 Oct 2024 23:19:37 +0200 Subject: [PATCH 3/4] Ergogen: Enlarge SMD pads for SK6812 footprint for easier handsoldering --- ergogen/footprints/sk6812_mini_e.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ergogen/footprints/sk6812_mini_e.js b/ergogen/footprints/sk6812_mini_e.js index 4f6f73d..f3cdea6 100644 --- a/ergogen/footprints/sk6812_mini_e.js +++ b/ergogen/footprints/sk6812_mini_e.js @@ -31,19 +31,19 @@ module.exports = { (fp_line (start -1.7 1.5) (end -1.7 -1.5) (layer Edge.Cuts) (width 0.12)) (fp_line (start -1.7 -1.5) (end 1.7 -1.5) (layer Edge.Cuts) (width 0.12)) - (pad "1" smd rect (at -2.6 -0.75 ${p.r}) (size 1.6 0.82) + (pad "1" smd rect (at -2.7 -0.75 ${p.r}) (size 1.8 0.82) (layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask") ${p.VCC} ) - (pad "2" smd rect (at -2.6 0.75 ${p.r}) (size 1.6 0.82) + (pad "2" smd rect (at -2.7 0.75 ${p.r}) (size 1.8 0.82) (layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask") ${p.dout} ) - (pad "4" smd rect (at 2.6 -0.75 ${p.r}) (size 1.6 0.82) + (pad "4" smd rect (at 2.7 -0.75 ${p.r}) (size 1.8 0.82) (layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask") ${p.din} ) - (pad "3" smd roundrect (at 2.6 0.75 ${p.r}) (size 1.6 0.82) + (pad "3" smd roundrect (at 2.7 0.75 ${p.r}) (size 1.8 0.82) (layers "${p.side}.Cu" "${p.side}.Paste" "${p.side}.Mask") (roundrect_rratio 0.25) ${p.GND} From ecbd571e28e411c3fcce39127f8c9ed04abd859f Mon Sep 17 00:00:00 2001 From: binaryDiv Date: Wed, 9 Oct 2024 00:27:22 +0200 Subject: [PATCH 4/4] Ergogen: Optimize footprint positions for routing --- ergogen/config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ergogen/config.yaml b/ergogen/config.yaml index 9740890..a32a01a 100644 --- a/ergogen/config.yaml +++ b/ergogen/config.yaml @@ -592,7 +592,7 @@ pcbs: what: diode_smd where: is_key adjust: - shift: [ 7, -7.5 ] + shift: [ 7, -7 ] rotate: 90 resist: true params: @@ -634,7 +634,7 @@ pcbs: what: capacitor_smd_1206 where: [ [ is_key, -flip_led ] ] adjust: - shift: [ -6, 4.5 ] + shift: [ -6.5, 4.75 ] rotate: 90 resist: true params: @@ -652,7 +652,7 @@ pcbs: $extends: pcbs.eepyboard.footprints.led_capacitor where: [ [ is_key, flip_led ] ] adjust: - shift: [ 6, 4.9 ] + shift: [ 6.5, 4.75 ] rotate: 270 resist: true