Overview of PartSync Operation
Part Info Tab Functions
Vendor & Manufacturer Part Numbers and Costs
User Interface Controls and Form Splitters
Reference Database for Part Information
Data Sheet Librarian
Package Model Selection and Footprint Creation
User Import of CAD Data for Bill of Materials
Examples of Importing a Bill of Materials
Generation of Part Kits and Purchasing Lists for Vendors
PartSync System Configuration Tab
Control of Label Printers for Various Label Sizes
PartSync uses a two-sided Main Screen to select parts or part lists for editing or reports. The lefthand side of the Main Screen is used for selecting items from your working database, and the righthand side is used for editing, reporting and various other functions. Since there are many pieces of data to edit, or functions to execute, the righthand side uses Tabs to select sub-sections of data for the component selected on the lefthand side.
The various tabs and their functions:
- Part Info tab: View/edit part info. Create new parts and storage locations.
- Package tab: Store package model names and PCB footprint names for board design CAD tools.
- Datasheet tab: Librarian for datasheet files (or generic pdf files).
- Vendor Details tab: Assigns vendors, manufacturers and costs.
- Engineering and CAD tab: Build internal part lists by hand or from CAD tool outputs.
- Kits & Purchase tab: Generate BOM reports, kits and kit reports, and vendor purchase lists.
- Ref. DB tab: Access a second, reference, database of parts, e.g. PartSync.mdb, to copy parts from.
- Config tab: Set up directory paths, download updates, configure label printers and barcode scanners, sync to the repo.
The Part Info tab is used to create new parts, edit part information, change part numbers and define part storage locations. Several fields in the top section of the Part Info tab show "Initial Values" and several of those fields are color coded.
To create a new part, the user first selects the closest similar part on the lefthand side of the Main Screen. Various fields in the Part Info tab are then populated with that chosen, similar, part's information. Next, the user clicks the New Part button which sets the "Prev." fields to the content from the selected "similar part" fields. This give the user a chance to see how the previous similar part was entered in PartSync, while the user edits the new part fields which are color coded.
- Red warns the user that a field has not been changed.
- Yellow is reserved for Component Type. This field seldom changes for similar parts, so Yellow is displayed in place of Red.
- Aqua (light Blue) indicates a field has been changed, but not saved. (See save notes below.)
- Green indicates a field has been saved.
Part data in the Part Info tab is divided into two sections: Description and Sort Code. Sort codes are a type of functional descriptor used by engineers and technical users for the purpose of grouping parts easily by a Component Type and Component Value. The "real" part number (PN) is a unique ID for each database record in PartSync. PartSync generates this unique ID automatically whenever the New Part button is selected. PartSync uses alpha characters and random digits to generate this unique part number ID. In contrast, while sort codes are sometimes unique, duplicates are allowed.
As fields are edited, they turn from Red to Aqua. When the "Assign" button for a group is clicked, data is copied to the "Part Status" area of the lefthand side of the Main Screen. These modified fields in the "Part Status" area turn Red, while the associated fields in the Part Info tab turn Green. The actual database is not changed until the "Save Part" button in the "Part Status" area is clicked.
The Vendor Detail tab is used to configure an Approved Vendor List (AVL) for a purchased component. Multiple suppliers can be set up, with each supplier consisting of Vendor (i.e. a distributor such as Digikey, Mouser, etc.) and Manufacturer with name, part number and multiple costing points. PartSync will sort through these sources and costs, finding the best price for a given number of components when purchase lists are generated.
The top grid allows the user to select a supplier, and the information for that supplier is shown below the grid. Vendor and Manufacturer names and part numbers can be edited and saved. After the Vendor and Manufacture info is saved, costing data can be entered.
Starting in the top Qty cell, enter a numeric number, 10 for example. Press the tab key to advance to the Cost Each column. If you know the cost each, for example .05, enter that and the "At Qty Total Cost" will be automatically filled in. If you do not know the cost each, you can tab to the "At Qty Total Cost" column and enter a total cost for the 10 items. In this case, the "Cost Each" column with be automatically filled in. The tab key will move to the next column and row. When finished entering the cost data for a source, click the Save key.
Information about Vendors and Manufacturers can be entered in the lower section. When setting up a new supplier in an existing AVL, be sure to click on the first blank row.
One very handy feature is to double-click on the text in the field labeled "Web" in the Vendor Info section at the bottom of the Vendor tab. When a certain "piped" search string has been entered into PartSync for that Vendor, a double-click will open your default browser and take you directly to that part, on say, Digikey's web page!
In several locations, PartSync provides window splitters that can adjust to resize sections of the Main Screen. There is a vertical splitter that divides the lefthand and righthand sides of the Main Screen. On the lefthand side, there is a horizontal splitter for viewing search results separately from parts lists. The Datasheet tab has a horizontal splitter between the grid display and page 1 view areas.
Various fields in PartSync include a special feature where a click on the field copies the field data directly to the Windows clipboard. These fields will show a quick "Green Flash" when they are clicked. This feature is very useful when preparing emails or reports, where a specific component or part number must be referenced.
The Reference Database (Ref. DB) tab can hold a second full .mdb database to easily copy information from that .mdb file to your working database. A sample reference database, PartSync.mdb, comes with PartSync. The PartSync.mdb reference database serves three purposes:
- Provides information on many common parts to simplify data entry.
- Provides examples for component descriptions in the Part Info tab's top section labeled Description Edit Fields. The two fields in this section, Title and Description, are very important. The PartSync search engine is driven based on the union of these two fields.
- Provides examples of Sort Codes for part storage, consisting of Component Type and Component Value.
Using the reference database is simple. Clicking on an item in the Ref. DB tab's grid selects that component and enables the "Copy to Work DB" button. Clicking that button will copy all part information and vendor data into the lefthand side's working database. Only single parts (PS type) can be transferred. Part lists (PL type) must be transferred using spreadsheets through the Engineering & CAD tab.
Users can also point the Ref. DB field to an alternate .mdb file, other than the example PartSync.mdb file. For instance, if a friend or colleague wanted to start using PartSync and would like a subset of your parts to get started, you could take a new empty .mdb file and set that as the working database, while you point the Ref. DB tab to your database. Then you could easily move selected parts to the new database you start for your colleague.
PartSync includes a "Data Sheet Librarian" used to help manage the plethora of datasheets used in an engineering company. All datasheets must be .pdf files. Other file types can be converted to .pdf files using Microsoft Word, etc. All datasheets are placed in a single directory, so unique file names are required. The location for this directory is typically on a LAN file share and it is specified in the PartSync Config tab.
The Datasheet tab has three sections, top, middle and lower. The top section is a datasheet search engine and search results grid. The center section shows librarian data about the selected datasheet. The bottom viewing section shows the first page of the datasheet. The first page of a datasheet is rendered into a .jpg file and saved on the client machine. This technique enables instant previews of data sheets.
As new files can be added to the datasheet directory at any time, the ReScan button at the upper right will cause the librarian to scan through the directory, picking up any added or deleted files. These files can be selected to allow definitions of a datasheet description. A double-click in the top grid will open the datasheet in the default .pdf reader application.
The bottom section provides two additional functions, drag-n-drop of new datasheets, and description editing. Both files and URLs can be dragged and dropped onto the bottom viewing section. URLs must end with .pdf and these will be downloaded. This is very handy, as browser URL icons can be dragged and dropped. When a datasheet first page is shown in the bottom viewing section, a mouse click will cause text to be identified and blue borders drawn. Clicking inside one of these blue text areas will cause the text to be entered into the middle section's Description field. Descriptions are very important, as these are used by the datasheet search engine when finding datasheets.
Of course, documents stored in the Data Sheet folder don't have to actually be manufacturers' datasheets. If, for example, you've built custom hardware internally in your company's research division, and you want organize information about it in PartSync, you can always create a Word or Powerpoint document (add photos, notes, etc.) and as long as you save it as a pdf, you can store the document with your part in PartSync. PartSync will automatically convert the first page into a jpeg, and then display that jpeg in the lower section on the Data Sheet tab.
PartSync is paired with a package model database (also from Index Designs) called PackEdit. A package model is a representation of the physical nature of an electronic component in terms of the 2-D projection of how it will sit on a printed circuit board. The two most important uses for package data are: 1) setting the size and boundary shape parameters to feed into a pcb assembly houses' automatic pick and place equipment, and 2) creating a PCB footprint based on the package model of where the part's physical leads touch down on a board.
PartSync's Package tab is a window into the PackEdit database of package models, which contains thousands of packages. New packages can be always be added. Just contact us at www.partsync.com if an additional package model is required, and we will create a new package for you in the PackEdit database. We will deliver an update to PartSync (and consequently PackEdit), and make it available to you over the internet. Simply go to PartSync's Config tab and hit the Web Update button to download the update to PackEdit.
PartSync's Package tab allows the user to choose a package model from the PackEdit database for a given electronic component. Using the package search engine requires some familiarity with the package syntax. This syntax is somewhat industry standard, and can be learned using the "Show All" button at the top of the Package tab. Scrolling down through this list of packages will illustrate the naming conventions used for describing packages.
With a package selected, the PCB Decal (otherwise known as a Footprint or Land Pattern) field can be used to type in a decal name. The package and decal name can then be added to the part record using the "Assign Decal and Pack" button in the lower right of the Package tab. The Package and Decal names are then copied into the "Part Status" area in the lefthand side of the Main Screen. The "Save Part" button in the "Part Status" area will then save these update to the database.
It's possible to create a footprint directly from PartSync, (as opposed to simply saving the footprint name with the part record). In the Package tab, simply click on the Write Decal button at the upper right. PartSync starts with the geometry of the pins' lands, along with some expansion rules, to create a footprint (in a .d file format, readable by many CAD tools, such as Altium, etc.). It's useful to give the footprint the same name as the package. This keeps a designer's footprint libraries lean, as generic footprints can be used for many different parts (i.e. there only needs to be one 0603 footprint in a footprint library).
Engineering & CAD
The Engineering & CAD tab deals with parts lists (as opposed to individual parts). In PartSync, a parts list can be created in a number of ways. One way is to read in a list of parts from an Excel file. The reading of parts list information from CAD tools into PartSync is a bit complex. PartSync accepts input as .txt, .csv and .xls files. PartSync can also read in .bmb files from the BOM Builder application. Reading of .bmb files is very simple, as a BOM Builder .bmb file already created by the user will already contain all the information for board stuffing and variant control. When reading data using other file formats than .bmb, any variant data must be previously considered. Specifically, parts that are "Not Stuffed" must be broken into separate line items in the input file.
At the top of the Engineering and CAD tab is a "System Browser" window which functions like Windows' File Explorer. Files can be moved, opened and copied in a normal manner. A setting in the Config tab, the Jobs Dir path, defines the starting location of this file browser. This Jobs directory location is typically on a LAN file share. PartSync uses a CustomerName/JobName arrangement for this directory, though JobName alone can be used. JobName typically uses a portion of the Part List name in the PartSync database. For example, the "NavLight" design's parts list is given the name "ASMPCB-NAVLIGHT". The ASMPCB- prefix is defined in PartSync's .ini file (i.e. PartSync.ini) and this naming scheme allows automatic associations to be detected. Each parts list in PartSync can be assigned to any path, if this naming sequence is not convenient.
PartSync includes a "BOM Scrubber" used to extract many different types of data fields from an input file. Since many designers use custom spreadsheets and/or parts attributes (as opposed to creating a .bmb file) scrubbing can become complex. The PartSync scrubber works by using fuzzy logic to identify input columns and valid rows. Users can adjust both column and row headers.
Once the input file is scrubbed, closing the Scrubber returns the file to PartSync, where the results are saved as an .rdf file, and portions of the scrubbed data are presented as:
- Engineering input list
- Input sourcing info with vendor and manufacturer data
- Input costing data for reference
Input list items that do not have matching part numbers are shown in blue. Clicking on a blue item will cause the lefthand side search engine to attempt to find the required part. If found, a double-click in the lefthand side Search Results field will assign that part number to the input list. If no part is found, it must be created in PartSync. Users can also search the PartSync reference database in an attempt to reduce editing work. If the input list contained vendor or manufacturer part numbers, those are searched and matches are displayed in a golden color. Clicking on these will show the part in the database that matches the input part number. Both vendor number and manufacturer number are searched for.
When the input list is fully matched to items in the parts database, the user can click the "Compare and Save to BOM" button. If a part list already exists, differences are reported and the user is allowed to save the new list to the database.
Engineering & CAD Example
This video provides an example of reading a new parts list into PartSync. The PartSync database consists of either PL items for part lists, or PS (Purchase Specified) parts that are purchased. A PL is simply a collection of PS items that are required to assemble something like a PCB module. Lists of parts typically originate from a schematic, e.g. the BOM output of OrCAD Capture or the pick-n-place output of Altium. These raw BOM output files typically contain very little information about the required parts (at least for those designers who prefer not to keep physical part data buried in their schematics). In contrast, in this type of flow, the PartSync database contains the detailed information about individual PS type parts. If the raw BOM is read, and the various parts are linked to PartSync PS items, then a fully functional parts list will exist in the PartSync database.
The basic steps are:
- Use the schematic capture tool to generate a text, .csv file or .xls/.xlsx spreadsheet.
- Scrub the spreadsheet extracting RefDes, Count and Description. (Simple description, typically just a value.) These items will be called the "Input List".
- Match each Input List item to a PartSync PS part. This will require new parts to be flushed out in the list of PS parts.
- When all Input List items are matched to PS items, the Part List can be built in the PartSync database.
- With the Part List built, then BOMs, kits, cost reports and purchase lists can be generated.
Always remember that all PS items must exist before a Part List can be constructed in the PartSync database. The process is typically two steps. First, all the previously used parts can be quickly matched. New schematic parts must be assigned part information as new PS items and then the Input List can be fully matched.
Kits & Purchase
When a part list is complete (ASMPCB-xxxxxx), reports can be generated and kits formed. The Kit & Purchase tab contains the controls to generate kits, edit kits (limited editing) and print kit labels. This tab contains two grids. The top grid shows the parts contained in a kit, while the bottom grid enables selection of a kit. The bottom grid typically shows only the kits associated with the currently selected part list (ASMPCB-xxxxx). The "All" button in the "Kits to Show" group can be used to show all kits for all parts lists. With a kit selected in the bottom grid, the "Open Kit" button will display that kit's contents in the top grid. Be careful with "Delete Kit", as there is no undo.
At the top of the tab is a Kit Qty. spin field, used to define how many of the selected units will be built. "New Kit" and "Existing Kit" radio buttons select if a new kit is to be built or if an existing kit is to be modified. Modification should only be used if the changes are simple, as new parts can only be added at the end of the list and sorting orders will be broken.
Kits are constructed using the "Build Kit" button, but are not written to the PartSync database until the "Release Kit" button is clicked. This two-step process gives the user a chance to review kit contents using the "Kit Report" button. When the database is written (Release Kit) a check is made for existing kits and a new sequential number is added as the Release Number.
The Config tab specifies parameters used during PartSync operation. Three main group boxes at the top left of the Config tab provide for company information, directory setup, and label printer selection. Company information is used when generating various .pdf reports. The "Stock Location" field takes as input a short string used to identify the physical location of storage. Examples might be "Main Plant" or NYC.
The directory path setup section includes:
- Working DB: Database file used for PartSync's lefthand side
- Repo. DB: Database file used as the shared data repository
- Comp. Type: File holding names of component type categories
- Jobs Dir: Directory for output files for each pcb job
- Package DB: Location of PackEdit's package database
- PCB Decals: Directory where PartSync writes PCB footprints
- Data Sheet: Directory where .pdf files are stored
The label printer section relies on Windows printer drivers. PartSync knows how to format 4 different sizes of labels (i.e. if you buy 4 different types of label printers, you can select them in this section).
Below the label printer section is a field for the path to the BOM Builder executable. This "BOM Build App" field provides PartSync with a Windows link to the BOM Builder program, as teh two programs can work together to streamline printed circuit board parts organizing. Specifically, BOM Builder is a separate full-featured Windows application for managing information flow to a PCB assembly house for stuffing boards. A design engineer uses BOM Builder to associate real physical parts with abstract parts, output from a board CAD too,l to create a bill of materials (BOM). The engineer may want to direct the assembly house to stuff a given board in multiple ways. For example, the engineer might want 5 boards fully stuffed, and another 5 stuffed with a subset of certain parts not stuffed. These two "builds" are called variants. BOM Builder can manage these variants, providing the correct specification instructions to the assembly house.
However, in addition to managing build variants, BOM Builder also provides a unique tool for checking that footprints are correct. BOM Builder can read in a board's gerber files, and also has access to the package models, and the package model name saved with each physical part in PartSync. BOM Builder can then display each part's package model sitting down on its footprint on the board. The ability to "see" where a package's leads sit down on a footprint is very useful to an assembly house or engineering test department ... and is a great stress relief to the design engineer!
The Config tab's righthand side contains a number of checkboxes and fields to further customize PartSync. For instance, PNum field takes a format string that enables users to control the format of automatically generated unique part number IDs. This string consists of sub-strings, where each sub-string is separated by one of more space characters. In the example "IND- 3 - 3", there are 4 sub-strings. The first is IND-. The second is 3. The third is -, and the fourth is 3. When forming a unique part number ID, the first sub-string with non-numeric characters is treated as text. The following numeric sub-strings cause the specified number of random digits to be formed. The example results in IND- followed by 3 random digits, followed by a -, which is then followed by 3 more random digits. Changing the IND- to A- would form part numbers like A-234-567.
The section labeled "Search Engine Rebuild" enables the user to rebuild PartSync's indexer engine by clicking the "Build Search Engines" button. All database .mdb files should have unique names to help keep indexer engines self-synchronized. Do not use the same name for different .mdb files. A full rebuild takes about 2 minutes and rebuilds all the indexer tables. A quick rebuild only re-synchronizes recent additions. Each time PartSync is started up, databases are checked, and any changes will start a quick rebuild. During startup, small green check-marks in the PartSync splash screen, along with a "Working" indicator, will indicate program status during startup.
The "Sync to Repository" button starts a bi-directional resync with the Working and Repository DB. This takes a little time and produces a verbose description of the process. Content is bi-directionally transferred between the Working and Repo DBs. Buttons are provided to create both new Working DB and Repository DB. After creation these new DBs are synchronized and internal "Sync Tables" are formed. A sequence of file dialogs and prompts will lead the user through the process. Multiple users can use the Sync to Repository functions to share and transfer database content.
Label Printers & Barcode Scanners
PartSync uses standard Windows printer drivers. This makes setup of low cost printers (for example Brother label printers) easy. However, setup of larger label printers can be difficult.
The first thing to remember during setup is that despite the frustrations, it will work. The major issue is keeping the Windows printer preferences in sync with the printer. When Windows notices a printer appearing on a new printer port, which includes a changed USB connection, some drivers reset the paper stock setting. The "Stock" field and other preferences (a number of them) must be re-entered. There are several additional parameters such as print speed, darkness, label gap setting and feed forward. They all must be correct. After setting printing preferences, be certain to reboot your PC to make sure your changes took. Another round of setup and reboot might be required.
Different label printer drivers download printing preferences to their printer at different times. Zebra printers do this when Windows starts. GPrinter printers download printer settings when the user clicks on "Print Test Page" in the property panel. Remember not to spend time setting up printing preferences until you have the printer attached via a Windows Printer Port which will not change. Changing ports will drop preferences.
Label printers which work over Ethernet are very convenient if they have configuration tools where the printer defaults can be modified. Ethernet printers are easily shared over a local LAN. USB printers, which can be shared using Windows "Printer Shares", render the printer output on the server computer. Do not try using USB device sharing hardware or software, as label printers get confused when multiple computers boot and attach to printers. Windows Printer Sharing keeps all boot-time communications limited to the single server PC.
When starting with PartSync, a low cost Brother label printer, such as the Brother QL-710W, is suggested. PartSync code detects printer types using text in the printer names. Be certain that QL-700 or QL-710 is included in the printer name for these printers. Low-cost Zebra printers are also detected by name. Make sure the printer name includes the text "ZDesigner". We've had good results with the Zebra ZD200D as a medium-cost-range printer for cut-tape packaging labels (even finding such printers on eBay). Low cost GPrinter brand printers from Asia are also detected. The text "GP-3120" should be in the printer name.
Color printers are supported. See the /ProgramData/PartSync/Data directory. There are two files: CompColors.txt and CompColorsDef_Sample.txt. These files define the hex values of colors and associate colors with various CompType settings.
A good printer for Engineering Stock (2.25 x 0.75 inch labels) is the Brother PT-P700 using 18mm white-on-black laminated TZe-241 tape. It is more expensive per label, and might require minor trimming, but the printer and supplies are very low cost and common. The text "PT-P700" must be in the printer name.
With time and more experience (and maybe better drivers), we hope to simplify printer setup. Remember, they *will* work. Starting with a QL-710W wireless (WiFi) printer is a great way to get up and running. This printer is low cost and easily shared, but it requires a WiFi connection.
PartSync also supports organizing how an engineering department can keep track of where they keep their inventory. That is, PartSync can connect directly to USB-interfaced low-cost wireless 2D barcode scanners. The only constraint is to ensure that the barcode scanner can be set to a mode where it acts as a Virtual COM Port (as opposed to showing up in Windows Device Manager as a Human Interface Device). The Winson WNI-6213V/B is a wireless (433 MHz radio) 2D-barcode scanner that works well. PartSync's COM Port spin edit field enables selecting the COM Port number which recognizes the barcode scanner. Once a barcode scanner's COM Port number is configured in PartSync, scanning a barcode label will then open PartSync to that part.
PartSync's barcode scanning capability also works in conjunction with BOM Builder. In PartSync's Config tab, checking the box labeled "Enable BOM Builder" will trigger BOM Builder execution when scanning Kit barcodes. This means that a design engineer can point a barcode scanner at a label on a box in the lab and the gerber view in BOM Builder will zoom directly to that component on the board!