pcb eda tutorial laboratory 3 addendum 1 design … lab-3.1, rev 0.8.0 page 1 university of...

25
Cmpe174 Lab-3.1, Rev 0.8.0 page 1 University of California, Santa Cruz Electrical Engineering Department PCB EDA Tutorial Laboratory 3 Addendum 1 Design Flow for the LPKF M60 Process: CircuitCam 6.1 EE174, Intro to EDA Tools S.C. Petersen 1. INTRODUCTION AND OBJECTIVES This addendum lab assumes familiarity with basic post-processing concepts discussed in lab 3, Gerbtool. Therefore, most of the orienting ideas developed there will be omitted and assumed here. You may want to review lab 3 before proceeding. This lab and lab 3 Addendum 2 are devoted to fully explaining the use of a specialized post-processing flow required to manufacture prototype PCB’s using the LPKF Protomat M60 precision milling / drilling machine. You must demonstrate knowledge and competence from these two labs before gaining permission to use the M60. This machine is a three dimensional “plotter” capable of making precision prototype printed circuit boards that requires specially formatted input files. Using generic Gerber and NC drill files, lab 3.1 discusses how to read these files into a post-processing program called CircuitCam, much like Gerbtool, that must be used to create a specialized output file required by the M60. The plotter itself is controlled by a dedicated tool called BoardMaster that subsequently reads this output from CircuitCam and uses it to operate the M60 and make a PCB. A good way to think of these two CAM tools is to assume the role of the classic boardhouse, where generic Gerber and drill files are always submitted. Here, though, they are run through a particular two-step processing sequence to etch and drill a milled PCB. I call this the “M60 process” to distinguish it from the photolithographic wet -lab process used by conventional board houses. The M60 process is so different from the photolithographic process, that you should be aware it is not simply a convenient way to avoid a conventional wet-lab board house. If you plan to only run several prototypes, then a conventional boardhouse is probably a better choice. For true prototyping with many potential revisions and considerable experimental work, for example, breaking out (or fanning out) small SMT parts for experimentation, the milling machine is a very good choice. You should know the major reason the M60 was originally acquired was to do RF prototype boards, which tend to be relatively simple but otherwise require precise traces, copper planes and part placements. Labs 3.1 and 3.2 are primarily meant to follow the Cadence EDA flow taught in EE174, but they can be used with any layout tool, like Eagle, capable of producing RS-274X Gerber files and an Excellon NC drill file. Even though CircuitCam is capable of processing RS-274D Gerber and their necessary aperture file, this format is considered obsolete and will be deprecated here; RS-274X combines them and is the only format discussed in this lab. Similarly, drill files can also be separated into two files: NC and tool list. Many board houses still require both, even though the tool list mapping is already contained in the single Excellon NC file. We will assume that you have used this capability in Allegro (aka Orcad) PCB to generate a single Excellon NC; CircuitCam will parse it correctly. 2. GENERAL DISCUSSION Before deciding to use the M60 milling process to make a PCB, you should wisely consider the trade-offs compared to using a convential quick-turn board house, like APC, Sierra Proto Express or 4PCB.com. Take into account the following regarding use of the M60 process: The PCB is limited to single or double-layer boards, typically 62.5mil FR4. Double-sided boards with vias (PTH or plated-through holes) will be unplated drilled holes only. Pads will appear on both sides of the board, but there will be no connectivity. This fact must be considered back in

Upload: vuonghanh

Post on 25-May-2018

224 views

Category:

Documents


3 download

TRANSCRIPT

Cmpe174 Lab-3.1, Rev 0.8.0 page 1

University of California, Santa Cruz

Electrical Engineering Department

PCB EDA Tutorial

Laboratory 3 Addendum 1

Design Flow for the LPKF M60 Process:

CircuitCam 6.1

EE174, Intro to EDA Tools

S.C. Petersen

1. INTRODUCTION AND OBJECTIVES

This addendum lab assumes familiarity with basic post-processing concepts discussed in lab 3, Gerbtool. Therefore,

most of the orienting ideas developed there will be omitted and assumed here. You may want to review lab 3 before

proceeding.

This lab and lab 3 Addendum 2 are devoted to fully explaining the use of a specialized post-processing flow required

to manufacture prototype PCB’s using the LPKF Protomat M60 precision milling / drilling machine. You must

demonstrate knowledge and competence from these two labs before gaining permission to use the M60. This

machine is a three dimensional “plotter” capable of making precision prototype printed circuit boards that requires

specially formatted input files. Using generic Gerber and NC drill files, lab 3.1 discusses how to read these files into

a post-processing program called CircuitCam, much like Gerbtool, that must be used to create a specialized output

file required by the M60. The plotter itself is controlled by a dedicated tool called BoardMaster that subsequently

reads this output from CircuitCam and uses it to operate the M60 and make a PCB. A good way to think of these

two CAM tools is to assume the role of the classic boardhouse, where generic Gerber and drill files are always

submitted. Here, though, they are run through a particular two-step processing sequence to etch and drill a milled

PCB. I call this the “M60 process” to distinguish it from the photolithographic wet-lab process used by conventional

board houses.

The M60 process is so different from the photolithographic process, that you should be aware it is not simply a

convenient way to avoid a conventional wet-lab board house. If you plan to only run several prototypes, then a

conventional boardhouse is probably a better choice. For true prototyping with many potential revisions and

considerable experimental work, for example, breaking out (or fanning out) small SMT parts for experimentation,

the milling machine is a very good choice. You should know the major reason the M60 was originally acquired was

to do RF prototype boards, which tend to be relatively simple but otherwise require precise traces, copper planes and

part placements. Labs 3.1 and 3.2 are primarily meant to follow the Cadence EDA flow taught in EE174, but they

can be used with any layout tool, like Eagle, capable of producing RS-274X Gerber files and an Excellon NC drill

file. Even though CircuitCam is capable of processing RS-274D Gerber and their necessary aperture file, this format

is considered obsolete and will be deprecated here; RS-274X combines them and is the only format discussed in this

lab. Similarly, drill files can also be separated into two files: NC and tool list. Many board houses still require both,

even though the tool list mapping is already contained in the single Excellon NC file. We will assume that you have

used this capability in Allegro (aka “Orcad”) PCB to generate a single Excellon NC; CircuitCam will parse it

correctly.

2. GENERAL DISCUSSION

Before deciding to use the M60 milling process to make a PCB, you should wisely consider the trade-offs compared

to using a convential quick-turn board house, like APC, Sierra Proto Express or 4PCB.com. Take into account the

following regarding use of the M60 process:

The PCB is limited to single or double-layer boards, typically 62.5mil FR4.

Double-sided boards with vias (PTH or plated-through holes) will be unplated drilled holes only. Pads will

appear on both sides of the board, but there will be no connectivity. This fact must be considered back in

Cmpe174 Lab-3.1, Rev 0.8.0 page 2

the layout tool phase. Vias can be implemented using special rivets (expensive) or wire soldered on both

sides and clipped with flush cutters; all of this must be done manually. Note especially that through-hole

sockets and other parts will require soldering on both sides so insure continuity. LPKF even has some

special conductive paste that can be oozed through the hole (available on their website).

The drill rack is limited to a small selection of available sizes. Currently Bels stocks only the following:

o 19.7 mil (0.5 mm) Drill, $5.50 (new Spring 2013)

o 23.6 mil (0.6 mm) Drill, $5.50

o 31.5 mil (0.8 mm) Drill, $5.50

o 39.5 mil (1.0 mm) Drill $5.50

If you require intermediate or larger sizes, they should be implemented by first drilling an undersize hole

using one of the three sizes noted above, and then enlarging them with convential twist drills on the drill

press.

Voids are created by removing copper using precision high speed end-mills. The closest feature spacing is

determined by the smallest available. Currently Bels stocks the following two sizes:

o 10 mil (0.25 mm) RF End Mill, $23.00 (lifetime of 9000 mm)

o 39 mil (1.0 mm) RF End Mill, $14.38 (lifetime of 9000 mm)

Therefore, you will have to change the usual 8 mil spacing constraints to 10 mils to avoid undercutting

adjacent traces or other features closer than 10 mils.

An additional special milling bit is needed to mil around the final PCB contour and thereby remove it from

the larger parent material. This bit is called a contour router and Bels stocks one:

o 79 mil (2.0 mm) Contour Router $14.38

The four drills, two end mills and necessary contour router is clearly an investment.

Two new EDA tools must be learned and mastered, along with concepts and idiosyncratic nomenclature

particular to the M60 machine.

Large regions absent of copper needing to be milled away are costly. This kind of voiding happens

automatically with a conventional photolithographic process, but has to be specifically setup and defined

using the 1.0 mm end mill here. Hence, large voided areas are expensive in terms of router lifetime and,

unless really needed, should be avoided.

There are no solder mask or silk-screen layers. This is a bare copper prototype-only process, similar to what

Alberta Printed Circuits offers with their basic no frills 24 hr quick-turn process.

Cmpe174 Lab-3.1, Rev 0.8.0 page 3

3. TUTORIAL PROJECT

Since our objective is to learn the M60 process and avoid getting bogged down by an overly complex design, this

lab departs from the earlier sequence by starting with a different design deliberately chosen for its inherent

simplicity. Hence, we will use a set of modified artwork and drill files that LPKF originally supplied with their own

poorly organized tutorials.

Before You Begin.

If you followed the CMPE/EE174 sequence, you should already be familiar with the Cadence flow directory tree.

Refer to Lab-1, sec. 3, for a review if you need to. Note the …pcb\artwork folder contains the equivalent of what

Allegro PCB or another layout tool would have already produced. We will use these as our starting point and add the

several files used by the M60 process in this same folder since these files are tied to a unique design in the same way

as Gerber or drill files.

…Tutorial - Top-level directory.

Appnotes - Relevant application notes, papers and references.

Design - Tutorial project folder containing any schematics and pcb layout files.

[project name & version]_LPKF

pcb - Board-level PCB files and colorviews.

artwork - Exportable Gerber and drill files.

Do not proceed to start working with the M60 process unless the following has already been done:

You are familiar and competent with PCB EDA tool flows and technology. Completing EE174 satisfies

this requirement.

The manufacturing phase is complete; all necessary RS-274X formatted Gerber and Excellon drill files

have been created with the M60 process in mind beforehand. This means DRC spacing contraints have

been adjusted, footprints and vias modified as necessary to accommodate the milling and drill size

requirements. In this lab, these are given to you and can be found in the pcb\artwork noted above.

Create an additional directory under the Design folder titled with LPKF in the folder name. For clarity, this is shown

in red. Note this is the same thing that was done in lab 3 (see lab-3, sec 3) where unique folders for aggregating files

associated with or going to a specific boardhouse were created and saved. This laboratory shows you how to create

the necessary files for the M60 process where all will be placed in the LPKF folder .

TIP: For those using a different toolchain, like Eagle, your folder tree will most likely be different. In this case, be

sure and minimally copy the Appnotes and artwork folder contents.

Loading and Learning Circuit Cam

Since UCSC has a license to use only one instance of CircuitCam, it is meant to be used on the computer in the lab

(BE138) where the M60 and BoardMaster are located. To facilitate learning the tool a version is available that can

be loaded and run without a license for 30 days. Download CircuitCam 6.1.1159 Setup.zip, explode it in a

temporary folder and proceed to install it. During the installation process be sure to not check the option to install

the “Alladi Hardlock Device drivers”. This feature isn’t needed, and if you forget to uncheck it the install will crash.

When the program is run for the first time, you should see CircuitCAM’s Activation Wizard that will appear and

prompt for licensing information. If not, select Help – Activate Program from the main menu bar. To get a 30 day

trial period of full-featured use, cut-and-paste the following credentials:

Serial Number: 09010100

License ID: EQ8GPCZSX0I11NCQE0WAM3JE7

Choose Next and proceed to the next screen and choose the online option to register. I this fails, go back to the

screen and select “Later”; the program will work for 7 days instead of 30.

Cmpe174 Lab-3.1, Rev 0.8.0 page 4

4.0 USING CircuitCam

GETTING STARTED – Begin by launching CircuitCam from the Start Menu or desktop icon (if present). This tool

has many toolbars (but fewer than Gerbtool), and they are all dockable. When all are visible they consume

considerable space, so we will turn some off and re-arrange the rest. I’ve moved all the default groupings onto the

desktop and snapped a screenshot so you can identify them. When docked, the white titles are blank so this is a nice

reference as I will be referring to particular icons by their group affiliation. I have selected and placed all but the

bottom five in the last row. These we won’t be using so they’re omitted and not visible.

Visibility is controlled by grouping in the checkbox shown. Access it by choosing View ->

Toolbars, or by right-clicking the mouse inside any visible toolbar. Since this is lab is

shared by many students, please don’t change these settings unless you need to, and please

don’t change the layout. I show them here in case they need to be restored, and to easily

associate groupings by name.

CIRCUITCAM’S TOOLBARS – A selected summary1 of what these major groups and what their icons are used for

follows. Learning how to use these is not important now, but know where to find them and what they do is:

Standard: These should be self-explanatory, dealing as they do, with conventional file, printing and viewing options

etc.

Unit / Grid:

The zero point is placed at the current anchor point position.

These two icons are mutually exclusive. They affect how the cursor postion is displayed at the bottom of

the screen. The first sets absolute coordinates mode, while the second sets relative coordinates mode.

These two icons are mutually exclusive. The first sets Cartesian mode, the second polar mode. Most of

the work you do will most likely use Cartesian coordinates. Remember, these are display modes, so

toggling between them has no effect on how objects are processed or placed.

1 Appendix-A includes a complete list of all toolbars from the CircuitCam documentation.

Cmpe174 Lab-3.1, Rev 0.8.0 page 5

This pull-down list is very useful. With it you can set the displayed mode to any of those shown. The C60

process has milling and drill sizes specified in metric (mm), so if your board design was created using

English units, like mils, then it can be advantageous to shift back and forth from mils to mm, for example,

to check and guage sizes. This is especially useful when checking drills. Changing units has no effect on

how objects are processed, simply the display is affected; very useful!

This pull-down list also affects only how objects are displayed. Avoid specifying absurd

resolutions since it just makes things more confusing. Realistic precision depends on what units are

selected from the list above. Again, only the display is affected.

CircuitCam has two icons and one pull-down list in this group controlling the grid:

The Show Grid icon toggles the grid on or off.

Snap to Grid enables or disables whether the cursor snaps to the grid or not. Note that when this is active, the

cursor position shown on the status bar only reflects the displayed grid spacing resolution and not the decimal

precision from the list noted above.

This truncated list doesn’t display properly, since it was programmed too narrow, but it allows us to

specify the displayed grid spacing. Note this list is not active unless the grid is visible.

The last icon in the group provides commands to edit points and segments.

Layer:

This important group controls how layers are moved, registered with respect to one another and individually

selected. It also associates particular M60 bits (mills and drills) with particular apertures.

The first two icons, Move Layer to Zero and Match up Layers won’t be discussed or used in this lab,

but they are typically used to work with imported Gerber layers for alignment purposes.

Pressing this icon opens the LayerView dialog window if it isn’t already open. If it is, of course, it does what

Cmpe174 Lab-3.1, Rev 0.8.0 page 6

you would expect: nothing. Why this icon is here is because the layer view window is accessed so often that it

serves as a convenient fast shortcut to get it on the screen. Whether it’s really useful depends on how you

have the desktop organized.

Shown left is the Active Layer list. Only one layer can be active at a time, and it can be

selected here or in the Layer View dialog window discussed later. The layer shown in this

listbar is always the active one, even it’s changed elsewhere. I will have more to say about

this pull-down list later, but only after we’ve discussed the layer view dialog window.

Note layers listed are typically not all of them, so you will have to scroll down to get to the

ones at the bottom of the list.

The Active Aperture / Toolist displays selections related to apertures and CircuitCam tools.

These same selections are also accessible in a different context from the Layer View dialog

window noted above.

The last pull-down list on the toolbar specifies what bit is to be associated with an aperture /

tool. Note these selections are shown in metric, and changing units has now effect on this.

LPKF’s M60 requires metric tooling, so only those available from the company are shown –

and these are all metric sizes. Note there are a few more spiral drills missing at the top.

Notice the absence of end mills in this list. There appear to be only drills and a single contour

router. The reason is this list is meant to assign tools with apertures meant only for through-

hole operations. For drills this is obvious, but the 2.0mm contour router isa special bit

designed to first drill all the way through using a milling action and then move laterally to

traverse the circumference describing the PCB “contour” or board outline. In other words, it

first drills and then cuts out the PCB.

Cmpe174 Lab-3.1, Rev 0.8.0 page 7

When first booting the program, the full-screen layout should be similar to what you see shown below. If not, re-

arrange things until it is. Note the location of the various toolbars and the two tabbed vertical windows on the left

side. The top one has three tabs: Layers, Tools, and Jobs. The lower one has two tabs: Properties and Set Cursor.

The top window in particular will be used frequently.

The cross-hair’s position can be set to indicate relative or absolute position in

whatever units are being used (currently this is inches) at the right side of the Status

Bar along the bottom. If this bar isn’t visible, it can be toggled on by choosing main

menu sequence View -> Status Bar. Selecting the Set Cursor tab shows the options

available. Also, the white “X” in the work area always denotes the origin at (0,0).

Zooming in and out is done with the scroll wheel on the mouse.

Cmpe174 Lab-3.1, Rev 0.8.0 page 8

4.1 IMPORTING DESIGNS

ARCHITECTURAL OVERVIEW – CircuitCam uses a layering scheme that includes a block of layers, some of which

you are already familiar with, and some you are not. The following screen shot shows all 30 of CircuitCam’s default

layers. I’ve expanded them so all the layer and column names display legibly. Become familiar with how the columns

work by their symbols, since the names are typically truncated when actually working with this form. These are

better discussed after some actual data is loaded and processed. Suffice to say at this point that the two colors for

each layer in the Colors column denote color assignment for flashes and draws – just as Gerbtool does, and the True

Width and Outline columns affect how objects (draws and flashes) are displayed. The Selectable column governs

whether layers are locked for editing or not. The conventional layers you are already familiar with are: 4, 5, 10, 19,

22, 26 and 27. The remaining layers are all unique to CircuitCam and BoardMaster.

Cmpe174 Lab-3.1, Rev 0.8.0 page 9

Let’s pause for a moment and reflect on what it is we want CircuitCam to do for us. First, it must read our Excellon

drill file and tool list (aka “drill rack”), allow us to re-assign drill sizes if needed, and then drill precise holes.

Second, it must read conventional RS274X Gerber files and figure out how to tell a vertical milling machine, the

M60, precisely how, at what depth, and where to remove copper so only wanted traces, pads and copper areas

remain. A milling bit having a finite diameter must be used to do this. In CircuitCam, the process of calculating the

actual path from input Gerber data for each milling bit used is called Insulating the layer. Our board has two etch

layers: top and bottom. So the process of insulating them is accomplished by translating the NC data from their

respective conventional source layers and mapping each to a block of one or more special-purpose layers, aptly

named insulation layers. These custom layers contain the translated NC milling instructions to accurately guide

various sized milling bits.

It should be evident, then, that insulation regions are conceptually identical to voids in Allegro PCB. Moreover,

larger voids, usually defined by etch keepouts in Allegro, are called Rubouts here in CircuitCam. Rubouts must be

manually created and will not carry over from Allegro.

Example for the Top Layer - From the convential top etch layer, TopLayer, a block of six uniquely-named custom

layers will contain all the data necessary for the M60 process.

InsulateTop_Bigger

InsulateTop_Big

InsulateTop_Std

InsulateTop_Small

Rubout_Top

FrameTop

The first four are dedicated to insulating traces and pads. Rubbing out a region does not typically include traces, so a

larger milling bit can be used and its edge accuracy can be less. It only has to overlap the precise insulated regions

already cut by one of the four insulate top operations. Just to be clear, the technique used is to first insulate all draws

and flashes using a precise small end mill. Possible rubouts that follow can then proceed with a much larger, but less

precise, end mill. In this lab, traces (draws) and pads (flashes) are insulated with a 10 mil (0.25mm) end mill, and

possible subsequent rubouts wit a 39 mil (1.0 mm) end mill.

The last one is FrameTop. It defines areas requiring special insulation treatment and will not be discussed further in

the this lab, since to effectively use it requires small end mills that are currently not available, for example 4 or 6 mm

end mills.

Why four layers to insulate traces and pads and not just one? Accuracy and tool lifetime are the reason. The idea is

that we electively associate a single routing bit with each layer. In our case, we will be using two bits: 10mil

(0.25mm) and 39mil (1.0mm) and associate them with the InsulateTop_Std and InsulateTop_Big layers

respectively. Separating the layers this way makes them much easier to manage as a manufacturing process and

keeps us organized about what we’re seeing and doing. Ok. So why don’t we just use our 10mil bit for everything?

Milling large insulation areas wider than 10mils means the end mill has to travel sequentially and overlap a

previously cut insulated region by some amount. Clearly, large planar areas will require many passes and

prematurely wear out the tool. Thus, narrow detailed regions, those adjacent to traces and pads, are machined using a

small accurate tool and larger areas, particularly rubouts, with the bigger less accurate tool. By “accuracy”, I am

referring to the quality of the copper edge (trace or pad) left behind by the end mill. Smaller bits result in much more

precise and accurate edges. By choosing different combinations of the True Width and Outline properties, we can

readily see precisely what the insulation operation will entail. After loading some Gerber data and running the

insulation algorithms, you can play with these properties to see how it all works.

Cmpe174 Lab-3.1, Rev 0.8.0 page 10

INPUTTING GERBER AND DRILL DATA – We will begin by loading a modified version of one of LPKF ‘s tutorial

designs2. Choose menu sequence File → Import, or use the more convenient icon on the Front-End

toolbar.

Navigate to the pcb\artwork folder and select all four files found there. These should be the same as shown at left.

CircuitCam will respond by processing all four files. If successful, you should see the Import

window shown below with the Graphic tab sub-window by default. Our task at this point is to check

these imports for correctness and then assign each to one of CircuitCam’s conventional layers. Objects in the

Graphic window generally will display as white until the layer has been assigned to an existing pre-defined

conventional layer also associated with some particular set of colors, one for flashes, the other for draws.

This set of steps is all about sanity checking. For each file, be sure the Size x,y values make sense.

2 LPKF discusses several scenarios presented as awkward and confusing tutorials. Most are poorly organized and difficult to

follow, each committing the usual errors: a bottom-up with too many details and numerous loosely connected factoids. These are

integrated within their single Manual, CircuitCAM 6.1.pdf (I placed it in the Appnotes folder). Though, as a reference manual

without the distracting “tutorials”, it’s pretty good.

Cmpe174 Lab-3.1, Rev 0.8.0 page 11

Beginning with one of the Gerber files, we’ll use the bottom layer, select it and press the Text tab. The result of the

input processing step on this RS274X Gerber file will display. It will show the actual translation results generated by

CircuitCam for its internal use. It is useful for verification and troubleshooting.

CircuitCam also creates a set of D-Codes from this layer and places it in “GerberDefault1”. View them by selecting

the Apertures tab. In the screen shot, I have also selected D11 and picked the Attribute tab to see what it is. You

may notice that these are all in mils with apparently goofy values. The reason is the original file was in metric and

Cmpe174 Lab-3.1, Rev 0.8.0 page 12

these are being displayed after converting to mils. Changing the units would cause this to display differently, but

must be done before this window is opened since it is modal and won’t let you change the focus until it’s closed.

You could, if you wanted, just cancel, change units and start over and the original metric quantities would appear. I

recommend you set the units to whatever the source files use, since this makes it easier to check the import for

correctness.

Now select the Graphic view to once again show the white objects on this layer and then assign the processed

bottom.art data to the convential

BottomLayer. Do this by

scrolling through the default list

in the Layer / Template column.

Be careful to map these

correctly. CircuitCam uses

particular names to integrate with

BoardMaster, so even though

new layers can be added and any

name can be edited, don’t

change these or there will be problems later on. Thus, here for example, “BottomLayer” should be treated as a

reserved layer name. Once a selection is made, the graphic view will display colors assigned to that layer; here,

BottomLayer should appear green. Follow the same procedure for the other two Gerber files. For reference, the

final Gerber assignments are:

bottom.art → BottomLayer

mech.art → BoardOutline

top.art → TopLayer

Importing the Drill File - The nc drill file requires special handling. Select the file as shown

above and you can see what I mean; observe the Godzilla sized drills! This is caused by an

incorrect Excellon m:n format. This can be fixed by experimentally changing the decimal

precision parameter, n until it’s correct. Try scrolling through them while simultaneously

observing the graphic window’s reported Size x,y values, and visually watching the screen;

Cmpe174 Lab-3.1, Rev 0.8.0 page 13

finally select the proper precison of 3 by concluding the Size x,y extents are correct and the window looks right. Use

your judgement here, although the correct setting should be obvious.

The result of using the correct m:n precision is shown below. Note I have also gone ahead and mapped nc.drl to

CircuitCam’s reserved conventional layer: DrillUnplated. Looking over the possible layers, you might have noticed

that we could perhaps have chosen DrillPlated. Since we can’t produce PTH vias, unplated is the proper choice.

This will have consequences later when we use this data in BoardMaster to set up the drilling phase of operation.

At this point, you should have successfully loaded all files necessary for the M60 process. The next step proceeds to

build the insulation layers, check drill sizes and export to BoardMaster.

Before moving on, save your current work. Select menu sequence File → Save As, give it an appropriate name,

“lab3.1”, and be sure to save it as a type *.CAM CircuitCam file. Reload this file at any time to pick up where you

left off. It is functionally the same as Gerbtool’s *.GTD format.

Cmpe174 Lab-3.1, Rev 0.8.0 page 14

4.2 PROCESSING DESIGNS

INSULATION AND CONTOUR ROUTING – The screen shot following shows the four layers immediately after

importation. Note the relative size of the cyan drills. This is a further sanity check on the m:n Excellon drill settings.

At this point you should experiment with the Layers view to get familiar with its features. You may want to refer

back to page 8 where this form is shown with all column labels clearly readable. Do the following:

Toggle the Show All Layers icon. The screen shot above shows it set to show only non-empty layers.

Clicking on a green checkmark will make a layer hidden and toggle the

icon to a red check. Clicking on the red check will reverse this and again

make the layer visible and indicate so with a green checkmark. There is a subtlety here though. Notice the

BottomLayer is hidden and the dotted box in the selectable column has red dash denoting it as unselectable. This

happens automatically whenever a layer is made hidden after toggling the green check. However, a visible layer can

be made deliberately unselectable by clicking on the dashed box directly. Thus, we could make the DrillUnplated

layer unselectable but remain visible. This most useful when moving or deleting objects on particular layers while

keeping all visible. Experiment with all of these fields, including the True Width, Outline and Colors fields.

Working with the Board Outline – While setting different layers visible, you may have noticed the board outline

appears on all three Gerber layers, Top, Bottom and and BoardOutline. This was done purposely to show how to

delete or move objects between layers. We’ll re-create the scenario of a hypothetically empty board layer by deleting

the existing board outline and then moving the same object from either the top or bottom layers. The goal is to find

the board outline on some other layer and move it over to the reserved BoardOutline layer for CircuitCam’s use.

First, make the BoardOutline active. There are three ways to make a layer active:

1. Use the pull-down Active Layer list in the Layer Toolbar. Useful when the layer is hidden, since it will away

appear in the pull-down listbox.

Cmpe174 Lab-3.1, Rev 0.8.0 page 15

2. Click on the layer in the Layers view (it must be visible) and press the Enter key or right-click and select the

Make Active item.

3. Hold the Alt key down and double-click the layer’s name in the Layers view (it must be visible).

Having done this, select it with the mouse (click it anywhere). It should now be highlighted as shown below. Hit the

Delete key and it will disappear. Since this layer is now empty it too will also disapper from the list.

What we want to do now is make the TopLayer active and visible, then select and move only the board outline object

over to the BoardOutline layer. The following screen shot shows this with the outline selected and all layers made

visible with the ShowAll Layers icon so the wanted but otherwise hidden BoardOutline layer can be seen.

Cmpe174 Lab-3.1, Rev 0.8.0 page 16

We’ll now use a very nice feature of CircuitCam: Any selected objects on an active layer will automatically be

moved to any layer that is then subsequently made active. Using any of the three techniques noted above, proceed to

make the BoardOutline active. In this example, I used the Alt double-click method. The actual board outline object

should now appear once again on the BoardOutline layer. Confirm that it has indeed been moved.

Contour Routing the Board Outline – There is no particular order to these tasks, so I’ll begin with setting up the

contour router that must be defined on one of the special layers. We’ll use the board outline to generate a routing

path for the 79mil (2.0mm) Contour Router and place this on layer 17, CuttingOutside layer. Note that we have a

choice of cutting on the outside or inside of the reference path; i.e., we could have selected layer 18, CuttingInside,

but for this job the outside is the correct one. You might use the inside option, for example, to cut away a region

inside your PCB; these are typically called slots or cutouts.

Do this by making the BoardOutline the active layer,

select the board outline object as before and

press the Contour Routing icon on the Front-

End toolbar. This will bring up the Contour

Routing dialog.

This form has a number of options. Once you understand

what’s going on, it’s easy to modify how the generation

algorithm is run. I set things up very conservatively so

it’s hard to make a mistake. Later you can experiment

with this if you like, but for now define things as shown.

For more details on this dialog and its option, refer to

section 6.1 in the CircuitCam documention.

Selecting Run will cause the contour path to be calculated

and placed on the CuttingOutside special layer shown

below with only the BoardOutline and new

CuttingOutside layers visible. Notice the thin yellow

trace inside the thick 79 mil contour trace, confirming we

did this correctly as an outside milling operation.

Cmpe174 Lab-3.1, Rev 0.8.0 page 17

Creating Breakouts – Notice that if we ran the contour router now the PCB would probably dangerously be

“thrown” when it becomes tenuously connected to the parent material. To avoid a catastrophe, several breakout tabs

must be included in the contour router’s path to keep it dimensionally stable. Thus the board is deliberately left intact

at these points after the milling operation, and then carefully cut out with a sharp hack saw. Here’s how to do it:

1. Make only the CuttingOutside layer visible and active; everything else should be hidden3 and therefore

unselectable.

2. Select the new continuous mill contour path (click it).

3. Position the mouse at each point you want a breakout to appear and select it by clicking the mouse. An

asterisk will appear at the point. Typing CTRL + G (case doesn’t matter) will then create the cutout.

CAUTION: Don’t hold down the key combination so it repeats or it will make a mess! Instead of

using CTRL + G, the Breakout Tab icon can be used instead. It is only selectable when an anchor

point using the mouse or + / - keys are used.

The result of this procedure reveals that I choose four points (a good choice). Alternative locations would be the four

corners; location, of course is up to you. Although two breakouts are minimally required, I recommend at least four

on reasonably sized boards. Unless you are already skilled, stick with the four tabs. After running few actual PCB’s

you’ll know how many and where to place them. Don’t use less than two under any circumstances.

After milling your PCB, the descriptive label “breakout” doesn’t mean that you literally bust these narrow points of

connection by twisting and pulling. Rather, I have provided a single-ended 32TPI (teeth-per-inch) hacksaw for the

express purpose of removing boards. Be sure to position the breakout tabs at point that can easily be reached with the

hack saw. The sawblade itself is about 26 mils wide and easily fits in the milled contour.

A few additional points worth considering:

The Tab Width number field within the Breakout sub-panel on the Contour Routing form specifes the width

of the “tabbed” material left between the router passes at each breakout point. Don’t change this value

unless you have a good reason and know what you’re doing.

Breakouts can also be placed using the + / - keys to position the breakpoints.

3 Having everything else hidden isn’t strictly necessary, but it de-clutters the screen when learning how to do this.

Cmpe174 Lab-3.1, Rev 0.8.0 page 18

Insulating the Top Layer – Make the top layer active and the only one visible. Remove any text found there as

well as the board outline (it should have been moved by this time!). If you must have text, it must be moved or

created on the TextTop layer to avoid having it insulated like traces and pads. The default text found on the top layer

can easily be removed by dragging a window around it with the mouse and pressing the delete key (it could also be

easily moved to the TextTop layer had you intended to use it). Any mistakes can be cleared with the usual Windows

CTRL + Z combination; this will usually undo the operation, but I don’t know how deep the history stack is.

With text and board outline removed, proceed to select the trace shown with the mouse. Notice the properties

window tells us what this is: among other things, it is a 59 mil draw using aperture D-code D14. This feature, having

the Properties window always open below the Layers window, is a great convenience at this stage, since we often

want to confirm sizes of objects and clearances between them. Selecting a few other objects, we quickly conclude the

minimum trace width on this layer is 12 mils. Distances can be measured by following menu sequence Edit →

Measure (or the more convenient hot key: Shift + X). The status bar will add an annunciator telling you the distance

between any two points. A screen shot of

where I think the closest feature spacing

can be found on this layer shows the

trace-to-pad distanceon the DIP package

in the lower left region of the layer

reveals it to be about 13 mils. Note that

changing the display units and resolution

is possible, particularly if you wanted

mm instead of mils. Try it!

We conclude after checking clearances

that this layer can be insulated using the

10 mil end mill, so we’ll proceed to do a

first pass at creating the insulation tracks.

Cmpe174 Lab-3.1, Rev 0.8.0 page 19

First, we need to be sure the insulation parameters are set correctly. Bring up the tabbed Insulate dialog to review

and set things; follow menu sequence Toolpath → Insulate. Set the parameters as shown. Disregard the Advanced

tab, I’ll discuss that later. Remember

that Our “Standard” milling size is a

precision 0.25mm (10 mil) end mill

and the larger size is 1.0 mm (79 mil).

Therefore, make sure these two are

defined properly. The Layout Tracking

buttons register the preferred raster

scan milling direction and should be

selected based on visual inspection of

traces on the layer. After setting these,

press Run. CircuitCam will proceed to

calculate the insulation paths and put

them on the InsulationTop_Std layer

for any 10 mil routing and

InsulationTop_Big for any 39 mil

routing. Based on what we’ve done so

far only the 10 mil router will be used

for the traces and pads.

The result of the run is shown below. Note the addition of the new insulation layer to the non-empty list. Zoom in

and play with the visibility settings to accurately ascertain what the 0.25mm router will be doing. In particular, look

at the four combinations of the True Width and Outline settings:

Router track is displayed as single lines only.

Router track is displayed in its true width (10 mils).

Router track displays without color fill in outline only.

Router track is displayed with color fill.

For example, the screen shot right shows the true line width of 10 mils

without color to cleary reveal the path of the end mill. Always inspect

the insulation result to make sure it makes sense before proceeding.

Cmpe174 Lab-3.1, Rev 0.8.0 page 20

Adding a Rubout Region on the Top Layer – CircuitCam provides two ways to specify rubout regions, separately

for the top and bottom, or together where a single region applies equally to both. We’ll begin by adding a rubout

region to only the top layer. Shown is a void I want to add around and beneath the DIP package in the lower-left

corner. To do this, as you might suspect, the special milling operation will involve the 39 mil (1.0 mm) end mill and

should therefore end up on the InsulateTop_Big layer. To do this first set rectangle mode by pressing it on the Insert

toolbar (shown just left at the top of the white cross-hair; when active it will have a square hightlight around it).

Then follow menu sequence: Insert → Rubout Area → Top Layer, or use the icon from the Prototype toolbar.

This will change drawing modes allowing you to define one or more rectangular regions. Draw the rectangle

shown by selecting a starting point as an anchor then moving to the opposite corner. Finish by clicking the

mouse and hitting the ESC key.

Since earlier we specified the two router sizes, we can run or re-run the insulation algorithm using the

Insulate Top Layer icon on the Prototype toolbar. Pressing this will run everything. Do this now.

After the new insulation run has completed you should see the region employing the larger router bit whose path is

specified on the InsulateTop_Big layer – as we expected. Moreover, the graphic area we actually drew was specified

on the special layer RuboutTop. You should zoom in on this new region and see how these two routers remove all

copper. I have shown them both in line mode to better delineate the router paths. Particularly notice how much more

efficient the larger bit is in removing large areas of copper and how the router pass around draws a flashes are always

done with the more

precise 10 mil tool.

Cmpe174 Lab-3.1, Rev 0.8.0 page 21

Insulating the Bottom Layer – Follow the same procedure previously used for top layer. First, though, change the

units to mm (millimeters) and bring up the Toolpath → Insulate dialog as shown. I want to explain how the two

Width parameters work. These specify insulation clearances for draws and flashes. Scroll through the Standard sizes

and notice the Base (All) value will

automatically be set to the selected end

mill’s diameter. This can be made

larger, but not smaller, since the first

single pass will always exactly equal the

selected mill size. Making this larger

means additional passes will be made to

widen the initial cut. The Special (Pads)

setting specifies clearances around

flashes, typically pads. Don’t make the

Base larger than the milling size unless

you have a sood reason; it just adds

unnecessary wear and tear to the narrow

tool bit. Experiment with these values

now and see how CircuitCam renders

them. I’ll show you a few examples from

the bottom layer

Case 1: Base = 0.25 mm, Special = 0.25 mm

InsulateBottom_Std is shown in line mode to reveal that a single path was followed once about all objects, whether

draws or flashes.

Cmpe174 Lab-3.1, Rev 0.8.0 page 22

Case 2: Base = 0.25 mm, Special = 0.5 mm

InsulateBottom_Std still in line mode now reveals that a single path was followed for all draws (traces), but 3 passes

were needed to mill the minimum insulation width to 0.5 mm for all flashes (pads). Notice that three passes were

needed, not just two since each one required some overlap with the previous.

Finish insulating the bottom layer with Base and Special both set for 0.25mm. Note that once tools have been

defined and the Base and Special parameters have been set on the Insulate dialog, you can use the Insulate

Bottom Layer icon on the Prototype toolbar.

Insulating Top and Bottom Layers – If you know how you want both layers to be insulated, you can visit the

Insulate dialog once, set all parameters for both layers and run or re-run both of them anytime by using the Insulate

All Layers icon on the Prototype toolbar.

Rubbing out Top and Bottom Layers – Earlier you created a rubout region on the just the top layer. Sometimes we

want a defined void like this to be defined and applied to both the top and bottom simultaneously, where the two are

registered or aligned equally over each other. This can easily be done by putting them on the RuboutAllLayer by

using the follow menu sequence: Insert → Rubout Area → All Layer , or use the icon found on the

Prototype toolbar.

Cmpe174 Lab-3.1, Rev 0.8.0 page 23

4.3 PROCESSING DRILLS

INSULATION AND CONTOUR ROUTING – We actually have little to do in CircuitCam after successfully loading the

Excellon drill files except to check the tool list and decide what drills will actually be used later in Boardmaster.

The best way to do this is to review your design by noting which tool sizes are assigned to holes on your PCB. This

should be both a sanity check and a review to figure what M60 drills are best for each tool in the drill list.

First, open only the DrillUnplated layer for display and be sure it’s selectable. In practice, you may want to turn on

and off other layers, like the board outline and top or bottom, or just leave them on to better guage how the holes are

used. Here, I’ve arbitrarily selected the largest drill size.

Carefully look over the

Properties window. It tells

us only that it is mapped to

tool T3. To find the

associated size, immediately

press the Tools tab, scroll,

select and expand the

Excellon menu item as

shown following.

The submenu

NcDrillDefault displays the

tool-list or “drill rack” with

T3 highlighted

automatically. We see that

T3 specifies an actual drill

of 35 mils. I set the display

to inches and decimal

precision to 3 places so I

could review these in drill

sizes I understand. In metric

they map as follows:

T1: 0.024 mil (0.6 mm)

T2: 0.028 mil (0.8 mm)

T3: 0.035 mil (0.9 mm)

Cmpe174 Lab-3.1, Rev 0.8.0 page 24

CircuitCam’s Excellon drill tool list will later appear in BoardMaster as numbered “pens”; these are noted below in

the lookahead screenshot. All must be mapped to actual drills in BoardMaster. The screenshot is taken from

BoardMaster showing the tool assignments, each as a specific Pen. Note that only metric sizes are displayed.

Remember the LPKF M60 is a metric machine, so all actual tooling is denoted in metric sizes. Among the three

sizes only T2 and T3 need to be re-assigned, since we don’t have 0.7 mm or 0.9 mm drills. The general rule is to use

the next smallest size if it’s available. Thus T2 will use the 0.6 mm drill and T3 the 0.8 mm drill – sizes in our drill

rack. I will show you how to do this in lab 3.2.

Cmpe174 Lab-3.1, Rev 0.8.0 page 25

4.4 EXPORTING THE M60 FILES TO BOARDMASTER

At this point, we are done and ready to move on to lab 3.2. Save your current design as lab3.1.cam and proceed to

export it to BoardMaster.

CircuitCam will generate a special formatted export file in LMD format for later reading into BoardMaster

by simply pressing the ExportLPKFCircuit Board Plotter icon on the Prototype toolbar, or by following

menu sequence: File → Export → LPKF→LpkfCircuitBoardPlotter.

But there’s one catch. Any layers that happen to be visible will be included in the export operation. Therefore, you

must specify the correct layers to avoid later confusion. The screenshot following shows which layers need to be

included for this tutorial. Specify these now, press the export icon and CircuitCam will create the file with the same

name as the current CAM file; it should be lab3.1.LMD.