Need help? Get in touch.
Required Design Files
In our mission to manufacture and assemble your PCBs and ensure the highest quality while keeping your costs low, we perform a fully automated process. This process results in data about your project being sent directly to our assembly machines. Step-by-step instructions are then being displayed in real-time to assembly technicians on the line.
Additionally, by having all data about each order in our cloud systems, we are able to perform real-time optimization of jobs by grouping together similar orders and reducing assembly line changes.
To facilitate this fully automated process, we need complete information about your project, This includes PCB design files, bill of materials, and placement data for all components. For some EDA tools, we can extract this data automatically from the native files. However, for all of the most common tools, the information we need can be exported by you and then uploaded to us in a format our system can recognize.
Specific instructions on how to prepare the data we need to manufacture your PCBs are available for the following common EDA tools by clicking one of the links below:
- Creating PCB Projects with Eagle
- Creating PCB Projects with KiCad
- Creating PCB Projects with Diptrace
- Creating PCB Projects with Altium
- Creating PCB Projects with PADS
- Creating PCB Projects from OrCAD and Allegro
Is your favorite EDA tool not on this list? Let us know by contacting us. We’re continuously working on instructions for new programs, and we’d be happy to prioritize your tool.
If you’re already an expert in preparing your files for manufacturing, or we don’t yet have specific instructions for your EDA program, the following are our requirements for manufacturing files:
Uploading Design Files
Simply drag-and-drop your source files as they are into the upload area, or use the upload button to select the files you want to use. The system will automatically figure out what kind of files they are and process them accordingly.
Gerber CAM files
Computer Aided Manufacturing (CAM) files describing the layout of the PCB should have the following naming convention. Gerbers must be RS274-x format.
Top SMD Paste
Bottom SMD Paste
- pcbname.G2L, pcbname.G3L, pcbname.G4L, pcbname.G5L, pcbname.G6L, pcbname.G7L, pcbname.G8L, pcbname.G9L, pcbname.G10L, ect..
Inner signal layers (postive polarity) – only used for multi-layer
- pcbname.G2P, pcbname.G3P, pcbname.G4P, pcbname.G5P, pcbname.G6P, pcbname.G7P, pcbname.G8P, pcbname.G9P, pcbname.G10P, ect..
Inner plane layers (negative polarity) – only used for multi-layer
NC Drill File (do not use a drill report or rack definition, this must be an Excellon file)
The “pcbname” can be anything as the extension is the only important part of the filename.
The above file naming format is suggested but not required. If the system cannot automatically identify it, you will be able to specify it manually in the PCB viewer.
All cutouts and mills are required to be in the board outline gerber file.
All copper layers should include the board outline.
The board outline file is required for every PCB and should have an outline of the outer edges of the PCB. All drawing outside of this outline on other layers will be cropped.
XYRS File Format
The Bill of Material and XYRS data file is used to place parts on the PCB. The .XYRS file combines the Bill of Materials and XYRS data and includes parts placement and their locations. The file should have the extension “.XYRS”. The file is tab delimited and should contain the following fields. All dimensions shall be in mils for X-Y locations and degrees for rotation.
Lines beginning with ‘#’ will be ignored
|Designator||Part Name||U1, R10, C8|
|X-Loc||X-Location of Part (mils, oriented from bottom-left)||1200.00|
|Y-Loc||Y-Location of Part (mils, oriented from bottom-left)||900.00|
|Rotation||Rotation of Part (degrees)||270|
|Side||Layer the Part is On||1/T/top for Top, 2/B/bot/bottom for Bottom|
|Type||Surface or Through Hole||1/SMT/SMD for SMD, 2 for PTH|
|X-Size||X Dimension of the Part (mils)||Size of the Package, Measured By the Pad Footprint|
|Y-Size||Y Dimension of the Part (mils)||Size of the Package, Measured By the Pad Footprint|
|Value||Value of Part||10K, 0.1uF, ATMEGA328P-AU|
|Footprint||Footprint of Part||C0805, R0603, TQFP-100|
|Populate (optional)||Whether or not to populate this part||1 for populate, 0 for do not populate|
|MPN (optional)||The MPN for this part||MF-CAP-0402-27pF|
An example .XYRS file can be found here.
Importing Spread Sheet Bill of Materials
You can also upload an existing bill of materials in Microsoft Excel 2007 format along with a ODB++ file to the MacroFab system to automatically create the .XYRS file. After uploading, the system will attempt to automatically map your bill of materials to the corresponding MacroFab format required for assembly. If this fails you will be required to manually select the columns. The format for this file is fairly simple. You only need the parts designator and manufacture part number, but you can also include the package, populate, and value field.
Impedance Control Files
If your PCB requires impedance controlled traces then additional files are needed to correctly manufacture your PCBs. The information required are which traces are impedance controlled and the specifications of said traces. Which traces are impedance controlled can be shown in an assembly document, provided as a separate gerber file, or as an image with the traces marked. The specifications of the traces that are necessary is the resistance of the traces, trace width, and trace space.
For more information about our default PCB Stackups check out this article.
Traces to be controlled: Gerber File
Traces are to be 75 ohms ±15%.
Traces are 10mil and 10mil spacing
Layer is Top Copper