Reference

TPSys Format

Deep reference for the Mycronic TPSys pck.pck package database format.

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:

TypeCountDescription
PT_TWO_POLE1230Two-terminal passives (chip resistors/caps, diodes)
PT_GENERIC1040Generic packages (no specific lead model)
PT_TWO_SYM1029Two symmetric lead groups (SOIC, SSOP, etc.)
PT_FOUR_SYM221Four symmetric lead groups (QFP, QFN, etc.)
PT_GENERIC_BGA112Generic BGA variant
PT_BGA97Ball Grid Array
PT_OUTLINE78Outline-defined (no lead geometry)
PT_TWO_PLUS_TWO63Asymmetric quad (different lead counts per side pair)
PT_THREE_POLE62Three-terminal (SOT-23 family)
PT_FOUR_ON_TWO23Four 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.

FieldDescription
bodyXBody extent in X direction
bodyYBody extent in Y direction
searchXVision search area width (X)
searchYVision search area height (Y)
heightNominal component height
heightMaxMaximum acceptable height
heightMinMinimum 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.

FieldDescription
leadShapeCHIP, FLAT, GULLWING, J_LEAD, BGAB, OUTLINE
numLeadsNumber of leads in this group
param1Shape-dependent
param2Shape-dependent
angleLead orientation in millidegrees
typeUsually 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 row
  • rowStartX – 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.

FieldDescription
padWPad width (nominal)
padWmaxPad width (maximum)
padWminPad width (minimum)
padLPad length (nominal)
padLmaxPad length (maximum)
padLminPad length (minimum)
ccDistCenter-to-center distance between adjacent leads (pitch)
leadWLead/termination width
leadWmaxLead width (maximum)
paramAdditional 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 centering
  • MECHANICAL – 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)DegreesDirectionUsed for
00Right (+X)Right-side leads
9000090Down (-Y)Bottom-side leads
180000180Left (-X)Left-side leads
-90000-90Up (+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

ShapeUsed forDescription
CHIPChip resistors, capacitorsFlat rectangular terminations
FLATFlat-lead passivesFlat contact pads
GULLWINGSOT, SOIC, QFPGullwing (outward-bent) leads
J_LEADPLCC, SOJJ-shaped (under-body) leads
BGABBGASolder ball
OUTLINEGenericNo 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:

ConventionLead 1Lead 2Body long axis
TPSys internalTop (+Y)Bottom (-Y)X (horizontal)
IPC-7351BLeft (-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:

  1. Search by name: look for P00 <package_name> lines.
  2. Check the type: P000 tells you the structural classification.
  3. Read dimensions: P01 gives body dimensions, P055 gives lead dimensions.
  4. 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.