X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com X-Sender-Id: a2hosting|x-authuser|dan AT mcmahill DOT net X-Sender-Id: a2hosting|x-authuser|dan AT mcmahill DOT net X-MC-Relay: Neutral X-MailChannels-SenderId: a2hosting|x-authuser|dan AT mcmahill DOT net X-MailChannels-Auth-Id: a2hosting X-Share-Spicy: 1f26ded96e9187bd_1581033218817_1764369615 X-MC-Loop-Signature: 1581033218817:2641274084 X-MC-Ingress-Time: 1581033218817 Subject: Re: [geda-user] Engineering BOM Functionality To: geda-user AT delorie DOT com References: <475A993D-7E38-4968-8E14-218A7B47B12D AT fastmail DOT com> <20200126162109 DOT dbf758916c978f9c7d43090d AT gmail DOT com> From: "Dan McMahill (dan AT mcmahill DOT net) [via geda-user AT delorie DOT com]" Message-ID: <05168747-e912-af52-49ef-4699c2b8f947@mcmahill.net> Date: Thu, 6 Feb 2020 18:53:29 -0500 User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20200126162109.dbf758916c978f9c7d43090d@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US X-AuthUser: dan AT mcmahill DOT net Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id 016NsFPn000870 Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 1/26/2020 10:21 AM, N (nicklas DOT karlsson17 AT gmail DOT com) [via geda-user AT delorie DOT com] wrote: >> Hello, >> >> On some of my designs, manufacturing has come back asking for part substitutions. Currently, my BOMs are 1:1 with manufacturer part numbers — So, resistor would only have one source. >> >> I’m creating a command line utility, that separates the component specification from the schematic symbol, for EBOMs. The project can be found here: >> >> https://github.com/ehennes775/bbcmd >> >> Does anyone run into this issue? Is anyone interested in this functionality? >> >> Thanks, >> Ed > > Yes. Spent the whole weekend on night clubs but should try to get the thinking correct. > > I read your example in link and understand symbol have some kind of reference to part which might be a good choice because same symbol could be used for many different parts, it will still be a light symbol. Only problem with this scheme I could come up with immediately is if there is a conflict between reference and actual attributes like value and footprint. > > > Below I did some thinking before but never reached the point there I had time to do anything. > > I had some thougt about specifying or identifying which component should be bought. For some components like value and footprint and maybe maximum voltage might be enough to specify component like ordinary resistors/capacitors. While for some manufactuer part number which may be used as value specify the component but it is common they are available with different footprints, temperature range and sometimes from several manufacturer. I did not yet figure out a perfect scheme to "specify" component and did not think to much about it since I had been busy with a lot of other things. > > If enough information is not avaialable to chose component there is no other choice than adding more information to schematic, this happens to me sometimes then I should order components. > > I also came to the conclusion whatever information is used to "specify" or identify which component should be bought it is always of interest to "annotate" the BOM with extra information like for example distributor part number so that schematic do not need to change then this information is changed. > > > Nicklas Karlsson > This one is likely to have a lot of issues tied to your particular manufacturer. In one of my jobs, every single component we used had a part number. So for example, a part number 123456 could be looked up and be determined to be a 10.0k, 1%, 1/8W surface mount resistor in a 1206 package and you could find the list of approved vendors and their part number. In our EDA system, you wouldn't put down a 10.0k, 1%, 1/8W surface mount resistor. You would instead instantiate a 123456. We typically had a list of the common lines of passives handy. Where you can start to really get into problems though is when someone decides a part is equivalent when it really isn't. A few examples come to mind. A line driver (say RS-232 back in the old days) that has a pin compatible part available from a different vendor but the ESD rating is less and so you need additional components on your board to meet an ESD target if the alternate vendor is used. Maybe that is why you used the part with higher ESD rating. Another is capacitors. In a switching power supply design, one of the parameters you care about are ESR and also ripple current rating. You may also care a lot about rated lifetime. A 5,000 hour @ 105C part is most definitely not the same as a 2,000 hour @ 85C part. One has 10x the lifetime (double/half per 10 degC). I've done a power supply design before where my choice of capacitor was in fact dominated by the ripple current it would be subjected to and by the time I met that spec I was well beyond the minimum capacitance I needed for capacitance alone. I had to actively work to prevent purchasing from adding on an "equivalent" vendor based on capacitance and voltage rating. Another pitfall with capacitors is nonlinearity. Some high density, high-K caps have terrible voltage coefficients to where you don't get nearly the bypassing you might think you will. In some applications, a low distortion audio oscillator or low distortion audio filter network for example, you can get measurable distortion from the caps so again, C and voltage rating and package may be totally sufficient in some cases and not others. I've not really worked with contract manufacturers. Those experiences were at a company that was big enough to have its own manufacturing facility. If I were still at that company, I'd probably generate libraries where I instantiated the internal part number except that I also wouldn't have been allowed to use an outside EDA tool for a production board. I'm not sure what you do short of maintaining a database like what they had along with a way to add notes about "no, you can't just go adding parts that don't meet the same ESD or the same ripple current or with the same lifetime and temperature rating" to parts that seem "simple". I do agree that this is a real problem that is faced fairly regularly. With gEDA/PCB, I've used it outside of those constraints where I was likely to be ordering parts myself and could more easily pick a vendor on the fly based on price and availability. Good luck. -Dan