TPSys Package Database Format (pck.pck)
This document describes the binary/text format of the MYDATA/Mycronic TPSys package database file (pck.pck), as reverse-engineered from a production TPSys 5.x server export.
This reference is intended for engineers maintaining package definitions, debugging PnP alignment, or importing/exporting data between TPSys and other systems.
Overview
The pck.pck file is a text-based package library exported from a MYDATA/Mycronic TPSys server. It contains definitions for all component packages known to the pick-and-place machine, including:
- Physical dimensions (body, leads)
- Lead shape and position geometry
- Vision/centering parameters
- Nozzle and tool assignments
- Component images (base64-encoded)
All dimensional values are in micrometers (um) unless noted otherwise. Angles are in millidegrees (e.g., 90000 = 90 degrees, -90000 = -90 degrees).
File structure
The file consists of sequential package records, each separated by a # delimiter:
P00 <package_name> [variant_id]
P000 <package_type>
P01 <dimensions...>
...field lines...
P11 <x> <y> <type>
P12 <resolution...>
P121 <base64_image_data>
P122 <image_offset_x> <image_offset_y> <image_size>
#
P00 <next_package>
...
Each line starts with a field identifier (P00, P000, P01, P051, etc.). Some fields can appear multiple times within a record (e.g., P051 for each lead group, P11 for each reference point).
Record fields
P00 – Package Name
P00 <name> [variant_id]
name– package identifier (e.g.,0603,SOT-23,SOIC-8,QFP100 AUT-0078)variant_id– optional numeric ID or variant suffix
A package name with an asterisk (*) suffix indicates a template/default entry.
P000 – Package Type
P000 <type>
Defines the structural classification:
| Type | Count | Description |
|---|---|---|
PT_TWO_POLE | 1230 | Two-terminal passives (chip resistors/caps, diodes) |
PT_GENERIC | 1040 | Generic packages (no specific lead model) |
PT_TWO_SYM | 1029 | Two symmetric lead groups (SOIC, SSOP, etc.) |
PT_FOUR_SYM | 221 | Four symmetric lead groups (QFP, QFN, etc.) |
PT_GENERIC_BGA | 112 | Generic BGA variant |
PT_BGA | 97 | Ball Grid Array |
PT_OUTLINE | 78 | Outline-defined (no lead geometry) |
PT_TWO_PLUS_TWO | 63 | Asymmetric quad (different lead counts per side pair) |
PT_THREE_POLE | 62 | Three-terminal (SOT-23 family) |
PT_FOUR_ON_TWO | 23 | Four leads distributed on two sides |
Counts are from a representative production database.
P01 – Body Dimensions
P01 <bodyX> <bodyY> <searchX> <searchY> <height> <heightMax> <heightMin>
All values in um.
| Field | Description |
|---|---|
bodyX | Body extent in X direction |
bodyY | Body extent in Y direction |
searchX | Vision search area width (X) |
searchY | Vision search area height (Y) |
height | Nominal component height |
heightMax | Maximum acceptable height |
heightMin | Minimum acceptable height |
For PT_TWO_POLE (Chip), the bodyX/bodyY values reflect the body dimensions in the TPSys internal orientation, which may differ from IPC convention.
P011 – Center Offset
P011 <offsetX> <offsetY>
Offset from geometric center to pick-up center, in um. Usually 0 0.
P022 – Nozzle Configuration
P022 <nozzle> <param1> ... <flag3>
Nozzle type identifier (e.g., A12, A13, A14, A23, B34, C14, C23).
P03 – Accuracy Settings
P03 <flag> <acc1> ... <flag3>
Accuracy level keywords: ACC_LOWEST, ACC_LOW, ACC_HIGH, ACC_HIGHEST.
P032 – Mount Head Assignment
P032-1 AUTO
P032-2 <head_id>
Head selection mode and specific head assignment (e.g., H01, H02, H03).
P04 – Pin Numbering Configuration
P04 <startPin1> <endPin1> [<startPin2> <endPin2>] 0
Pin numbering ranges for each lead group. The trailing 0 terminates the list.
Examples:
P04 1 2 0– 2 pins total (PT_TWO_POLE)P04 1 3 0– 3 pins total (PT_THREE_POLE)P04 1 4 5 8 0– pins 1-4 on side 1, pins 5-8 on side 2 (PT_TWO_SYM with 8 leads)P04 1 31 51 81 0– pins 1-31 + 51-81 (PT_TWO_PLUS_TWO, 100-pin QFP variant)
P051 – Lead Definition
P051 <leadShape> <numLeads> <param1> <param2> <angle> <type>
This is the most important field for understanding package geometry. The format varies by lead shape.
| Field | Description |
|---|---|
leadShape | CHIP, FLAT, GULLWING, J_LEAD, BGAB, OUTLINE |
numLeads | Number of leads in this group |
param1 | Shape-dependent |
param2 | Shape-dependent |
angle | Lead orientation in millidegrees |
type | Usually NORMAL |
CHIP (PT_TWO_POLE):
P051 CHIP <numLeads> <unused(0)> <distFromCenter> <angle_millideg> <type>
distFromCenter– distance from component center to lead center (signed, um)
GULLWING / FLAT / J_LEAD (PT_THREE_POLE, PT_TWO_SYM, PT_FOUR_SYM):
P051 GULLWING <numLeads> <distFromCenter> <ccHalf> <angle_millideg> <type>
distFromCenter– perpendicular distance from center to the lead row (signed, um)ccHalf– half of the total span of leads in this group (= (numLeads-1) x pitch / 2)
BGAB (PT_BGA):
P051 BGAB <numBalls> <rowStartX> <rowY> <angle_millideg> <type>
numBalls– number of balls in this rowrowStartX– X position of the first ball (um)rowY– Y position of this row (um)
OUTLINE (PT_OUTLINE):
P051 OUTLINE 0 0 0 <angle_millideg> <type>
No lead geometry; body defined by P01 dimensions only.
P055 – Lead Search Parameters
P055 <padW> <padWmax> <padWmin> <padL> <padLmax> <padLmin> <ccDist> <leadW> <leadWmax> <param>
All values in um.
| Field | Description |
|---|---|
padW | Pad width (nominal) |
padWmax | Pad width (maximum) |
padWmin | Pad width (minimum) |
padL | Pad length (nominal) |
padLmax | Pad length (maximum) |
padLmin | Pad length (minimum) |
ccDist | Center-to-center distance between adjacent leads (pitch) |
leadW | Lead/termination width |
leadWmax | Lead width (maximum) |
param | Additional parameter (often 0) |
Example for 0603 chip: P055 350 350 350 800 1200 400 0 400 400 0
- Pad: 350um x 800um (width x length)
- Lead width: 400um
Example for SOT-23: P055 550 550 550 400 400 400 1900 500 500 200
- Pad: 550um x 400um
- CC distance: 1900um (1.9mm between the two left-side leads)
P061 – Centering Method
P061 <method>
OPTICAL– camera-based centeringMECHANICAL– jaw-based mechanical centering
P07 – Coplanarity Check
P07 <enabled>
true / false – whether coplanarity checking is enabled.
P071/P073 – Vision Mode
P071 "<mode>"
P073 "<mode>"
Vision inspection mode: "standard", "linescan", "hydra", "NONE".
P11 – Reference Points
P11 <x> <y> <type>
Reference/inspection points for lead verification, in um relative to component center. Multiple P11 lines appear per package, one per lead or inspection point.
Example for SOT-23 with 3 leads:
P11 -907 970 CUSTOM – Pin 1 (upper-left)
P11 970 0 CUSTOM – Pin 3 (right)
P11 -907 -907 CUSTOM – Pin 2 (lower-left)
P12 / P121 / P122 – Image Data
P12 <resX> <resY> <scaleX> <scaleY>
P121 <base64_encoded_image_data>
P122 <offsetX> <offsetY> <size>
Base64-encoded component image used for visual reference in the TPSys UI.
Coordinate system
+Y (up)
|
|
-X –---+------> +X (right)
|
|
-Y (down)
- +X right, -X left
- +Y up, -Y down
- All coordinates in micrometers (um)
- Component center at (0, 0)
Angle convention
TPSys angles in P051 are in millidegrees and represent the direction a lead group faces (outward from the component body):
| Angle (millideg) | Degrees | Direction | Used for |
|---|---|---|---|
0 | 0 | Right (+X) | Right-side leads |
90000 | 90 | Down (-Y) | Bottom-side leads |
180000 | 180 | Left (-X) | Left-side leads |
-90000 | -90 | Up (+Y) | Top-side leads |
The 90 and -90 degree assignments represent the lead protrusion direction when viewed from the component body. For QFP/BGA, this creates the pattern: Left(180) -> Bottom(90) -> Right(0) -> Top(-90), following CCW pin numbering.
Lead shape types
| Shape | Used for | Description |
|---|---|---|
CHIP | Chip resistors, capacitors | Flat rectangular terminations |
FLAT | Flat-lead passives | Flat contact pads |
GULLWING | SOT, SOIC, QFP | Gullwing (outward-bent) leads |
J_LEAD | PLCC, SOJ | J-shaped (under-body) leads |
BGAB | BGA | Solder ball |
OUTLINE | Generic | No lead geometry, outline only |
Package type details
PT_TWO_POLE – Chip Components
P00 0603
P000 PT_TWO_POLE
P01 1600 800 1600 800 600 675 570
P04 1 2 0
P051 CHIP 1 0 800 -90000 NORMAL
P051 CHIP 1 0 -800 90000 NORMAL
P055 350 350 350 800 1200 400 0 400 400 0
TPSys internal 0-degree: leads at top and bottom (+/-Y). Body longer dimension along X.
This differs from IPC-7351B where leads are at left/right (+/-X). The offset is exactly 90 degrees.
PT_THREE_POLE – SOT-23 Family
P00 SOT-23 330032
P000 PT_THREE_POLE
P01 2316 2347 2316 2347 1000 1200 800
P04 1 3 0
P051 GULLWING 2 -1200 950 180000 NORMAL
P051 GULLWING 1 1200 0 0 NORMAL
P055 550 550 550 400 400 400 1900 500 500 200
0-degree: 2 leads on left (-X), 1 lead on right (+X). Pin 1 at upper-left. Matches IPC-7351B.
PT_TWO_SYM – Dual-Inline ICs
P00 SOIC-8
P000 PT_TWO_SYM
P01 6000 11856 6000 11856 2700 2835 2565
P051 GULLWING 4 -5750 1905 180000 NORMAL
P051 GULLWING 4 5750 -1905 0 NORMAL
P055 2030 2030 2030 380 380 380 1270 190 380 0
0-degree: leads on left and right. Pin 1 at upper-left. Matches IPC-7351B.
PT_FOUR_SYM – Quad-Flat ICs
P00 chiphalter iot-0002
P000 PT_FOUR_SYM
P01 15586 15586 15586 15586 6000 6300 5700
P051 GULLWING 1 -5715 0 180000 NORMAL
P051 GULLWING 1 0 -5715 90000 NORMAL
P051 GULLWING 1 5715 0 0 NORMAL
P051 GULLWING 1 0 5715 -90000 NORMAL
0-degree: leads on all 4 sides. Pin 1 at upper-left. CCW numbering: Left -> Bottom -> Right -> Top. Matches IPC-7351B.
PT_TWO_PLUS_TWO – Asymmetric Quad
P00 QFP100 AUT-0078
P000 PT_TWO_PLUS_TWO
P04 1 31 51 81 0
P051 GULLWING 30 -8400 9425 180000 NORMAL
P051 GULLWING 20 -6175 -11350 90000 NORMAL
P051 GULLWING 30 8400 -9425 0 NORMAL
P051 GULLWING 20 6175 11350 -90000 NORMAL
P055 1850 1850 1850 300 300 300 650 150 260 0
Total: 30+20+30+20 = 100 leads. Pitch = 650um. CCW numbering: Left(1-30) -> Bottom(31-50) -> Right(51-80) -> Top(81-100).
PT_BGA – Ball Grid Array
P00 BGA 523805
P000 PT_BGA
P01 2935 2967 2935 2967 1760 1848 1672
P051 BGAB 10 -3600 3600 90000 NORMAL
P051 BGAB 10 -3600 2800 90000 NORMAL
...
P051 BGAB 10 -3600 -3600 90000 NORMAL
P055 500 500 500 500 500 500 800 50 50 250
Each P051 line defines one row. Ball A1 at upper-left (-X, +Y). Ball pitch = 800um. Matches IPC-7351B.
PT_OUTLINE – Outline Only
P00 0201-025 141385
P000 PT_OUTLINE
P01 688 344 688 344 250 300 200
P051 OUTLINE 0 0 0 180000 NORMAL
P055 700 770 630 400 440 360 0 0 0 0
No meaningful lead parameters. Vision centering uses body outline dimensions from P01 and P055.
PT_GENERIC – Generic Package
Catch-all type for packages that do not fit the standard type models. Corresponds to the TPSys Generic package type (manual section 6.6). Example use: SOT-223.
PT_FOUR_ON_TWO – 4 Leads on 2 Sides
P00 DO-214AA
P000 PT_FOUR_ON_TWO
P051 GULLWING 1 -1000 1905 180000 NORMAL
P051 GULLWING 1 -1000 -1905 180000 NORMAL
P051 GULLWING 1 1000 -1905 0 NORMAL
P051 GULLWING 1 1000 1905 0 NORMAL
Four individual leads, each defined separately by position.
TPSys vs IPC-7351B orientation convention
For all gullwing/IC packages (SOT, SOIC, QFP, BGA), TPSys and IPC-7351B use the same 0-degree orientation with pin 1 at upper-left.
For Chip packages (PT_TWO_POLE), TPSys and IPC-7351B differ by 90 degrees:
| Convention | Lead 1 | Lead 2 | Body long axis |
|---|---|---|---|
| TPSys internal | Top (+Y) | Bottom (-Y) | X (horizontal) |
| IPC-7351B | Left (-X) | Right (+X) | X (horizontal) |
Standard PnP files from EDA tools (KiCad, Altium, Eagle, OrCAD) use IPC-7351B orientation. The MYDATA machine handles the conversion internally via the tape orientation field (C10). For software rendering PnP data (like Gerbtrace), IPC-7351B orientation is used with a convention-specific offset applied to chip packages.
Using pck.pck as a reference
The pck.pck database is a valuable reference for component dimensions:
- Search by name: look for
P00 <package_name>lines. - Check the type:
P000tells you the structural classification. - Read dimensions: P01 gives body dimensions, P055 gives lead dimensions.
- Cross-reference with P11: reference points give actual measured lead positions.
Caveats
- Many packages have multiple variants (e.g.,
0603,0603 2x1.4x1.2,0603 Langsam). The base name without suffix is usually the standard version. - PT_GENERIC entries may use FLAT leads with the same P051 format as CHIP.
- P11 reference points are actual measured positions from the vision system, so they may not be perfectly symmetric. Use P051 for theoretical positions.
- Some entries have unusual configurations. Always cross-reference with the actual component datasheet.