From 894e8a81ecfd54a2c558a2d022cc674bd96e5329 Mon Sep 17 00:00:00 2001 From: Odin Holmes Date: Tue, 28 Feb 2023 12:49:23 +0100 Subject: [PATCH 1/2] initial guidelines --- README.md | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7b9bdcf..8d6f104 100644 --- a/README.md +++ b/README.md @@ -1 +1,42 @@ -# pcb_design_guidelines \ No newline at end of file +# PCB best practices +## rationale +in the interest of keeping everyones visual pattern matching algorithms firing on all cylenders as well as avoiding common or hard to diagnose pitfalls we have created these rules and best paractices. + +## schemetic +### libraries +Symbol and footprint libraries that ship with KiCad can be expected, all other libraries should be linked with relative paths to local libraries (use git submodules for reuse). +### part numbers +Sometimes a specific part is specified with a specific part number and sometimes a group of possible parts are specified with constraints (for example capacitors and rsistors). +#### specific part numbers +The 'value' field of the component should be used to express the most recognisable property of the component, 1k, 100uF, LM339 as examples. Use the field named ```MPN``` to specify the exact part, RMCP2010FT1K00, CL32A107MQVNNWE, LM339APWR for the above examples. It is also often a good idea to include a ```Digi-Key_PN``` field with the exact part numbers RMCP2010FT1K00CT-ND, 1276-3366-1-ND, 296-18454-1-ND. +#### catagory constraints +Passive components often do not need to be specified down to the exact part number, a resistor from stackpole is functionally equivalent to a resistor from vishay in many use cases and a 0.5% value can always be used where 1% is specified. Use the following field names to constrain the catagory of components which can be used. + - ```voltage``` voltage constraint on capacitors, if no voltage field is specified 6.3V or higher can be assumed + - ```precision``` to constrain the precision of resistors to 0.1% or capacitors to 10% for example. If no value is specified assume 1% for resistors and 20% for capacitors + - ```dielectric``` for dilectric class codes like X5R or C0G. if nothing is specified any class can be used. + - ```power``` for power specification. Assume 100mW for resistors if not otherwise specified. +### unit naming conventions +Values ought to be represented as 1.7k or 2.2uF. Do not use other notations than these. Also use the following unit notations: + - R Ohms + - k kilo ohms + - M megaohms + - mF millifarad + - uF microfarad + - nF nannofarad + - pF picofarad + - H henry + - mH millihenry + - uH microhenry + - W watt + - mW milliwatt + - V volt + - mV millivolt + - uV microvolt + - A amp + - mA milliamp + - uA microamp + + ## layout + ### 3d models + It is strongly recommended that all footprints have a 3d model associated with them. Relative paths must be used to reference 3d models. + From eea7519d74a9f9ab3ead9cbeaaf2aa2f4af9006f Mon Sep 17 00:00:00 2001 From: Odin Holmes Date: Thu, 2 Mar 2023 23:03:05 +0100 Subject: [PATCH 2/2] added net name section --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index 8d6f104..21caafc 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,10 @@ Values ought to be represented as 1.7k or 2.2uF. Do not use other notations than - mA milliamp - uA microamp +### net naming +Net labels serve two purposes: they are used to express a connection in the schemetic between two otherwise unconnected wires and they are used to aid in transparentcy while routing tracks in the layout tool. A track called ```Net-(R2-PAD2)``` is obviously not going to look like it needs special attention, however if we give it a clear name ```feedback``` then it will be immediatly clear to someone routing or inspecting the PCB that this pin is mor eimprotant from a cross talk standpoint than others may be. +Therefore the guideance is the give any net which can have a more expressive name a label reguardless of whether this is needed for physical connection or not. + ## layout ### 3d models It is strongly recommended that all footprints have a 3d model associated with them. Relative paths must be used to reference 3d models.