The Original Design Re-use Example: Components
How the electronics industry has brought so many standards over the years that makes open source hardware truly possible.
Join the DZone community and get the full member experience.Join For Free
One very gracious thing that the electronics industry has brought us over the years are standards.
For electrical and electronic wiring drawings (a.k.a. schematics) we have the rock-solid IEEE-315, which has been around a while - even if you find and download a scanned copy of the 1975 edition (ancient in our worlds, I know) you’ll be surprised to find it contains all essential elements to make up correct symbols for any kind of semiconductor device. There were minor updates made to IEEE-315 since then but overall it’s still what we are using every day in electronics design to this day.
Another great standards body is JEDEC, and the thing I love about JEDEC is that their standards are FREE to download and reference by anybody - all you need is to create an account and then login to their site each time you want to access a standard. JEDEC is important, because in addition to creating standards for hardware interfaces like DDR (gen 4 is the current & latest), JEDEC also create the semiconductor packaging standards that the whole industry uses. So back in the 70’ and early 80’s they were rolling out dimensional requirements for things like DIP (Dual Inline Package) and later on created the standards for Surface Mount Devices (SMD) such as chip resistors, and SMT (Surface Mount Technology) IC packages we use to this day such as SOIC (Small Outline Integrated Circuit) or TSSOP (Thin Shrink Small Outline Package). All these package specifications fall under category called JEP-95.
For completeness I should mention IPC (International Printed Circuit Association - now simply known as IPC). IPC is mainly concerned with standards that guide and affect the manufacturing of PCB and related electronic devices. This includes design of PCBs, and they have a standard we often refer to call IPC-7351 (series). It’s important that this one is only concerned with making PCB footprints which can be trusted to correctly allow the assembly of the boards and components. It doesn’t mention anything about naming the footprints based on chip manufacturer or JEDEC standard packages, which is irritating because as engineers that’s typically how we think of footprints - and not surprisingly because the manufacturer of the component will refer only to the actual package they’re using and it’s dimensions. That’s why in Altium tools - including CircuitMaker, the IPC-compliant footprint wizard asks you for all the package dimensions.
But knowing that most components out there are using standard IC or SMD packages as defined by JEDEC, and schematic symbols as defined by IEEE, it makes sense that you can reuse them as much as possible.
In CircuitMaker the trick is to know other components already in the system that use the symbol and/or footprint you want to use again. I have created many parts very quickly in this way.
So for example, in my case I created a component for the AT80C51RD2-3CSUM - I created the symbol, and then added a DIP package with a nice 3D STEP model. But this 40-pin DIP and 8051 MCU pinout is common across many devices. So I want to create also the DS89C420-MCL, and when I click "Build" I then click on the component Home ribbon then click "Symbol" then "Use Existing Symbol". Then I search for 80C51 knowing that the other one I created will be in the list. Note there are several others to choose from but I know mine from the AT80C51 is the DIP version and has the right pinout.
Then I might make modifications to my forked symbol as needed. The symbol itself is made for re-use - you set the default designator to be U? (or as needed R?, C?, L?, etc.). For the "Comment" field in the schematic symbol, you can put a generic part number, but a better idea is to use the special string:
="Manufacturer Part Number"
Placing that text into the comment field means that wherever the symbol is used, when the parameters are added from Octopart the Manufacturer Part Number will be substituted into the comment.
SideNote: You can also easily do this in existing schematics in projects, by selecting all the parts on the schematic, and hitting F11 to open the inspector. Then in the inspector set the top filter to "show only parts", then clicking the blue "Part comment" field link in the list of attributes, click the “click here to show all objects” then gives you the common parameters associated with all the component comments - then in the value field type in the text =”Manufacturer Part Number” - note the use of the quotes to encapsulate the spaces! You may want to only do this for ICs but for resistors and other passives, use the special string =”Value” as this would display just the resistance, capacitance, etc.
For footprints you can follow the same process — use an existing one from a component that you know uses the same package. Be sure to make any necessary modifications — for example the 3D model may be different even if the land pattern is the same.
Generally, unless the part you're making is really unique to the manufacturer (usually connectors and other electro-mechanical parts fall into this category), you will find something you can re-use almost every time. This also brings a certain uniformity and higher quality to the work we all do - so we can be proud of our designs.
One word of caution I must add though — I learned this from personal experience too. Whenever re-using a symbol in particular, make sure that you check the pin numbering and pin names for accuracy against the component data sheet. For resistors, caps, and inductors this is less of an issue since they are usually not polarized. But for polarized caps, diodes, transistors and ICs, you must be careful to at least double check the pinout for accuracy.
One last thing — if you use a component from the community and after using it you knew it was correct, please click on it’s rating. If the component has an error, please comment about it and either make a new revision or notify the original author to make a new revision. Pretty soon, we have a really huge and powerful library!
Published at DZone with permission of Ben Jordan, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.