Deutsch English Français Italiano |
<vrsia0$1mccv$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail From: Don Y <blockedofcourse@foo.invalid> Newsgroups: sci.electronics.design Subject: Re: PCB version control Date: Mon, 24 Mar 2025 14:19:56 -0700 Organization: A noiseless patient Spider Lines: 67 Message-ID: <vrsia0$1mccv$1@dont-email.me> References: <67e1a08c$0$3831$882e4bbb@reader.netnews.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Mon, 24 Mar 2025 22:20:02 +0100 (CET) Injection-Info: dont-email.me; posting-host="b248d296350ab8baad18cde6f8791fe5"; logging-data="1782175"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18789Tem/GRnVRvlD5rD2Xh" User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.2.2 Cancel-Lock: sha1:DV3Cz2kpg34wimHO8kC6hjwKY8g= Content-Language: en-US In-Reply-To: <67e1a08c$0$3831$882e4bbb@reader.netnews.com> Bytes: 4157 On 3/24/2025 11:14 AM, bitrex wrote: > How do you version control your PCBs these days? Just like any other version control. Part number with revision identifier. For *everything* (including the tools used to do this!) > I'm at the point I need to implement a more consistent schema for hardware > versions, prototype, and production boards. Why would there be any difference between them? They are all just "things placed under version control". Each deserves its own unique identifier. DON'T fall for the trap of wanting to assign significance to your identifiers. That's "small shop" mentality. Avoid the "urge" to pick identifiers just to make it "easy" on yourself to "recall" related objects: product PRD123 is built from bare PCB PCB123 shot from with gerbers GER123 defined from schematic SCH123 populated with parts from bill-of-material BOM123 and firmware FRM123 tested to acceptance procedure ACC123... This just leads to stupidly long identifiers that will, eventually, prove incapable of "encoding" the information that you want to be able to "recall" unaided. I've got a small board, here, in front of me. It's a management interface for a UPS. Likely produced in tens of thousands, if not more. There are two different barcode labels affixed. At least 6 different "process stamps". Two different identifiers *in* the silkscreen. Yet, obviously only partially populated -- so, we know the silkscreened identifiers won't tell me what *this* unit actually is! The manufacturer will have adopted some convention as to which of the identifiers actually is associated with the topmost level for this board -- which is likely different than the identifier assigned to the *kit* in which it was packaged (which included still other materials). Perhaps it is not possible to truly and unambiguously identify THIS item as there may be identifiers "hidden" from view (i.e., only "visible" with tools that can directly query the device) > E.g. PCB-12345-R-B where 12345 is the PCB/product identifier and B is the > manufacturing revision. Would you letter designate prototypes that are > manufactured as well, or just revisions intended for public consumption? Why "PCB-"? Will that help you find the schematic for the device (SCH-12345-Q-D because the schematic need not have a 1:1 correspondence with the actual *board*!) What about the BoM: BOM-12345-L-F (because the board might find use in different products each with different stuffing options)? Will you end up choosing a marketing name that allows you to similarly associate with these "manufacturing identifiers": Frajistat 12345? Will you keep it in the stockroom immediately adjacent to the 12346 device (to make it easier for you to find)? Or, will you let SOMETHING BETTER EQUIPPED (than your grey matter) keep track of this association FOR you? (Identifier, revision). End of story. Whether it is a screw, resistor, case, procedure, compiled binary, source code, etc.