Tutorial: Introduction

PartSync uses a two sided Main Screen to select parts or part lists for editing or reports. The left side is used for selecting items and the right side for editing, reporting and various functions. Since there are many pieces of data to edit or functions to execute the right side uses "Tabs" to select sub sections of data for the selected component. (Selected on the left hand side.)

The various Tabs and their function:

  • Part Info: Create new parts and Storage. Edit part information.
  • Package: Setup shape (Paackage) and PCB Footprint for CAD tools.
  • Datasheet: Librarian for datasheet files.
  • Vendor Details: Assigns vendors, manufacturers and cost to parts.
  • Engineering and CAD: Build internal part lists from CAD tool outputs.
  • Kits & Purchase: Generate BOM reports, kits and kit reports.
  • PartSync: Access to the default database of parts. (Sample.mdb)
  • Configuration: Provides controls for overall PartSync operation.

Other information provided here includes:

  • GUI operations.
  • Printer support.

Part Information:

The Part Info tab is used to create new parts, edit part information, change part numbers and define part storage. Several fields in the top section of the Part Info tab show "Initial Values" and several fields are color coded.

When a new part is being created the user first selects the closest matching part and selects it in the left side of the main screen. Various fields in the Part Info tabs are populated. Next the user clicks the New Part button which sets the "Prev." fields to the content from the selected "Close Part" fields. This give the user a chance to see how the previous similar part was coded 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 have been changed but not saved. (See save notes below.)
  • Green indicates a filed has been saved.

Part data is divided into two sections Description and Sort Codes. Sort Codes are the functional part number used to sort parts form engineering and technical users. The "Main" part number is generated automatically using alpha characters and random digits. The Main part numbers are unique. Sort codes are typically unique but 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 left had side of the Main Form, 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.


A "Package" represents the physical nature of an electronic component. The two most important uses for package data are constructing the PCB copper areas where component leads connect and in defining the size and shape parameters for automatic pick and place equipment. PartSync contains thousands of different shaped packages and newpackages can be added as required. Contact www.partsync.com if an additional package is required.

The Package Tab allows the user to select a database component and then select a package. With a package selected the PCB Decal (same as a PCB Footprint or Land Pattern) drop down can be used to select a PCB Decal name. (The Decal name can also be cleared or set to the package name using buttons.) The selected package and decal is they assigned to the selected component using the "Assign Decal and Pack" button in the lower right of the Package tab.  Package and Decal data is copied into the "Part Status" area in the Main Form left. The "Save Part" button in the "Part Status" area will update the database.

Using the package search engine takes some familiarity with the package syntax. This can be learned using the "Show All" button at the top of the Package tab. Scrolling down through this list will reveal the syntax used for describing packages.


PartSync includes a "Data Sheet Librarian" used to help manage the array 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 or other programs. 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 Configuration 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 datasheets are rendered into .jpg files and saved on the client machine. This techniques allow 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 data sheet 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 Drop of new datasheets and description editing. Both files and URLs can be dragged and drop 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 show 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 "Description" field. Descriptions are very important as these are used by the datasheet search engine when finding datasheets.

Vendor Detail

The Vendor Detail tab is used to configure an Approved Vendor List (AVL) for a purchased component. Multiple sources can be setup with each source consisting of Vendor and Manufacturers (Manf.) with both name, part numbers 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 source and the information for that source is shown below the grid. Vendor and Manf. names and part numbers can be edited and saved. After the Vendor Manf. 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 Manf. can be changed in the lower section. A double click on the "Web Address" will open the system browser.

When setting up a new source in an existing AVL be sure to click on the first blank

Engineering & CAD

The reading of parts list information from CAD tools is a little complex and PartSync accepts input as .txt, .csv and .xls files. PartSync also reads in .bmb file from the BOM Builder application. Reading of .bmb files is very simple as BOM Builder contains all the information for stuffing and variation control. When reading data using other file formats any variation data must be already considered. Part 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" windows which function like Windows Explorer. Files can be moved, opened and copied in a normal manner. A setting in the Configuration tab (Jobs Dir) defines the starting location of this file browser. This directory location is typically on a LAN file share. PartSync uses a "CustomerName/JobName arrangement for this directory through JobName alone can be used.  "JobName" is typically used as parts of the Part List name in the PartSync database. For example the :NavLight" design is given the name "ASMPCB-NAVLIGHT". The ASMPCB- prefix is defined in a .ini file and this naming scheme allows automatic associations to be detected. Each parts list in PartSync can be assigned to any path required 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 every designer uses custom spreadsheets and/or parts attributes 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 a .rdf file and portions of the scrubbed data are presented as:

  • Engineering Input List
  • Input Source 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 with cause the left side search engine to attempt to find the required part. If found a Dbl Click in the left side Search Results will assign that part number to the input list. If not parts is found it must be created in PartSync. Users can also search the PartSync library in an attempt to reduce editing work. If the input list contained vendor or manufacturer parts number those are searched and matchs shown in a golden color. Clicking on these will show the part in the database that mathes the input part numbers. Both Vendor and Manufacturer number are searched.

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 difference are reports 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, for example the BOM output of OrCAD Capture. These raw BOM outputs typically contain very little information about the required parts. However 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 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 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 part. First all the simple previous used parts can be quickly match. New schematic parts must receive part information as new PS items and then the Input List can be fully matched.


Kits & Purchase

When a complete 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 shows the parts contained in a kit while the bottom allows selection of a kit. The bottom grid typically show 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 kits content in the top grid. Be careful with "Delete Kit" there is no Un-Do.

At the top of the tap 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 content 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.

Reference Database

The Reference Database (RefDB) is a full component database with vendors, manufacturers, part number and costing for many common parts. The RefDB serves two purposes:

  • Provides information on many common parts to simplify data entry.
  • Provide examples for component descriptions and Sort Codes. This is important as the search engines are description driven.

Operation is simple, clicking on an items in the RefDB grid selects that component and enables the "Copy to Work DB" button. Clicking that button will copy all part information and AVL data into the left side.  Only simple parts can be transferred. Part lists must be transferred using spreadsheets through the Engineering & CAD tab.


The Config tab is used to specify several parameters used during PartSync operation. Three main group boxes are provide for Company Information, Directory Setup and Label Printer Selection. Company Information is used when generating various .pdf reports. The "Stock Location" provides a short string used to identify the physical location of generated storage. Examples might be "Main Plant" or NYC.

  • Working DB: DB file used for the PartSync left side Working DB.
  • Repos DB: DB File used as a data Repository.
  • Data Sheet: Directory where .pdf datasheets are stored.
  • PCB Decals: Directory where PartSync writes PCB footprints.
  • Jobs Dir: Directory for storage root of output files for each job.

BOM Builder is a separate full featured application for managing PCB assemblies. In addition to providing product variation control BOM Builder provides a graphical representation of a PCB built from gerber files and "Package Library" images. The "BOM Build App" field provides PartSync with a link to the BOM Builder app. This link allows parts in a kit to be highlighted in an on screen PCB image. This feature is very useful to assembly and test department.

PartSync supports the use of low cost 2D bar code scanners using a RS-232 interface or a USB interface to a RS-232 port. (FTDI chipsets recommended.) The COM Port spin edit field selects the COM Port number of the scanner. A checkbox enables BOM Builder execution when scanning Kit barcodes.

A PNum format string allows users to control automatically generated parts numbers. This string consists of sub strings each sub string separated by one of more space characters. In the example IND-  3  -  3 there are 4 sub strings. The first is IND- the second 3 the third is - and the fourth 3. When forming a part number a sub string with non-numeric characters is treated as text. A numeric substring causes that number of random digits to be formed. The example results in IND- followed by 3 random digits followed by a - followed by 3 random digits. Changing the IND- to A- would form part numbers like A-234-567 .

Search engines will "ReSync" if the "ReSync All" button is clicked. A Re-Sync consists of decoding descriptive text with each item in a database table and forming links to table index keys. The results are saved in .IFD and .ISD files of the same name. All database files should have unique names to help keep index engines self synchronized. Do not use the same name for different .mdb files. If things get confused do a "ReSync All". If .IFD and .ISD files are deleted a "ReSync All" will completely rebuild files but it takes 1/2 second per entry. A full resync and rebuild of package data might take 30 minutes. Each time PartSync begins execution databases are checked and any changes with start a resync.  Small checkboxes in the splash screen and "Working" indicators will indicate program status during startup.

The "Sync to Repository" button starts a bi-directional resync with a Repository DB. This takes a little time and produces a verbose description of the process. After the synchronization the final synchronized image can be selectively written to either the Working or Repository DB. This allows a single instance of a PartSync location to serve as a data user, provider or both.

User Interface

In several locations PartSync provides window splitters that can adjust to resize sections of the main form. There is a vertical splitter that divies the left and right hand sides of the Main Form. In the left side there is a horizontal splitter for viewing search results and 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 field data directly to the clip board. These fields will show a quick "Green Flash" when they are clicked. This feature is very useful when preparing emails or report where a specific component or part number must be referenced.

Label Printers

PartSync uses standard Windows printer drivers. This makes setup of low cost printers (for example Brother label printers) easy but 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 changing USB connection) some driver reset the paper (label "Stock") stock setting 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 you PC to make sure they "Stuck". 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 the "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 that will not change. Changing ports will drop preferences.

Label printers that 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 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 printer get confused when multiple computers boot and attached to printers. Windows Printer sharing keeps all boot time communications limited to the single server PC.

When starting with PartSync a low cost Brother printer with cutter 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 printer are also detected by name. Make sure the printer name includs the text ZDesigner. Low cost GPrinter brand printers from Asia are 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, 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 start. This printer is low cost and easily shared but it requires a WiFi structure.