Centroid

The centroid, or pick-and-place file, tells us where every component goes: an X and Y position on the board, a rotation and a side, per designator. Together with the Gerbers and the Bill of Materials it is one of the three files we build your PCBA from, used for automatic and manual SMT placement as well as for THT parts.

Download the example centroid (csv)

Example

The placements of the parts in the example BOM, in millimetres from the board origin, with R3, R4 and U3 on the bottom side. Click a header to read what the column is for.

DesignatorCenter-X (mm)Center-Y (mm)RotationSide
C112.7008.25590Top
C215.2408.25590Top
C320.32014.6050Top
C422.86014.6050Top
L130.4805.080180Top
L233.0205.080180Top
R112.70020.320270Top
R215.24020.320270Top
R340.64020.3200Bottom
R443.18020.3200Bottom
U127.94015.24045Top
U227.94027.94045Top
U345.72010.1600Bottom
TP15.0805.0800Top
TP25.08030.4800Top

Any export works

Export the pick-and-place file from your CAD tool as it comes. We recognise the exports of Altium (Pick and Place Locations, CSV and TXT), KiCad (.pos), Eagle (.lst), Ultiboard (.ctr) and FAB 3000 by their layout. Any other CSV, TXT or Excel export (Allegro, Mentor, OrCAD, EasyEDA, JLCPCB and others) imports as well, as long as its header row names the designator and the X and Y columns; we map the columns automatically. If you would like to know exactly what we read, see the column details.

Centroid from ODB++

An ODB++ archive is a good choice: it is a fixed, well-defined format, so there are no column names, units or decimal separators to interpret. We read designator, position, rotation, side, package and even the component outline straight from its component records, in millimetres. See BOM data from ODB++ for what the archive does and does not carry for the BOM.

Commas that are not escaped

A finding from recent imports: some CAD tools write a comma inside a value without putting the value in quotes, as a CSV file requires. A European decimal (1,5 mm), a thousands separator in a part number (16,000 MHz) or a comma in a description then splits one field into two, and every column after it shifts one place to the right. An inch mark inside a quoted value (10" AU) does the same in the other direction, swallowing the rows below it. From experience we know these mistakes, so our import checks the structure of every delimited file before reading it, reports the rows affected, and repairs them where the fix is unambiguous. Your file still imports; you do not have to edit it by hand.

Before you upload

  • One row per placement, with the designator exactly as it appears in the BOM.
  • X and Y are the centre of the component, not pin 1. Altium's Ref X and Pad X columns are ignored on purpose.
  • Millimetres are the native unit; mil and inch exports are converted when the file says which unit it uses. A decimal comma is fine.
  • Include the side column unless the board is single-sided, and a rotation column in degrees.
  • Test points, fiducials and mounting holes may be in the centroid without being in the BOM; we expect that.