[PCB] What to use for ceramic capacitors?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I dimly remember there having been rectangular thru hole components(100 mil) in some earlier release.  
I can't seem to find them now. what are they called/what happened to them?  
(Or was I dreaming?)

This here says there are/were `BRE' ones...
<http://wiki.geda-project.org/geda:pcb_footprint_naming_conventions

but they aren't there..

Re: [PCB] What to use for ceramic capacitors?
On 06/03/2018 05:09 PM, Johann Klammer wrote:
Quoted text here. Click to load it
Nevermind. found this:

2006-09-01   Dan McMahill * dan AT mcmahill dot net *

<------>* lib/geda.inc: - remove the BRE* footprints.  The required PKG_RECTANGULAR macro
<------>  doesn't exist anywhere and I can't figure out what the correct
<------>  behaviour should be anyway so rather than propagate a very
<------>  questionable footprint name, kill it right here.  - Fix the problem where the ACY*P and RCY*P packages called
<------>  non-existant macros.  They now produce the same footprints as the
<------>  ACY* and RCY* packages but with a polarity marking.  The suitability
<------>  for any particular part number should be still verified before using
<------>them on a board.


[PATCH] rectangular footprints
From d043531bdded029ea8f414bb77ae7bf2e0f9619a Mon Sep 17 00:00:00 2001
Date: Sun, 3 Jun 2018 19:05:05 +0200
Subject: [PATCH] Fix the rectangular footprints

---
 lib/geda.inc | 19 +++++++++++++++++++
 lib/misc.inc | 30 ++++++++++++++++++++++++++++++
 2 files changed, 49 insertions(+)

diff --git a/lib/geda.inc b/lib/geda.inc
index ecee911..4f93dfa 100644
--- a/lib/geda.inc
+++ b/lib/geda.inc
@@ -612,6 +612,25 @@ define(`PKG_RCY1100P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2200, 1)');
 define(`PKG_RCY1200P', `PKG_RADIAL_CAN(`$1', `$2', `$3', 2400, 1)');
  
 #
+##  Bottom lead rectangular non-polar component (typically capacitor)
+#   pin spacing 100 mil and up
+#   BRE100 .. BRE1200
+#
+define(`PKG_BRE100',  `PKG_RECTANGULAR2N(`$1', `$2', `$3',  200, 50)');
+define(`PKG_BRE200',  `PKG_RECTANGULAR2N(`$1', `$2', `$3',  400, 100)');
+define(`PKG_BRE300',  `PKG_RECTANGULAR2N(`$1', `$2', `$3',  600, 150)');
+define(`PKG_BRE400',  `PKG_RECTANGULAR2( `$1', `$2', `$3',  600, 200)');
+define(`PKG_BRE500',  `PKG_RECTANGULAR2( `$1', `$2', `$3',  750, 250)');
+define(`PKG_BRE600',  `PKG_RECTANGULAR2( `$1', `$2', `$3', 1200, 300)');
+define(`PKG_BRE700',  `PKG_RECTANGULAR2( `$1', `$2', `$3', 1050, 350)');
+define(`PKG_BRE800',  `PKG_RECTANGULAR2( `$1', `$2', `$3', 1200, 400)');
+define(`PKG_BRE900',  `PKG_RECTANGULAR2( `$1', `$2', `$3', 1350, 450)');
+define(`PKG_BRE1000', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1500, 500)');
+define(`PKG_BRE1100', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1650, 550)');
+define(`PKG_BRE1200', `PKG_RECTANGULAR2( `$1', `$2', `$3', 1800, 600)');
+
+
+#
 ##  Crystals
 #
 #
diff --git a/lib/misc.inc b/lib/misc.inc
index 0b0518f..b25de1b 100755
--- a/lib/misc.inc
+++ b/lib/misc.inc
@@ -633,6 +633,36 @@ Element(0x00 "$1" "`$2'" "$3" eval(`$4') 0 0 100 0x00)
     Mark (X1 Y)
 )')
  
+# a rectangular package
+#
+# $1: canonical name
+# $2: name on PCB
+# $3: value
+# $4: package width in MIL
+# $5: half pin spacing in MIL
+define(`PKG_RECTANGULAR2N',
+    `define(`X1', `eval(-`$5')')
+    define(`X2', ``$5'')
+    define(`X3', `eval(-`$4' /2)')
+    define(`X4', `eval(`$4' /2)')
+    define(`Y', `0')
+    define(`Y1', `eval(-`$4' /4)')
+    define(`Y2', `eval(+`$4' /4)')
+    define(`PINSIZE', `ifelse(eval($4 >= 600), 1, 80, 55)')
+    define(`DRILLSIZE', `ifelse(eval($4 >= 600), 1, 50, 30)')
+Element(0x00 "$1" "`$2'" "$3" eval(`$4') 0 0 100 0x00)
+(
+    PIN(X1, Y, 60, DRILLSIZE, 1)
+    PIN(X2, Y, 60, DRILLSIZE, 2)
+    ElementLine(X3 Y1 X4 Y1 10)
+    ElementLine(X4 Y1 X4 Y2 10)
+    ElementLine(X4 Y2 X3 Y2 10)
+    ElementLine(X3 Y2 X3 Y1 10)
+    Mark (X1 0)
+)')
+
+define(`PKG_RECTANGULAR2',`PKG_RECTANGULAR2N(`$1', `$2', `$3', `$4', `$5')');
+
 # a core surface mount package
 #
--  
2.1.4



[PATCH] add small diodes
---
 lib/geda.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/geda.inc b/lib/geda.inc
index 4f93dfa..12b0874 100644
--- a/lib/geda.inc
+++ b/lib/geda.inc
@@ -561,6 +561,8 @@ define(`PKG_ACY1600P', `PKG_AXIAL_LAY(`$1', `$2', `$3', 1600, 1)')
 #   ALF300 .. ALF1000
 #
 #
+define(`PKG_ALF100', `PKG_DIODE_LAY(`$1', `$2', `$3',  100)');
+define(`PKG_ALF200', `PKG_DIODE_LAY(`$1', `$2', `$3',  200)');
 define(`PKG_ALF300', `PKG_DIODE_LAY(`$1', `$2', `$3',  300)');
 define(`PKG_ALF400', `PKG_DIODE_LAY(`$1', `$2', `$3',  400)');
 define(`PKG_ALF500', `PKG_DIODE_LAY(`$1', `$2', `$3',  500)');
--  
2.1.4



Site Timeline