Jumping in on the discussion of board revision control . . . We use a fairly simple system based upon the board layout number. I'm still using our antiquated EE Designer II package for most of my designs - I've got the latest and greatest version of that software (Cadint 3.7.01) but the old system is still quicker for many (most) of my projects. EE Designer is limited to a 6 character file name and the first character must be a letter. So: all schematic file names are in the form of Snnn@n. Layouts use Lnnn@n. This will become a problem sometime when we reach board number 999 (we are currently at L492 after 22 years). This is a pretty simple system. That's important - it makes it really easy to keep up to date. The first 3 digits are the board number. The alpha character is for major revs, the following numeral is the minor rev. The first real layout that makes it to copper is rev LnnnA0. Minor revs show up with the last numeral incrementing. Major revs increment the alpha character, with the trailing numeral resetting to 0. A major rev is usually defined as something that changes on the schematic or a layout revision that results in any form of incompatibility with the previous version (physical, mounting, connector changes). For what its worth, the longest continuous board run for us is currently at rev E1 (rev A0 dates back to 1995). These have all been schematic or connector changes - the current shipping version can be used to replace any of the previous versions. The new board that will soon replace the current board is more than 300 board numbers later but the changes are significant enough that it warrants a new board number (still uses same mounting holes but no longer completely electrically compatible). Initial board layouts (the 'scratch' layouts that are the first attempts) use the form of Lnnn@@. I usually keep these around because I'm a packrat. All the files associated with a particular layout are kept in a directory named in the form of "board layout name".nnn where nnn is the board number. Back in the old days, we were limited to an 8 character directory name. Thankfully, those days are long past and the directory name can actually reflect the board name. The directory numeric extension allows easy sorting when viewing in a file browser. Many of our boards can be stuffed in different ways. These are currently named in the form of LnnnA0-ASMnn, where the front part of the name is the exact copper version that we are dealing with; the last pair of digits starts at 00 and increments for each custom stuffing variation. Older assembly files were limited to by the 8.3 filename restrictions and used to just add a letter and number as the 7th and 8th digits. Some of our boards are pretty small and often, the only text in copper is the board file number. But we always try to include our company name and location (Edmonton AB Canada) if possible. The above naming scheme fits in nicely with code versions. Early PCB layouts used a lot of PLD devices. The files that describe those devices were named with the board number and rev, with the next 2 characters being a letter, then a number. The letter represents the particular PLD, the number is the code revision. Any code revision that went past 9 then started at A (36 possible revisions). This allowed for up to 26 PLD devices on a card. I don't think that I ever got past 12. Processor code did much the same thing, except there used to be only a single micro on a card. Those files were named a little differently: the 7th alpha char was a major rev, the following numeral is the minor rev. Again, the first 6 digits match the PCB filename. That worked well until the advent of the tiny PIC parts. Now I've got one card with 9 of the darned things (12c508) sitting on it. 5 of those contain 1 chunk of code (25 KHz PWM), 2 more have a different chunk of code (7 seg temp display), the last 2 are different (control algorithms). We make this box for 3 different customers - only the control algorithms change. So I cheated: the sockets on the PCB are labeled with the function (PWM, DISP, ENG, TRN) - the PIC files are named the same way. This code dates back to the 16 bit version of MPLAB - again limited to 8.3 filenames. I'm sure there are better methods out there. This one seems to work OK - except when its early in the morning and I do the dyslexic thing and swap a couple of the digits in the board filename. Spent some time last month trying to find the bare boards that I *knew* that we had received - they had been put where the board number said they were supposed to be - but I had swapped 2 of the 3 digits. 312 is NOT the same as 132. Oops. dwayne PS - we do serial number some of our cards. Permanent paint marker from Pilot "Silver Liner Extra Fine Metallic" (part number SEF-S) hand written on the card. Done as part of the final test procedure. dwayne -- Dwayne Reid Trinity Electronics Systems Ltd Edmonton, AB, CANADA (780) 489-3199 voice (780) 487-6397 fax Celebrating 22 years of Engineering Innovation (1984 - 2006) .-. .-. .-. .-. .-. .-. .-. .-. .-. .- `-' `-' `-' `-' `-' `-' `-' `-' `-' Do NOT send unsolicited commercial email to this email address. This message neither grants consent to receive unsolicited commercial email nor is intended to solicit commercial email. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist