PCB
PCB
PCB
Milling Machine
RAJA GANAPATHI
DAPHNE. R
All rights reserved. No part of this publication may be reproduced, distributed, or transmitted
in any form or by any means, including photocopying, recording, or other electronic or
mechanical methods, without the prior written permission of the publisher, except in the case
of brief quotations embodied in critical reviews and certain other noncommercial uses
permitted by copyright law. For permission requests, write to the address below.
TABLE OF CONTENTS
1. Introduction ........................................................................................3
8. Conclusion ........................................................................................42
APPENDIX
DATASHEETS
BILL OF MATERIALS AND PART SUPPLIERS
PAPER PUBLICATION ON THIS PROJECT
Teaching Learning Centre for Design and Manufacturing Education
1. INTRODUCTION
The need for fabricating a prototype circuit arises frequently in electronics, including education and
research laboratories. In resource-poor countries in the developing world, this is hindered by the high cost
of commercial Printed Circuit Board (PCB) prototyping machines and long turn-around commercial
fabrication process. Practical, hands-on laboratory teaching and experimentation becomes necessary to
improve learning in electronics. In this project and in the following series of tutorials, a low-cost build-
your-own (BYO) semi-automated three-axis PCB milling machine for double-sided PCB prototyping is
developed using commercial components and open source hardware and free open source software to
provide students, teachers, and engineers an understandable, affordable source for PCB prototyping. Also,
the main problems encountered during fabrication of PCB have been mentioned and the techniques used to
solve are discussed in detail.
Development of safe and high resolution milling and drilling of PCBs is enabled using isolation
routing which overcomes many of the above mentioned drawbacks. In Isolation milling, the copper
from the board is first removed to recreate pads, which are signal traces and structures based on the
pattern generated by a PCB parts layout file.
3
Teaching Learning Centre for Design and Manufacturing Education
In this project, a BYO PCB prototyping machine has been developed and deployed to make both
single- and double-sided boards for through-hole technology and Surface Mount Technology (SMT).
The common problems encountered while soldering the components on the PCB and aligning the
board layers have been discussed. Modern and innovative approaches used on an industrial level to
overcome these problems have been implemented in our machine and studied. Commercial techniques
used in easy and comfortable operation of PCB prototyping machines have been incorporated in the
machine.
The above features have been implemented using open source software programs so that teachers and
students themselves would be able to fabricate high-resolution PCBs in an academic environment
matching near-commercial quality. A major advantage of the proposed system is that users can
maintain and repair the machine on their own, without expensive annual maintenance contracts or
import of costly spare parts. With the understanding and experience gained, the users can also
gradually add advanced features like fully automated PCB machines with pick and place assembly,
vision feedback, etc.
found in that.
The main specifications of the milling machine are listed below:
4
Teaching Learning Centre for Design and Manufacturing Education
A camera is mounted parallel with the spindle axis using a as shown in the below figure. A high speed spindle
motor of RPM 5000 is used and is powered by the 24V uniform supply from the SMPS used for CNC. The
milling and drilling tool bits are mounted to a high speed spindle motor with a precision ER-11 chuck which
holds bits with 1/8 shank dia. A 30° V-engraving bit with end width of 0.1mm is used for routing. A 0.6mm
single-fluted drill bit is used for making holes and a 0.6mm end mill bit is used for copper rubout and for cutting
sections of the boards. All the tool bits used for the operation are made constant in their height by adding a
depth setting ring. All bits used are tungsten carbide bits because of their extended tool life.
Rest of the machine settings and tools used in this PCB milling machine are same as the generic CNC milling
machine explained in the previous tutorial.
5
2. Installation and Configuring EAGLE
2.1. Download & Installation.
EAGLE is available on Cadsoft’s download page https://www.autodesk.com/products/eagle/overview.
Please download the most recent version that matches your operating system (the software is available for
Windows, Mac and Linux). It’s a relatively light download – about 45MB.
EAGLE installs just like any ordinary .exe program, it’ll self-extract and then present you with a series of
dialogs to configure the installation.
Note: Few contents of this manual have been excerpted from Official Eagle Manual. For more detailed
instructions, you can look up the Documentation page of eagle.autodesk.com.
The alternatives used in the place of Eagle are Fritzing, KiCAD, Cadense OrCAD and Proteus PCB Design
mostly. While the former two are open-source the later too are professional but highly commercial. Eagle
has been found to be ample enough for designing even complex PCB boards unless they are very much
multi-layered like covering 8 layers or so. However, there are a few limitations when using the free
version:
Your PCB design is limited to a maximum size of 100 x 80mm of PCB board area, which is still
pretty big. Even if we’re designing a big Arduino shield, we would still be under the maximum size.
Only two signal layers allowed. If you need more layers check into the Hobbyist licenses.
Can’t make multiple sheets in your schematic editor.
If you need to upgrade your license there are a few versions available. Most licenses are still incredibly
low priced.
6
2.3. Exploring the Control Panel
The first time you open up EAGLE, you should be presented with the Control Panel view. The Control
Panel is the home window for Eagle, it links together all of the other modules in the software.
You can explore the six separate trees in the control panel, which highlight separate functions of the
software:
Libraries – Libraries store parts, which are a combination of schematic symbol and PCB footprint.
Libraries usually contain a group of related parts, e.g. the atmel.lbr stores a good amount of Atmel
AVR devices, while the 74xx-us.lbr library has just about every TTL 74xx series IC there is.
Design Rules – Design rules are a set of rules your board design must meet before you can fabricate
your PCB. In this tree you’ll find DRU files, which are a pre-defined set of rules.
User Language Programs (ULPs) – ULPs are scripts written in EAGLE’s User Language.
ftp://ftp.cadsoftusa.com/eagle/userfiles/doc/ulp570_en.pdf. They can be used to automate processes
like generating bill of materials (bom.ulp), or importing a graphic (import-bmp.ulp).
Scripts – Script files can be used to customize the EAGLE user interface. In one click you can set the
color scheme and assign key bindings.
CAM Jobs – CAM jobs can be opened up by the CAM processor to aid in the creation of gerber
files.
Projects – This is where each of your projects is organized into a single project folder. Projects will
include schematic, board design, and possibly gerber files.
7
2.4.1: Downloading the Additional Libraries
The most recent version of the libraries of different manufacturers can always be found in their website or
in their respective GitHub repository. Here’s how you can install and use the SparkFun libraries in addition
to) the default ones. All you’ll need to do from the main repository page is click “Download ZIP” as
shown below and extract them.
In the “Libraries” box is where we’ll add a link to the directory where the downloaded EAGLE libraries
are stored. There are a few options here. If you’d like to keep the default libraries and add the downloaded
8
SparkFun library, add a semicolon (;) after “$EAGLEDIR\lbr”, and paste the downloaded EAGLE
Libraries directory location after that.
Then, right-click on the “SparkFun-Eagle-Libraries-master” folder, and select “Use all”. Then check the
libraries in each of the two folders. Next to them should be either a grey or green dot. A green dot next to a
library means it’s in use, a grey dot means it’s not. Your libraries tree should look a little something like
this in the below picture. Similarly download the ITEAD Eagle library for basic parts.
9
2.5. Opening a Project and Exploring
EAGLE is packaged with a handful of example PCB designs. Open an example by expanding the
“Projects” tree. From there, under the “examples” folder open up the “arduino” project by double-clicking
the red folder (or right-clicking and selecting “Open project”). Note that, in this view, project folders are
red and regular folders are the standard yellow.
Opening the project should cause two more EAGLE windows to open: the board and schematic editors.
They should be used together to create the finished product that is a functional PCB design.
10
Schematic (left) and board editors both open.
The schematic editor (on the left above) is a collection of red circuit symbols which are interconnected
with green nets (or wires). It helps tell the circuit of what the board design does, but it doesn’t have much
influence on the end PCB product. Parts in a schematic aren’t precisely measured, they’re laid out and
connected in a way that’s easy to read, to help us and others who read our design file understand what’s
going on with the board design.
The board editor is where the real PCB design happens. Here different coloured layers overlap and
intersect to create a precisely measured PCB design. Two copper layers – red on top, blue on the bottom –
are strategically routed to make sure different signals don’t intersect and short out. Green circles called
“vias” pass a signal from one side to the other. Bigger vias allow for through-hole parts to be inserted and
soldered to the board. Other, currently hidden, layers expose copper so components can be soldered to it.
If you see that warning STOP doing anything, and get the other window back open. The easy way to get
either a board or schematic window back open is by clicking the “Switch to board/schematic” icon –
/ (also found under the “File” menu).
11
3. Using EAGLE: Schematic
3.1. Introduction
PCB design in EAGLE is a two-step process. First you design your schematic and then you lay out a PCB
based on that schematic. EAGLE’s board and schematic editors work hand-in-hand. A well-designed
schematic is critical to the overall PCB design process. It will help you catch errors before the board is
fabricated, and it’ll help you debug a board when something doesn’t work.
Give the newly created, red project folder a descriptive name. Example: “LED_Glow”.
A new, blank window should immediately pop up. Welcome to the schematic editor!
12
3.3. Adding Parts to a Schematic
Schematic design is a two-step process. First you have to add all of the parts to the schematic sheet, then
those parts need to be wired together. You can intermix the steps – add a few parts, wire a few parts, then
add some more – and wire again.
The circuit we are going to fabricate is a simple circuit which makes the LED glow when the switch is
turned on. Though the circuit is quite a simple one and could be fabricated on a single layered PCB, it has
been designed on both layers of the PCB for the purpose of teaching how to do double-sided PCB design.
The ADD tool – (on the left toolbar) – is what you’ll use to place every single component on the
schematic. The ADD tool opens up a library navigator, where you can expand specific libraries and look at
the parts it holds. With a part selected on the left side, the view on the right half should update to show
both the schematic symbol of the part and its package.
To add a part from a library either select the part you want and click “OK”, or double-click your part.
13
3.3.2. Add a Frame
The frame isn’t a critical component for what will be the final PCB layout, but it keeps your schematic
looking clean and organized. The frame we want should be in the SparkFun-Aesthetics library, and it’s
named FRAME-LETTER. Find that by either searching or navigating and add it to your schematic.
After selecting the part you want to add, it’ll “glow” and start hovering around following your mouse
cursor. To place the part, left-click once. Let’s place the frame so its bottom-left corner runs right over our
origin cross.
14
After placing a part, the add tool will assume you want to add another – a new frame should start following
your cursor. To get out of the add-mode either hit escape (ESC) twice or just select a different tool.
3.3.3. Save
Right now your schematic is an untitled temporary file living in your computer’s ether. To save either go
to File > Save, or just click the blue floppy disk icon – .
All of these parts will go in the top-left of the schematic frame. Arranged like this:
15
If you need to move parts around, use the MOVE tool – (left toolbar or under the Edit menu). Left-
click once on a part to pick it up (your mouse should be hovering over the part’s red “+” origin). Then left
click again when it’s where it needs to be.
To rotate parts as your placing them, either select one of the four options on the rotate toolbar –
– or right click before placing the part.
– – to connect them together. Instead, we’ll use the NET tool – (left toolbar, or under
the Draw menu). The WIRE tool would be better-named as a line-drawing tool, NET does a better job of
connecting components.
16
3.5. Tips and Tricks
3.5.1. Names and Values
Every component on your schematic should have two editable text fields: a name and a value. The name is
an identifier like R1, R2, LED3, etc. Every component on the schematic should have a unique name. You
can use the NAME tool – on any component to change the name.
A part’s value allows you to define unique characteristics of that part. For example, you can set a resistor’s
resistance, or a capacitor’s capacitance. The importance of a part’s value depends on what type of
component it is. For parts like resistors, capacitors, inductors, etc. the value is a critical piece of
information when you’re generating a bill of materials or assembly sheet. To adjust a part’s value
parameter, use the VALUE tool – .
performing an action on that group is a two-step process. First, use the group tool – – to select the
parts you want to modify. You can either hold down the left-mouse button and drag a box around them, or
click multiple times to draw a polygon around a group. Once the group is made, every object in that group
should glow.
After grouping, select the tool you want to use. The status box in the far bottom-left will have some helpful
information pertaining to using the tool on a group:
In order to perform any action on a group, you have to select the tool, then hold down CTRL and right-
click the group. After you CTRL+right-click, the tool will operate on the group just as it does a single
component.
If you have any nets incorrectly connected like above, DELETE – – it.
3.5.3. Copy/Paste
EAGLE’s Copy – – and Paste – – tools don’t work like other copy/paste tools used in other
softwares like word editors. Copy performs both a copy and paste when it’s used. As soon as you copy a
part (or any object on the schematic – name, text, net, etc.) an exact copy will instantly come up and follow
your mouse awaiting placement. This is useful if you need to add multiples of the same part (like GND
nodes or resistors).
Paste can only be used to paste a group that has previously been copied to your clipboard. To use paste
you first have to create a group, then (with the copy tool selected) CTRL+right-click to copy it, but hit
ESC button. This’ll store the copied group into your operating system’s clipboard, and you can use paste to
place it somewhere. This tool is especially useful if you need to copy parts of one schematic file into
another.
17
4.1. Using EAGLE: Board Layout
In the board editor, the conceptual, idealized schematic you’ve designed becomes a precisely dimensioned
and routed PCB.
In this tutorial we’ll cover every step in EAGLE PCB design: from placing parts, to routing them, to
generating gerber files to be converted to CNC job files. We’ll also go over the basics of EAGLE’s board
editor, beginning with explaining how the layers in EAGLE match up to the layers of a PCB.
To switch from the schematic editor to the related board, simply click the Generate/Switch to
Board command – (on the top toolbar, or under the File menu) – which should prompt a new, board
editor window to open. All of the parts you added from the schematic should be there, stacked on top of
eachother, ready to be placed and routed.
18
4.2. Learning Layers Overview
PCB composition is all about layering one material over another. The thickest, middle part of the board is a
insulating substrate (usually FR4). On either side of that is a thin layer of copper, where our electric
signals pass through. To insulate and protect the copper layers, we cover them with a thin layer of lacquer-
like soldermask, which is what gives the PCB color (green, red, blue, etc.). Finally, to top it all off, we
add a layer of ink-like silkscreen, which can add text and logos to the PCB. We don’t have the option to
add soldermask and silkscreen in machines built in our laboratory at TLC but if you intend to fabricate the
PCB through a professional fabrication house, you can add them.
The layers of a double-sided PCB (image from the PCB Basics tutorial).
19
Layer Layer
Color Layer Purpose
Name Number
Top 1 Top layer of copper
Bottom 16 Bottom layer of copper
Through-hole pads. Any part of the green circle is
Pads 17
exposed copper on both top and bottom sides of the board.
Vias. Smaller copper-filled drill holes used to route a signal
Vias 18 from top to bottom side. These are usually covered over by
soldermask. Also indicates copper on both layers.
Airwires. Rubber-band-like lines that show which pads need to
Unrouted 19
be connected.
Dimension 20 Outline of the board.
tPlace 21 Silkscreen printed on the top side of the board.
bPlace 22 Silkscreen printed on the bottom side of the board.
Top origins, which you click to move and manipulate an
tOrigins 23
individual part.
bOrigins 24 Origins for parts on the bottom side of the board.
Non-conducting (not a via or pad) holes. These are usually drill
Holes 45
holes for stand-offs or for special part requirements.
To turn any layer off or on, click the “Layer Settings…” button – – and then click a layer’s number to
select or de-select it. Before you start routing, make sure the layers above (aside from tStop and bStop) are
visible.
Click the Generate/Switch to Board icon – – in the schematic editor to create a new PCB design
based on your schematic:
20
The new board file should show all of the parts from your schematic. The gold lines, called airwires,
connect between pins and reflect the net connections you made on the schematic. There should also be a
faint, light-gray outline of a board dimension to the right of all of the parts.
Using the MOVE tool – – you can start to move parts within the dimension box. While you’re
moving parts, you can rotate them by either right-clicking or changing the angle in the drop-down box
near the top. While you’re relocating parts, hit the RATSNEST button – – to get the airwires to
recalculate.
21
Then use the WIRE tool – ( – to draw a new outline. Before you draw anything though, go up to the
options bar and set the layer to 20 Dimension. Also up there, you may want to turn down the width a bit
(we usually set it to 0.008").
Then, starting at the origin, draw a box around your parts. Don’t intersect the dimension layer with any
holes, or they’ll be cut off. Make sure you end where you started.
To draw all of our copper traces, we’ll use the ROUTE tool– – . After selecting the tool, there are a
few options to consider on the toolbar above:
Layer: On a 2-layer board like this, you’ll have to choose whether you want to start routing on the
top (1) or bottom (16) layer.
Bend Style: Usually you’ll want to use 45° angles for your routes (wire bend styles 1 and 3), but it
can be fun to make loopy traces too.
Width: This defines how wide your copper will be. Usually 0.01" is a good default size. You
shouldn’t go any smaller than 0.007" (or you’ll probably end up paying extra). Wider traces can
allow for more current to safely pass through. But in circuits where you need to supply 1A through a
trace, it’d need to be much wider.
delete traces. If you need to go back and re-work a route, use the RIPUP tool – – to remove traces.
This tool turns routed traces back into airwires.
You can also use UNDO and REDO to back/forward-track.
4.4.3. Route
Use the Route option shown above and route all the airwires shown in the board layout. You may want to
start on the closest, easiest traces first. Or, you might want to route the important signals – like power and
ground – first. Here’s an example of our fully-routed board:
22
4.4.4. Using the Auto router
If you’re short on time, or having trouble solving the routing complexity of your board, you can try loading
If you don’t like the job the autorouter did, you can quickly hit Undo to go back to manual routing.
The autorouter won’t always be able to finish the job, so it’s still important to understand how to manually
route pads (plus manual routes look much better). After running the autorouter, check the bottom-left status
box to see how much is completed. If it says anything other than “OptimizeN: 100% finished”, you need to
do some manual routing.
23
If you want to know more about optimizations and settings to be made in the autorouter. Check the
EAGLE’s manual linked in resources section where an entire chapter explains it.
After the routing is done, there are a few checks we can do to make sure it’s 100% complete
RATSNEST icon – – and then immediately check the bottom left status box. If you’ve routed
everything, it should say “Ratsnest: Nothing to do!”
If ratsnest says you have “N airwires” left to route, double check your board for any floating golden lines
and route them up.
24
particular for FlatCAM (which is the CAM software we will use in the next section). Now go ahead and
select “Process Job”. This will export all the files into the same folder as your .brd file.
You need to generate two Gerber_RS274X files for top and bottom layer individually with separate names.
Remember to select the mirror option for bottom Gerber file as shown in the below picture.
For exporting gerbers to drill vias and holes, you will want to do the same above again, but select the
“EXCELLON_24”. Excellon file is the drill file that contains drill specifications, size and coordinates.
25
The files are saved by default in the respective Eagle project folder. It is recommended to save all the files
including CNC job files in their respective Eagle project folder only for easy modification and updation.
Now, Open the Gerbers and Excellon files for which you need to generate CNC job files in FlatCAM,
which is explained in detail in the next section of the Tutorial.
26
5. Generation of G-Code
FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router. Among other things
like editing CNC G-Code files, it can take a Gerber file generated by any PCB CAD program, and create
G-Code for Isolation routing.
using different units, go to Options, Project Options , Units. This will change the units for the whole
project.
This creates a new geometry object listed under “Project” with the same name as the Gerber object with an
“_iso” postfix, and its options are shown in “Selected”.
27
3. Create a CNC job from the new geometry by indicating the desired parameters as shown in the figure
above and explained below:
Cut Z: The depth of the tool while cutting. -0.09 mm is the typical value for isolation routing.
Travel Z: The height above the board at which the cutting tool will travel when not cutting
copper.(Typical value: 1.5mm)
Feedrate: The speed of the cutting tool while cutting in inches/minute of mm/minute depending on the
project settings.(Typical value: 100mm/sec)
Tool diameter: The cutting tool diameter. Use the same value as when creating the isolation routing
geometry.
A CNC Job object has been added to your project and its options are shown in the “Selected” tab. Tool
paths are shown on the plot. Blue are copper cuts, while yellow are travelling (no cutting) motions.
Click on the “Export” button under “Export G-Code”. This will open a dialog box for you to save to a file.
This is the file that you will supply to your CNC G-Code sender.
28
Similarly export a file for the bottom layer of your PCB too.
1. Open a drill (Excellon) file: File→Open Excellon. The drill file will be drawn onto the plot and its
options form should show up.
2. A drill file will usually contain different tools (drill diameters). You can choose to create a CNC job for
each individual tool or bundle some of the tools together in the same job (in case you did not intend to use
drill bits of different diameters).
29
Click on Choose under Create CNC Job to open a selection window with the list of tools. Each has the
format id: diameter, where the diameter is in the project’s units. Check the boxes by the tools you want to
include in the job. The comma-separated list of tools should appear in the Tools entry box.
3. Adjust Drill Z (Drilling depth), Travel Z (Height for X-Y movement) and Feed rate (Z-axis speed in
project units per minute) to your desired values, and click on Generate.
A CNC job will be created and the tool-path will be shown on the screen. Click on the “Export” button
under “Export G-Code”. This will open a dialog box for you to save to a file. This is the file that you will
supply to your CNC G-Code sender.
30
6. PCB Isolation Routing and Drilling
(A video demonstration of Isolation Routing for fabricating Double-sided PCB is given in the TLC project Webpage)
Before we move on to making our own PCB there are few fundamental theories and practices to be learnt on how a
copper bare-board is captured and measured or aligned by a CNC machine.
33
Now measure the value of camera offset as explained in the top section and execute auto-levelling and
warp the board if you feel the board is bent. Run the g-code file for the top layer exported from your
FlatCAM.
For the bottom layer, turn the board around and capture the alignment holes along the edge of a board to
measure how much the board is skewed. The work position is measured in the UGS under UGS tab as
explained in previous section. The G-Code file for the bottom layer is rotated through this angle
measured using the G-Code command G-68.Example: The below picture shows the macro to rotate the
board just about the origin to 2.3 degrees.
Fig.6.8. Showing macro to rotate the co-ordinate system and hence the G-Code file.
The tool is moved to the origin position again using the camera-zeroing and camera offset macro in the
UGS. Now the G-Code file for the bottom layer is run. Once the bottom routing is done, the drill g-code
file is run successively. This takes care of both translation and rotation while flipping the PCB and the
tracks and holes would match each other on both the sides.
34
Fig.6.9. UGS showing the visualization top layer of PCB.
35
7. Special Procedures
Often in PCB designing, there arise special needs to make complicated circuits that involve PCB traces on
both of the sides. There are also other problems while fabricating PCBs such as uneven bed flattening etc.
In this section of the tutorial, we will see how to use convenient techniques for easy calibration and
adjustments in PCB fabrication.
7.1. Autolevelling
One problem that exists while trying to create finely etched traces is the inconsistency in the height across the
surface of the board. Reasons for this are that the CNC bed may not be flat or that the boards could be warped or
bent, which is usually the case if the boards are larger in size. Even minute height variations such as 1mm would
increase the groove width to 0.672mm.This can in turn cause the copper tracks between grooves to become too
narrow, or create shallow “aircuts” forming incomplete traces when the height reduces. The technique used here
to solve this is to probe the PCB surface in a grid pattern for height variations and modify the G-code so that
there is uniform depth while milling. A figure depicting PCB board milled without and with the use of
Autoleveller respectively when the bed is not flat is shown above.
The software used here to do this is Autoleveller which interacts with the CNC controller and modifies and
outputs a G-Code file for us to run with UGS eliminating the height variations. Load the G-Code into the
autoleveller software using the Browse button; you would see that the Probe settings vary automatically
matching the dimensions of the PCB file loaded. You can change the default settings such as probe spacing(the
space between the points of the probing grid, probe depth(the maximum distance the probe will go down if no
contact on board is made) and probe clearance(the distance between the board surface and the probe tip as it
moves up before going to the next point of the grid).
Note: Make sure that you connect the probe clip to the tool tip before you run the Autoleveller else the tool will
bury itself into the board and break. Also shrink the board dimension by 5mm in X Length and Y length tab of
your Autoleveller for the bottom layer of a double-sided board as we drill holes in to the origin position of the
PCB in top layer.
37
Fig.7.2. Showing the GUI page of Autoleveller
Open a Gerber file in your FlatCAM software. In the Selected tab for the Gerber Object, under Non-
copper regions, provide Boundary Margin and click Generate Geometry. This creates a new Geometry
Object containing a bounding box around the Gerber object, with the given margin. Then subtract the
38
Gerber object from the bounding box, resulting in a Geometry object with polygons covering the areas
without copper.
Now we can choose which polygon we want to “paint”, this is, draw a tool path inside it to cover all its
surface. In the Selected tab for the newly created Geometry Object, under Paint Area, provide the
following:
Tool diam.: The diameter of the tool that will be used to cut the area.
Overlap: Fraction of the tool diameter by which to overlap each passing cut. The default value of 0.15
is the minimum to ensure no copper is left in 90 degree turns of the tool path.
Margin: Distance for the tool to stay away from the polygon boundary. This can be used to ensure that
large tool does not touch copper edges that have or will be cut by a smaller more precise tool.
39
Click on Generate and then click on the plot inside the polygon to be painted. This will create a new
Geometry Object with the desired tool paths and they can overlap too.
40
Click on Generate Geometry. The figure above shows an example of the results. Create a CNC job for the
newly created geometry as explained in earlier tutorials.
41
8. Conclusion
8.1. Experimentation
Different sets of experiments have been done with the designed machine to verify its practical utility and
presented below. In the former part, the line resolution of the PCB is tested and a series of SMD footprints has
been fabricated. The fabrication of RF circuits is discussed in the later part.
42
8.2. Fabricating Radio-Frequency Circuits
A conventional branch line coupler is constructed employing four λ/4 transmission line in a ring. We have
designed and fabricated a branch line coupler using microstrip technology working at 2.45 GHz on a low cost
1.65 mm thick FR4 epoxy material with dielectric constant of 4.4 and a loss tangent of 0.02.The physical
dimensions were calculated using microstrip line calculator and the board was drawn in eagle. The below graph
illustrates the full-wave simulated S-parameters of the designed branch line coupler. From the graph, the return
loss (S11), throughput (S21), coupled (S31) and isolation (S41) are calculated as -3.7 dB, -3.7 dB, -27.4 dB, and
-31.63 dB, respectively. The experimental measurements of the fabricated prototype and further calibration are
under progress.
Fig.8.2. Fabricated PCB of a Conventional BLC Fig.8.3. Full wave simulated S-parameters of BLC
8.4. Conclusion
A BYO PCB prototyping machine has been designed and developed for fabrication of both single and
double-sided boards with through-hole and surface mount technology. The resolution of the machine was
studied and fabrication of RF circuits has been presented. An industrial method for soldering the components has
been mentioned. Problems usually encountered while fabricating high precision and double-layered PCBs have
been discussed. Commercial techniques used for easy and comfortable operation of PCB prototyping machines
have been incorporated in the procedure. The machine is fabricated with commercial and inexpensive open
source hardware components and software and so can be readily disseminated, adapted and improved for
widespread use in electronics education.
43
APPENDIX
DATASHEETS
BILL OF MATERIALS AND PART SUPPLIERS
PAPER PUBLICATION ON THIS PROJECT
USB Handheld Microscope
USER
USER’’S Introduction
Functions and applications
The USB HANDHELD MICROSCOPE is a new electronic product for the
micro object observation. It is a tubular imaging system consisting of an
optical lens, an image sensor, an illumination mechanism, and an image
transfer control circuit connected to a computer. You can display the images
captured by the USB HANDHELD MICROSCOPE on the computer screen,
store them on the computer, print them, or send them over the Internet.
Applications
As a USB microscope, it can magnify stamps, coins, antiques, insects,
electric circuits, machines, hair, skin, fabrics, food, decorations, etc.
Attention
Before installation and use of this product, please read the instructions in
this manual to ensure its correct use.
Safety instructions
Before using this product, please carefully read the following safety
instructions.
1. The socket that the computer is plugged in must be properly grounded,
as the computer supplies power to this product. If in any doubt, please
have a professional electrician check and verify the grounding to ensure
safety.
2. Never use this product in stormy weather.
3. This product contains delicate and precision components. Be gentle
when using it and avoid harsh handling or excessive force that may
cause damage to the product.
4. The temperature of the handle increases slightly during use and it feels a
little warm. This is normal. If the product is overheated and hot to the
touch, immediately cut off the power and contact us for repair.
5. Never leave the product on unattended. Unplug from the USB port after
use.
6. Do not disassemble this product. Disassembling this product will result in
irreparable damage. The company is not responsible for damage
resulting from disassembly of the product by the user. In case of any
difficulties in using the product, please contact us.
7. This product may only be used by children under supervision of an adult.
Never give this product to a child to use or play by him or herself. Keep
this product out of reach of children.
8. Do not let this product come in direct contact with steam, vapor, water, or
liquids of any kind. Such contact can cause irreparable damage that is
not covered by warranty.
9. When not in use, put the handle in the transparent sleeve and store it in a
tightly sealed box to avoid moisture and decay. Damages resulting from
improper storage are not covered by the warranty.
10.The cable with this product has been strictly tested. To ensure safe use,
do not replace it.
System Requirements
For best picture quality, the following specifications are recommended:
1. Windows XP, Vista ,windows 7
2. 128M RAM or above
3. At least one USB port (For best effect, USB 2.0 port is recommended).
4. CD-ROM and a 40G or higher hard disc.
Technical Specifications
1. DSP: Digital Image Monarch Processor.
2. Sensor: high-quality CMOS sensor
3. Resolution: 640*480
4. Colors: true color 24bit (RGB)
5. Interface: USB2.0.
6. Frame rate: 30 frames/sec (CIF and VGA).
7. Magnification: 200×
8. Size: 12mm in diameter,
9. USB cable length: 1.6 meters
Installation
To avoid mistakes in the installation process, please strictly follow these
steps:
Place the included CD into the CD-ROM drive.
Find the icon of ‘amcap.exe’.
Copy the ‘amcap.exe’ to your PC. Just copy but never try to install it.
Plug the HANDHELD MICROSCOPE into the USB port, and double click on
the icon of ‘amcap.exe’ to open the image window.
Directions for Use
Properly connect the USB HANDHELD MICROSCOPE to the computer and
to rotate the dial on the USB cable to controls the brightness of the LED on
the USB HANDHELD MICROSCOPE. After a short while you should see
the image captured by the USB HANDHELD MICROSCOPE on the
computer monitor.
OPEN IMAGE WINDOW
Double click on the icon and open an image window on the screen. After a
few seconds the USB HANDHELD MICROSCOPE will begin to take images
in the window. Click on ‘OPTIONS’ and click on ‘VIDEO CAPTURE PIN’.
Choose one of image window size in the drop-down menu and click on ‘OK’
to confirm.
FOCUSING
The focusing ring is at the handle of the USB HANDHELD MICROSCOPE..
When the focusing ring is rotated it adjusted the distance between lens and
sensor for getting the clear image.
Please keep the head of USB HANDHELD MICROSCOPE tightly and
snugly touching the surface of the object during the focusing and
observation.
TAKE PHOTOS
Push down the snap key on the handle or push
down the button of the dimmer that located on
the USB cable to freeze an image. Or click
‘snap’ on the top of image window, or push
down the ‘return key’ of keyboard to freeze an
image.
The photos you have taken will be saved in the
computer and display an icon on the screen.
If your system could not freeze an image
please follow steps to make it work:
1, Open the image window
2, Click on ‘capture’ on top line of the window
3, Click on ‘still’ in the pull down window
3, Click on ‘folder’
4, Designate the folder for your photos location
5, Click right mouse button to confirm
The photos can be taken by push down the button of the dimmer or just
push down the return key of the keyboard.
With the different display,resolution ratio and contrast,the definiton of the picture
MOVIE RECORD
For making a record of still image please follow below procedures.
1, Click on the ‘capture’ that located on the top line of image window
2, Click on the ‘set time limit’ in the pull down window
3, Click on the ‘use time limit’
4, Input the number of seconds that you want to delay the record
5, Click right mouse button to confirm
6, Click ‘capture’ again
7, Click ‘start capture’
8, Click ‘ok’ to start the recorder
The movie record will be stopped while time is off.
The movie will be saved as the AVI format.
Post-Sale Services
Limitations and exclusions
Please keep all the receipts of your purchase in a safe place. You need to
produce the unaltered and original receipts to receive warranty coverage.
Otherwise, the warranty is voided.
The warranty only covers the product if it is used under normal operation
conditions. However, the following are not covered by the warranty:
Damages resulting from unauthorized disassembly or assembly of the
products by the customer
Damages caused by fitting of improper components to the product
Damages resulting from unauthorized attempts to repair or to alter the
product
Gross distortion, scratches, discoloration, or damage of the covering
Cracks, scratches, and mold spots on the lens
COMS sensor is burned or apparently scratched
Damages to the PCB board (such as burned PCB board) due to misuse
Product maintain
Unprofessional workers are not suggested to maintain,Any
supports then
then!
With vigorous shaking, the tiny dust may drop on the imaging sensor.We
can ’ t see it with our eyes but it only showed on the picture after
microscopic’ s magnifying,PLS don’ t repaire it unless you have enough
professional maintain experience and patience.
If you want to repair it,pls refer the documents below
1. PLS turn left of the camera lens, and do not touch the LED light.Or it will
be damaged.
2. PLS safekeep the camera lens,and do not let it touch the alcohol.
3. PLS adjust the focal distance, let the imaging sensor move into a best
position.In order to wash easily.
we suggest that adjust the imaging sensor into the nearest distance
4. Dip in a little absolute alcohol with fine cotton swab,using fine cotton
swab clean the imaging sensor gently.If you are unexperienced,pls ask the
help of the professional .(Notes:Don ’ t dip in too much absolute
alcohol,protecting the alcohol from flowing itno circuit board and LED light
and don’t be too strong when cleaning)
5.After confirimg dustout,pls turn on the LED ligth and keep for 15-20min to
fast the alcoho volatilization.Because the alcohol will dissolve the glue
around the camera lens,pls make sure after volatilization totally,then install
the camera lens
If the lens need washing,don’t use absolute alcohol.Just clean the lens with
cotton swab.To avoid the drop of the lens,pls don’t be too strong .
For the unprofessional,it is difficult to maintain.We can’t see the tiny dust
with our eyes.This work need patience and professional technology.
Unprofessional workers are not suggested to maintain,Any
supports then
then!
Bill of Materials and Part Suppliers
Tool Bits 0.6mm Drill bit, Zen 257, 321, 3,3,3 751,963,576
0.8mm End mill bit, Toolworks 192
V-Carving bit
TOTAL 45,770
Available online at www.sciencedirect.com
ScienceDirect
Materials Today: Proceedings 00 (2017) 0000–0000 www.materialstoday.com/proceedings
IConAMMA_2017
Abstract
The need for fabricating a prototype circuit arises frequently in electronics, including education and research laboratories. In
resource-poor countries in the developing world, this is hindered by the high cost of commercial Printed Circuit Board (PCB)
prototyping machines and long turn-around commercial fabrication process. Practical, hands-on laboratory teaching and
experimentation is necessary to improve learning in electronics. In this paper, a low-cost build-your-own (BYO) semi-automated
three-axis PCB milling machine for double-sided PCB prototyping is developed using commercial components and open source
hardware and free open source software, to provide students, teachers, and engineers an accessible and affordable resource for
PCB prototyping. Also, the main problems encountered during fabrication of PCB have been mentioned and the techniques used
to solve them are discussed in detail.
© 2017 Elsevier Ltd. All rights reserved.
Selection and/or Peer-review under responsibility of International Conference on Advances in Materials and Manufacturing Applications
[IConAMMA 2017].
Keywords: Build your own technology; CNC PCB machine; PCB manufacturing; Auto-levelling; Open source hardware and software.
1. Introduction
It is estimated that the global electronics industry output will reach USD 2.4 trillion by 2020. The demand in
semiconductor industry in India alone is expected to be USD 400 billion in 2020 and it is expected to create around
27 million job opportunities [1]. By contrast the entire Indian IT sector provides around 3.7 million jobs. Therefore,
the Indian government is encouraging initiatives such as Make in India, Digital India, Startup India, and Skills India
to facilitate growth of manufacturing and electronics industries in India, creating numerous high-paying jobs in the
process.
Thus, semiconductor industry is one of the fastest growing industries in India. With this, the demand for and
production of PCBs, which is at the heart of every electronic product are on the rise. PCBs not only provide
mechanical support for the electronic components but also provide other services like electrical impedance matching,
electromagnetic shielding and heat conduction [2]. Specialized courses and curriculum in PCB design and
electronics assembly are introduced in electronics engineering education. However, due to high cost of commercial
and often imported PCB prototyping equipment, there is a severe lack of practical hands-on PCB design teaching
and learning in developing countries. This situation can be remedied with the increasing affordability and versatility
of open source hardware like microcontrollers and microcomputers, commercial off-the-shelf components like
actuators, sensors as well as free, open source software, which can be integrated for design of low-cost PCB
prototyping machines for electronics education.
Do-it-yourself (DIY) PCBs can be developed with simple techniques such as using an iron to transfer ink printed
on a transparency to a PCB with chemical etching. But these methods lack sufficient consistency for surface mount
devices (SMDs) and the drilling of holes is tedious since it has to be done manually. Further, the environmental and
health hazards from chemicals used in these processes are significant [3].
Development of safe and high resolution milling and drilling of PCBs is enabled using isolation routing which
overcomes many of the above mentioned drawbacks. In isolation milling, the copper from the board is first removed
to recreate pads, which are signal traces and structures based on the pattern generated by a PCB parts layout file.
In this paper, a BYO PCB prototyping machine has been developed and deployed to make both single- and
double-sided boards for through-hole technology and Surface Mount Technology (SMT).
The common problems encountered while soldering the components on the PCB and aligning the board layers are
discussed. Modern and innovative approaches used at an industrial level to overcome these problems have been
implemented in our machine and studied. Commercial techniques used in easy and comfortable operation of PCB
prototyping machines have been incorporated in the machine.
The above features have been implemented using open source software programs so that teachers and students
themselves would be able to fabricate high-resolution PCBs in an academic environment matching near-commercial
quality. A major advantage of the proposed system is that users can maintain and repair the machine on their own,
without expensive annual maintenance contracts or import of costly spare parts. With the understanding and
experience gained, the users can also gradually add advanced features like fully automated PCB machines with pick
and place assembly, vision feedback, etc.
The paper is organized as follows. Section 2 discusses how a PCB is designed from open source software and
fabricated using an inexpensive CNC milling machine. Section 3 describes the software and procedure to make a
PCB layout file and how to generate the fabrication data. In section 4, issues and techniques prevalent in PCB
fabrication are prescribed. Discussions of experiments and results are given in section 5.
The design of the CNC milling and drilling machine used in the proposed PCB prototyping system is based on
our earlier developed 3-axis CNC mill, as presented by Pandian [4]. A detailed explanation about the mechanical
design, hardware and the software can be found in [4].
The mechanical system in Fig.1 consists of three stepper motors for motion along the x, y, and z axes, a PVC-
built frame, a high-speed spindle motor, lead screws for power transmission and other related accessories. The main
specifications of the milling machine are listed below:
Table 1. PCB milling machine specifications.
X,Y,Z axes travel 180 x 180 x 50 mm
Motors Steppers: 3x NEMA 17, 200 step/rev, 2-phase,
1.3A
Spindle motor: 5000rpm @24 V DC, 0.3A no
load
Lead screws Stainless steel, 3xM8x1.25, 20 tpi
Stepper drivers 3 x single axis, rated 3A, up to 1/16 micro
stepping
Speed X, Y axes: 8 mm/sec
Resolution Electrical: 1.8° (0.0062 mm/step)
Mechanical: 0.01mm/step
Weight 14 kg
USB microscope Resolution: 640x480 pixel
Microcontroller Arduino Uno
2.2. Tooling
The high speed DC spindle motor is used for isolation routing through milling and for through hole drilling. The
milling and drilling tool bits are mounted in turn on the spindle motor with a precision ER-11 chuck which holds
bits with 1/8 shank dia. A 30° V-engraving bit with end width of 0.1mm is used for routing. A 0.6mm single-fluted
drill bit is used for making holes and a 0.8mm end mill bit is used for copper rubout and for cutting sections of the
boards. All bits used are tungsten carbide bits because of their extended tool life.
The electronics unit of Fig.2. is placed compactly on the rear of the milling machine. Single stepper motor drivers
are used to power the individual stepper motors for moving the bits along the x, y, and z directions. The stepper
drivers are powered by a switched mode power supply (SMPS) DC power source of 24V.
Stepper drivers are reconfigurable with different settings for maximum permissible running current, stall current,
excitation modes of stepper motor actuation, etc. The running current can be varied from 0.3A up to 3A. Excitation
modes are available for full step, 1/2, 1/4, 1/8, and 1/16 of stepper motor turns. An emergency kill switch is included
from the input side and also a probing setup is used as explained later.
GRBL [5], [6] is a free, open source software used to generate CNC machine G code and M code signals that will
drive stepper motors using the Arduino microcontroller. G-code and M-code are programming languages [7] that are
interpreted by CNC controllers. G-code provides instruction commands for position, speed and path of the motion;
whereas M-code provides auxiliary commands for spindle motor speed, coolant flow, tool change etc. Compiled
version of GRBL software code is available in the form of hex file and is burned into the Arduino. Grbl CNC code
will receive signals from Arduino’s serial buffer and parses it to decode the serial data into G-code. Grbl settings in
Arduino will be stored in the EEPROM of Arduino and so when configured once will not be erased during power
off. Settings can also be viewed and modified anytime by sending corresponding configuration characters. $$
symbol is used as configuration character from which we can view different settings of the machine, such as axis
feed rate, steps/mm, software limits, axis acceleration values, and resolution of movement.
4 Author name / Materials Today: Proceedings 00 (2017) 0000–0000
The design of PCB is drawn in Eagle computer-aided design (CAD) software and the fabrication data is generated
in one of many acceptable formats such as .brd or Gerber files. This file is then imported into computer-aided
manufacturing (CAM) software, which outputs a G-Code file which is a machine readable form of instructions. The
overall procedure in PCB design, conversion and fabrication is explained below.
The process starts with circuit schematic design of PCB in Eagle computer-aided design (CAD) software [8].The
free student version of the software allows us to create up to 999 sheets including all 16 layers. Firstly, all the parts
needed for the circuit are added and connected according to the circuit diagram on the Schematic sheet. Eagle has a
library navigator which has a collection of parts used in circuitry to be added in the schematic. Thousands of user-
created library packages are made available online by the open source PCB community and could be added to the
existing libraries. The voltage and the ground terminals are added and the components are connected with each
other. A typical circuit diagram is shown in Fig. 3, and its schematic in Eagle is shown in Fig. 4.
Fig. 3. Circuit diagram of LED flasher using 555 timer Fig. 4. Circuit drawn in schematic
The conceptual circuit schematic is next converted into the board Layout, where the actual positioning of
components and copper traces are done. Initially, all the parts from the schematic would appear in the Board file
stacked upon each other connected by airwires corresponding to the net connections made in the schematic. Once
the components are positioned onto the board, they are connected by the copper traces set on a single side or double
side. Copper traces can be set in different bent styles, angles, width, distances, etc. The parts are arranged in such a
way that the PCB is compact and small. A sample board design layout appears in Fig. 5.
Finally, we use the Design Rule Check (DRC) of Eagle to check our design for possible errors. Some of the
important and common errors DRC finds are minimum clearance distance between traces, inappropriate trace widths
or drill sizes and overlap between pads or traces.
The completed file has to be fed into computer aided manufacturing (CAM) software PCB-GCode converter [9]
which converts the .brd file into a G code file with the input tool and machine parameters specified. PCB-GCode is
the User Language Program (ULP) for Eagle produced by Cadsoft that we use as CAM software for producing G
code. ULP loads in the Eagle program and accesses its data structures and creates a variety of output files of desired
type and specifications. Various parameters for the toolpaths, design type, feedrates and other machining parameters
for PCB are inputted into the settings of the PCB-Gcode software.
Some of the important machining settings used are
1. Isolation - Increasing isolation helps in eliminating small slivers of copper left in-between tracks after cutting
process.
Isolation=Etching tool size + Minimum Isolation + (Pass No.*Step size)
2. Generation - The settings under this allow you to specify if you are fabricating a single or double-sided board,
which side you want the drilling process to happen, mirroring the pattern, etc.
3. Drill - Changes the depth of drills and mounting holes and drill dwell time.
4. Feed rates - These settings control how fast the CNC mill will cut and drill the board. As the feed rate
increases, the stress on the tool increases. Also, slower feed rates will ensure a smooth and clean cut on the board.
5. G-Code profiles - Altering the files under this helps you change the formats used by the program to generate
the G-codes to suit your machine.
Once all the input parameters are entered correctly, the software shows the preview and generates G-Code files
that cut out tracks individually for top and bottom layer, drill holes, engrave texts, and mill out sections of the board.
The G-Code program is sent to Arduino from control computer (typically, a PC) by serial communication. Few
standard GUI open source software packages available for this are bCNC, Universal G Code Sender [10] or CNC
Grbl controller. These programs are very versatile and control the machine in manual mode or file mode. Options
similar to the human-machine interface (HMI) of expensive commercial CNC machines are included which help in
moving each axis individually, setting workspace origin, and homing cycles. Also, current position of world
coordinates and job coordinates are displayed based on signals sent from the software.
The software has options to set the current position to origin, return the machine to origin position, as well as
write and save complex commands under the macros tab used for tool and work offsets. The files generated by the
CAM software are loaded one by one and the tool is moved to the origin position and the job is run.
In prototyping single-sided PCBs, the tool is moved and set to an arbitrary origin position (usually on the lower
left corner of the board). Now the etching G-code file is run which cuts out the tracks and the pads. Now the tool is
moved again to its previously set origin position and the drilling G-code file is run. Usually the option in the PCB G-
code software to create spot drills in the etching stage is used and then the actual drilling G-code file is run. Spot
6 Author name / Materials Today: Proceedings 00 (2017) 0000–0000
drills create ‘dimples’ or dents in the drill points so that the actual drill tool tip does not deflect and walk-off center
and the hole is drilled correctly. In case of double-sided boards, the same procedure is followed and the top side is
engraved. Next, the board is flipped and aligned to the axes of the top layer and the bottom layer is engraved and
drilled.
Moving the CNC tool tip to its exact origin position is known as Zeroing the CNC. Only then, we can ensure the
preciseness of the CNC and it has been a challenge in CNC operation. Several methods and devices have been
proposed for this but the best and convenient solution is to use a microscope/camera mounted in parallel next to the
spindle. The camera points downwards towards the raw material and shows a magnified image on the computer
screen including crosshairs. A hole is first drilled on the board surface using a drill tool and the spindle is moved
until the crosshairs of the image line up with the center of the hole. The offset distance between the camera and the
tooltip is now measured from the position displayed in Universal G-Code Sender (UGS) and then the offsets are
input under the macro tab of UGS. Thus, in order to set any point we want as origin, we move the camera to that
point and use the macro to set the current position as offset point with respect to origin.
The above procedure will accurately set desired X, Y = 0. But, the vertical position of the spindle, Z axis is also
an important axis to zero out properly. For this, one wire is connected to the tool tip, i.e. the probe and the other end
is pulled high with a resistor and connected to an input pin of Arduino (Fig. 6). Another wire connected to the
ground pin is attached to the surface of the PCB when we mount it. We then use probing command “G38.2” in UGS
which moves the tool towards the board with a given feed rate until the tip touches the board and makes an electrical
contact through the wire. Now, this way the CNC easily determines the exact top of the surface and sets the origin
position.
Fig. 6. Probes attached to tool tip and board Fig. 7. Effect of autoleveller in eliminating height variations
4.2. Autolevelling
One problem while trying to create finely etched traces is the inconsistency in the height across the surface of the
board. Reasons for this are that the CNC bed may not be flat or that the boards could be warped or bent, which is
usually the case if the boards are larger in size. The ideal depth of cut is found to be 0.01” i.e. 0.254 mm. A 30° V-
bit with this depth of cut gives a groove of width of 0.136 mm. Even minute height variations such as 1mm would
increase the groove width to 0.672mm.This can in turn cause the copper tracks between grooves to become too
Author name / Materials Today: Proceedings 00 (2017) 0000–0000 7
narrow, or create shallow “aircuts” forming incomplete traces when the height reduces; also increase in the depth of
cut in the dielectric layer causes impedance variations in high-frequency PCBs [11]. The technique used here to
solve this is to probe the PCB surface in a grid pattern for height variations and modify the G-code so that there is
uniform depth while milling. The software used here to do this is Autoleveller [12] which interacts with the CNC
controller and modifies and outputs a G-Code file for us to run with UGS eliminating the height variations. PCB
board milled without and with the use of Autoleveller respectively when the bed is not flat are shown in Fig. 7.
One of the biggest challenges in making double-sided boards is aligning the board after it is flipped for milling
the bottom layer. Many methods for alignment have been proposed. A reliable best technique used is to drill
reference holes along two corners of the PCB and locate them using the camera and measure by how much angle the
board is skewed. The points in the etch file and drill file are then rotated according to this angle and run [13], [14].
The matrix for rotation of coordinates around the origin by an angle θ from reference axis (X,Y) to rotated
axis(X’,Y’) is given as (Fig. 8.a,b).
𝑐𝑜𝑠(𝜃) 𝑠𝑖𝑛(𝜃) 𝑋
[𝑋′] = [ ][ ]
𝑌′ −𝑠𝑖𝑛(𝜃) 𝑐𝑜𝑠(𝜃) 𝑌
Fig.8.a. Top side of PCB Fig.8.b. PCB flipped and rotated through an angle
Fig 9. Capture of reference hole in camera image and measuring current work position in UGS
8 Author name / Materials Today: Proceedings 00 (2017) 0000–0000
The angle θ is measured by the work position of the reference points displayed in the UGS. Now instead of
finding the transformation matrix and multiplying it to all the points in the G-Code file, we simply rotate the
machine’s coordinate axis system by the required angle using the macro command (G68) and all the matrix
transformation of the points occurs automatically inside the CNC controller. This step-by-step method ensures
surety in rotating the matrix than using separate software for matrix transformation.
Fig. 9 shows the hole drilled being identified with camera and the corresponding work position. The angle θ is
measured by the work position of the reference points displayed in the UGS. Now instead of finding the
transformation matrix and multiplying it to all the points in the G-Code file, we simply rotate the machine’s
coordinate axis system by the required angle using the macro command (G68) and all the matrix transformation of
the points occurs automatically inside the CNC controller. This step-by-step method ensures surety in rotating the
matrix than using separate software for matrix transformation. Fig. 9 shows the hole drilled being identified with
camera and the corresponding work position.
4.4. Soldering
Soldering of SMDs has been found to be difficult and is believed to be a job of the expert. Microwave heating as
described below would enable users to perform the soldering conveniently. Formation of solder bridges are
prevented by routing tracks with high isolation distance and this has been found to provide good soldering without
the need for solder mask in procedure. Lead-free solder paste is first applied on the fluxed tracks and components
are mounted on top of them. This assembled board is then preheated for a while and then baked at moderate
temperature in a microwave oven. The solder joints are formed using reflow process and the components align
themselves precisely with the flux. Use of microwave heating facilitates both simultaneous and selective heating
process which does not cause damage to the components. The quality and reliability of the solder joints formed are
found to be reliable. The other properties and advantages of soldering using microwave heating are explained in
[15], [16].
Different sets of experiments have been done with the designed machine similar to [17] to verify its practical
utility and presented below. But a fabrication method using chemicals has been used in [17] which is unsuitable for
academic environment.
A series of copper tracks with diminishing width has been tried and the thinnest track line that could be reliably
fabricated with the machine is found to 0.2mm. Table 2 shows the calculation of the resolution of the line width
measured using microscope. ∆W is the deviation in the width from the theoretical input width WIN to the actual
routed width on PCB, WPCB. Fig. 10.A. shows the lines routed in the order of diminishing thickness from bottom to
top and a 0.1mm irregular track line at the top.
Fig 10.B. shows a fabricated board with some of the typical ICs and components used in SMT. It consists of
SMT IC packages such as SOIC, TQFP, SOT23 and resistor and capacitor packages such 0603, 0805, 1206, SMA
etc. It has been inferred that a SMT footprint with a pitch size of as low as 0.3mm can be fabricated reliably with the
machine. In order to implement more precise operation, the machine has been planned to be redeveloped with
stepper or servomotors having optical encoder feedback in future.
Fig.11. Fabricated PCB of a Conventional BLC Fig.12. Full wave simulated S-parameters of BLC
6. Conclusion
Thus, a low-cost BYO PCB prototyping machine has been designed and developed for fabrication of both single
and double-sided boards with through-hole and surface mount technology. The resolution of the machine was
10 Author name / Materials Today: Proceedings 00 (2017) 0000–0000
studied and fabrication of RF circuits has been presented. Commercial techniques used for easy and comfortable
operation of PCB prototyping machines have been incorporated in the procedure. The machine is fabricated with
commercial and inexpensive open source hardware components and freeware and so can be readily disseminated,
adapted and improved for widespread use in electronics education.
Pick and place mechanisms for changing the tool and placing the SMD components can be added in future. A
software program to find the rotation angle for the bottom layer during fabricating double sided boards and to
perform G-code transformation is being developed. It will identify the reference holes on the corners of the board
using computer vision (OpenCV) and send signals to the CNC to move the camera to the centroid of the rectangle
and measure the angle of the axis of bottom layer. It will then create a transformation matrix and modify the G-Code
and run the etch files automatically. This program will also have the ability to interact with the CNC controller and
automatically send macros, find the camera offsets and perform zeroing of CNC and run the whole operation cycle
on its own.
References
[1] S. Sengar, 2015, The rising semiconductor industry in India, http://www.electronicsb2b.com/industry-
buzz/rising-semiconductor-industry-india/
[2] R. S. Khandpur, 2005, Printed Circuit Boards: Design, Fabrication Assembly and Testing, Tata Mcgraw-
Hill Education, Delhi, India.
[3] P. H. Wald and J. R. Jones, (1987), Semiconductor manufacturing: An introduction to processes and
hazards. Amer. J. Industrial Medicine, 11: 203–221.
[4] S. Pandian and S. R. Pandian, 2014, "A low-cost build-your-own three axis CNC mill prototype", Int. J.
Mechanical Engineering and Robotics, 2(1), pp. 6-11.
[5] http://dank.bengler.no/-/page/show/5470_grbl? ref=checkpoint
[6] http://onehossshay.wordpress.com/2011/08/21/ grbl-how-it-works-and-other-thoughts/
[7] Peter Smid, 2008, CNC Programming Handbook, Industrial Press Inc., USA.
[8] M. Scarpino, 2014, Designing Circuit Boards with EAGLE, Pearson., USA.
[9] http://www.richa1.com/RichardAlbritton/create-g-code-from-an-eagle-file/
[10] https://github.com/winder/Universal-G-Code- Sender
[11] M. Gatchev, S. Kamenopolsky, V. Bojanov and P. Dankov, "Influence of the milling depth on the microstrip
parameters in milled PCB-plates for microwave applications," Int. Conf. Microwaves, Radar and Wireless
Communications. 2002, pp. 476-479, Poland.
[12] https://www.autoleveller.co.uk/autoleveller-guide/
[13] https://planet-cnc.com/how-to-mill-and-drill-double-sided-pcb-using-transformations-and-warp/
[14] http://www.alessiovaleri.it/using-transform-matrix-for-pcb-drilling-part-1/
[15] M. Nowottnick and R. Diehm, 2007, "Soldering Technology for 3D PCB Assemblies with Microwave
Heating," 2007 IEEE Int. Symp. Industrial Electronics, pp. 3273-327, Spain.
[16] R. Diehm, U. Pape, M. Nowottnick and W. Kempe, 2006, "Low Temperature Processing of Highly
Integrated Assemblies by Selective Heating," Proc. Electronic System Integration Technology Conf., Dresden,
Germany, pp. 608-611.
[17] J. Ou, A. Maldonado, C. Saephan, F. Farahmand and M. Caggiano, "A low-cost PCB fabrication process,"
2014 IEEE 64th Electronic Components and Technology Conference (ECTC), Orlando, FL, 2014, pp. 2159-2162.
[18] R. K. Barik, K. V. P. Kumar and S. S. Karthikeyan, “A compact wideband harmonic suppressed 10 dB
branch line coupler using cascaded symmetric PI sections,” Microwave and Optical Technology Letters, vol. 58, no.
7, pp. 1610-1613, July 2016.
[19] I. S. Krishna, R. K. Barik, S.S. Karthikeyan, and P. Kokil, “A compact wideband harmonic suppressed 10
dB branch line coupler using cascaded symmetric PI sections,” Microwave and Optical Technology Letters, vol. 59,
no. 4, pp. 913-918, April 2017.