AP Circuits P1 HOWTO

MIThril, a borglab production. Richard W. DeVaul, Jonathan Gips, Michael Sung, Sandy Pentland
MIThril home

MIThril FAQ

MIThril wiki

Anduin window manager

MIThril Code

MIThril
hardware design

MIThril
project overview

The MIThril vision

MIThril diagrams

MIThril people

MIThril photos

Memory Glasses

MIThril Enchantment Software

MIThril
Real-Time Contxt Engine

MIThril IAP

Wearables Home Page

Here's a quick how-to on building PCBs using EagleCad and AP Circuits P1 prototyping service. Note that this document is not endorsed or approved by CadSoft or AP Circuits. At least some of this may apply to other CAD packages and board houses, but any of the information presented here could be out-of-date, or just dead wrong. Having said that, I hope you find it helpful.
Richard W. DeVaul, 13 Feb 2002.

Using AP Circuits P1 service you can get prototype PCBs fabricated in three days, e.g. if you place your order by 1pm Eastern Time on Monday, you get your boards by FedEx on Wednesday. AP Circuits also offers a two-day rush P1 service; it costs more and may not be available. Contact AP Circuits to ask about rush service if you need it.

Here are the steps for building your AP Circuits order with EagleCad under Linux -- the instructions should also work under Windows with appropriate command substitutions, etc. I assume you already know how to lay out boards using Eagle and know your way around basic shell commands.

  1. Make sure your boards pass ERC and DRC. The default values for the DRC are fine for AP Circuits (as far as I know). AP Circuits supports one drill-size smaller than the default minimum (0.020 rather than 0.024) but you probably don't care.

  2. Instructions for creating the board pannel:

    1. Unless you plan on only fabricating one type of board, you should build a multi-board panel; doing each separately would be inefficient and expensive. (NOTE: AP Circuits builds panels in multiples of two, with two being the minimum order.) Create a new empty board in the panel directory and name it using the date convention established there (panel[date], where [date] is a euro-style numeric date, day-month-year). Then, for each board that goes in the panel:

      1. Open the board in the board editor.
      2. Make sure that each board has "tick" (angle) marks at the corners in the top layer.
      3. Under display/hide layers, TURN ALL LAYERS ON.
      4. Draw a group around your entire board.
      5. "Cut" this group.
      6. Open the panel file.
      7. Paste the board into the panel.

      Keep all layers on while arranging the panel, so that you don't inadvertently leave something important behind (a drill hole, for instance) when you move a board. Add text to the top layer somewhere (this can be outside the boundaries of the panel) saying COMPONENT; this is so the AP Circuits folks have a sanity check for determining which layer is the top.

      VERY IMPORTANT: you must lay out your panel so it can be cut. Leave at least a 0.08" gutter between your boards.

      IMPORTANT: when you paste your boards into the panel, arrange them so that the panel may be broken cleanly in two each time it is cut. This will save you tremendous work and frustration by allowing you to use the board-breaker to divide the panel, rather than the band-saw or some other messy cutting tool. Remember, folks, FR4 is not something you want to breathe.

      Somewhat Important: While obeying the previous layout constraints, try to minimize the total panel area as this is the primary factor in determining fabrication cost.

      When you are done, run DRC one more time. I know, I know, you already did this for each board. BUT, when you built the panel you may have rotated something, and if that "something" contains text in a signal layer (such as comments on the top or bottom of the board) that text will be reoriented, and may result in a short or other design rule violation. You have been warned.

      Once your panel is done, measure it. Draw some lines in layer 47 the length and width of the widest and tallest bits of your board. Use the information tool to find out just exactly what these dimensions are. You will need them when building the orderform.txt file.

    2. If you are doing a single board, go back and read step 2a, pretending that your panel is the single board. You don't need to worry about the multi-board layout issues, but you do need to add the COMPONENT text and measure the board.

    3. Follow the instructions in "gerber.txt" (in this directory) for building the Gerber and Excellon files for the panel/board (hereafter to be referred to as the panel).

    4. Build an order directory named order[date] according to the instructions for AP Circuits P1 service, as specified on the web site. This directory should contain the following seven files:
           orderform.txt
           READ.ME
           panel[date].{cmp,drd,drl,sol,whl}
      
      The panel[date].* files should have all been generated by step 3. Make sure all of these files exist and are non-zero in size. If you have a gerber file viewer you can view the board layer files to see if they are sane. If you don't, it is possible to modify the default CAM job to produce PostScript output, allowing you to view your board layers with gostview or send them to a PostScript printer for preview.

      1. The orderform.txt file is a boilerplate form you get from AP Circuits. You can find example orderform.txt files in the panel/order[foo] directories. NOTE: you must know how large your panel is to fill out this form correctly, and you must provide valid shipping/billing information. YOU MUST GET THIS RIGHT if you want to have speedy service; errors in this file will slow the process down by at least a day. Make sure the file names for the various Gerber/Excellon files are correct.

      2. The READ.ME file is the "special instructions" file where you get to specify options like rush service or adjusting drill sizes. Check the drills you are using (specified in the *.drl) file against the list of available/free drills on the AP Circuits web site: AP Circuits doesn't stock metric drills, and you probably will want to make some adjustments to take advantage of the free drills. See the existing READ.ME files for examples.

      3. Once you are done twiddling the files, delete any editor backup files in that directory and use the zip tool to build the zip file, like so:
        	   zip ../order[date].zip * 
        
        This will dump the resulting zip file in the panel directory; when done, move it into the order directory to keep everything together for future reference.

    5. Upload the zip file to the AP Circuits anonymous FTP site. The order file should go in the apc_in directory; make sure you transfer it in binary mode. You also might want to call it something more personalized than order[date].zip when it gets there, just in case someone else is using the same date-based naming scheme. Here is an example of the FTP transaction; lines that start with "$" or "ftp>" are the prompts:
           $ ftp ftp.apcircuits.com
      
           Connected to apcircuits.com.
           220 apcwebserver Microsoft FTP Service (Version 4.0).
           Name (ftp.apcircuits.com:localrich): anonymous
           331 Anonymous access allowed, send identity (e-mail name) as password.
           Password:
           230-Welcome to Alberta Printed Circuits.
           230-
           230-Please leave your files in the apc_in directory.
           230-
           230-TCP Port = 21
           230 Anonymous user logged in.
           Remote system type is Windows_NT.
      
           ftp> cd apc_in
           250 CWD command successful.
      
           ftp> bin
           200 Type set to I.
      
           ftp> hash
           Hash mark printing on (1024 bytes/hash mark).
      
           ftp> put order160601.zip devaul.zip
           local: order160601.zip remote: devaul.zip
           200 PORT command successful.
           150 Opening BINARY mode data connection for devaul.zip.
           ####################################################################
           ####################################################################
           ########################################################
           226 Transfer complete.
           197183 bytes sent in 3.98 secs (48.4 kB/s)
      
           ftp> quit
           221 Thank you for your order, have a nice day.
      
    6. Send email to staff@apcircuits.com saying something like:
           Dear AP Circuits Representative:
      
           Please accept my request for RUSH P1 processing of rdevaul.zip,
           located in the apc_in ftp directory; I am willing to pay the
           additional cost for same-day shipment.
      
           If rush service is not available, please notify me but process the
           order as standard P1 service.
      
                   Sincerely,
                   Richard W. DeVaul
      
    7. Two or three days later, your boards show up. Standard P1 service is three days; if you get the order in by 1pm Eastern on Monday you will receive the boards on Wednesday (with FedEx shipment). With rush P1 service, you get your boards the next day (assuming they can process your order) but you pay more.
    8. NOTE: Make sure there is someone to receive your order; this should not be a problem for weekday delivery, but if you are expecting your boards on Saturday your boards could get bounced back to the FedEx office, which can be very inconvenient (and defeat the whole purpose of the Saturday delivery).