ceoloide / ergogen-footprints Goto Github PK
View Code? Open in Web Editor NEWErgogen v4 footprints
License: MIT License
Ergogen v4 footprints
License: MIT License
Some footprints (e.g. switches) should resist mirroring by default to avoid them being flipped in a phisically impossible way.
Others, like diodes, should be evaluated and perhaps have an option to enable / disable mirror resist.
The mcu_nice_nano.js footprint cannot be added on single-side mode
Choc footprint seems to have broken sometime in the last few weeks.
This:
switches:
what: switch_choc_v1_v2
where: true
params:
choc_v2_support: false
from: "{{column_net}}"
to: "{{colrow}}"
adjust:
rotate: 180
produces a pcb file that kicad can't load:
Expecting 'end' in '/Users/aaaa/bbbb/cccc/dddd.kicad_pcb', line 272, offset 32.
the footprint at that location looks like (I've marked line 272 with a comment):
(footprint "ceoloide:switch_choc_v1_v2"
(layer "B.Cu")
(at 70.7106781 122.4744871 165)
(property "Reference" "S1"
(at 0 8.8 165)
(layer "B.SilkS")
hide
(effects (font (size 1 1) (thickness 0.15)))
)
(attr exclude_from_pos_files exclude_from_bom allow_soldermask_bridges)
(pad "" np_thru_hole circle (at 0 0 165) (size 3.4 3.4) (drill 3.4) (layers "*.Cu" "*.Mask"))
(pad "" np_thru_hole circle (at 5.5 0 165) (size 1.9 1.9) (drill 1.9) (layers "*.Cu" "*.Mask"))
(pad "" np_thru_hole circle (at -5.5 0 165) (size 1.9 1.9) (drill 1.9) (layers "*.Cu" "*.Mask"))
(pad "" np_thru_hole circle (at 0 -5.95 165) (size 3 3) (drill 3) (layers "*.Cu" "*.Mask"))
(fp_line (start -1.5 -8.2) (end -2 -7.7) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 1.5 -8.2) (end -1.5 -8.2) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 2 -7.7) (end 1.5 -8.2) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 2 -7.7) (end 2 -6.78) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 2.52 -6.2) (end 7 -6.2) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 7 -6.2) (end 7 -5.6) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_arc (start 2.52 -6.2) (mid 2.139878 -6.382304) (end 2 -6.78) (layer "B.SilkS") (stroke (width 0.15) (type solid))) # <-- Line 272
(fp_line (start -1.5 -3.7) (end -2 -4.2) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 0.8 -3.7) (end -1.5 -3.7) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 2.5 -1.5) (end 2.5 -2.2) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 7 -1.5) (end 2.5 -1.5) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_line (start 7 -2) (end 7 -1.5) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(fp_arc (start 0.8 -3.7) (mid 1.956518 -3.312082) (end 2.5 -2.22) (layer "B.SilkS") (stroke (width 0.15) (type solid)))
(pad "1" smd rect (at -3.275 -5.95 165) (size 2.6 2.6) (layers "B.Cu" "B.Paste" "B.Mask") (net 0 ""))
(pad "2" smd rect (at 8.275 -3.75 165) (size 2.6 2.6) (layers "B.Cu" "B.Paste" "B.Mask") (net 1 "outer_bottom"))
(pad "" np_thru_hole circle (at 5 -3.75 360) (size 3 3) (drill 3) (layers "*.Cu" "*.Mask"))
)
If I minimally change to the ergogen included choc footprint with the following, the pcb file can be read fine.
switches:
what: choc
where: true
params:
from: "{{column_net}}"
to: "{{colrow}}"
adjust:
rotate: 180
Ergogen 4.0.5, Kicad 8.0.1
Ensure that all footprints, and their elements, can be rotated.
Add both chevron jumpers and square jumpers to all footprints so individuals can pick their favorite
Add optional 3D models to the footprint (perhaps reusing Scotto's ones)
Footprint reference should be placed on *.Fab
layer when silkscreen is not included, else it should be on the p.side
Silkscreen layer.
If board is reversible, a secondary reference as user text should be added on the reverse side.
All reference labels should be positioned so that they are visible and won't overlap other footprint elements.
Currently the center point of the TRRS jack is off-center and off-axis, causing issues when rotating and mirroring.
I'd like to use the three middle pins and the battery terminals on my board.
Specifically pins 101, 102, 107 and B+ and B- shown here: https://nicekeyboards.com/docs/nice-nano/pinout-schematic
I'm using the nice!nano as a reversible footprint for my split design.
Note: the battery terminals are smaller holes, not full pins, for direct soldering of wires. I'm not sure what that means for connecting them to a PCB so a battery connector can be used elsewhere on the PCB; maybe I should just solder my battery directly to it and forget about it?
Traces are not locked by default, there should be an option to lock them if needed.
KiCad 8 will become the minimum version supported by this footprint library, now that Ergogen v4.1.0 has been released with support for KiCad 8 PCB template injection.
Add courtyard and physical standoff / screwhead size to screw hole footprint so that it's possible to better visualize physical space
Add a reversible Pro-Micro-like footprint with support for extra reversible pins at the bottom, and castellated holes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.