PCB Notes
PCB Notes
Please Note: We acknowledge several literature and internet sources for developing the content of this document.
A printed circuit board (PCB) is an electronic assembly that uses copper conductors to create electrical
connections between components. PCBs provide mechanical support for electronic components so that a
device can be mounted in an enclosure.
A PCB design must include a specific set of steps that aligns with the manufacturing process, integrated
circuit packaging, and the structure of the bare circuit board.
● Conductive features on PCBs include copper traces, pads, and conductive planes.
● The mechanical structure is made up of an insulating material laminated between layers of
conductors.
● The overall structure is plated and covered with a non-conductive solder mask, and a silk screen
material is printed on top of the solder mask to provide a legend for electronic components.
● After these fabrication steps are completed, the bare board is sent into printed circuit board
assembly, where components are soldered to the board and the PCB can be tested.
Almost every electronic device you can think of contains at least one PCB. Phones, computers, tablets,
televisions, cars – you name it.
The main function of a PCB is to connect different components on the device and allow for
communication between them.
For example, your phone has a PCB that connects the screen, the buttons, and the circuits in the back.
Without this board, those components wouldn’t be able to talk to each other and the phone would cease
to function.
PCBs also play an important role in protecting these components from damage. By placing them on a
board and shielding them with metal layers, you create a Faraday cage that protects them from outside
interference like electromagnetic radiation.
● The first thing is that they allow for products to be smaller and more portable. The circuits on a
PCB can take up much less space than the individual components themselves, so you get a much
smaller product in the end. This also makes it easier to put together different parts of your circuit
and route traces where you need them to go.
● They’re very durable and long-lasting. They can take a lot of damage such as heat, moisture, or
even physical force, without breaking apart. This makes them ideal for use in areas that are
hazardous to electronics – like under the hood of an automobile where they are exposed to things
like oil and water. Allowing the boards to withstand these elements is crucial for ensuring it
continues working properly, especially if it’s something critical like braking systems.
● They’re extremely safe. The circuits on a PCB are encapsulated so that it’s almost impossible to
touch two contacts at once with your bare skin. This eliminates the chances of you getting an
electric shock from your device.
Single-sided - This board only has components mounted on one surface. The back surface is typically fully
copper (ground) and coated with a solder mask.
Double-sided - This type of circuit board has components mounted on both surfaces. Each surface is defined as
a signal layer in the PCB stack-up, so the surfaces will contain traces that carry signals between components.
Multi-layer PCBs - These boards have conductors on internal layers that carry electrical signals between
components, or the internal layers could be conductive plane layers. These may be single-sided or double-sided.
Rigid PCBs - These boards are fabricated and assembled on rigid laminate material, such as FR4-grade epoxy
resin-impregnated fiberglass laminate materials. Other types of rigid laminate materials are available as well,
which provide different material properties for use in some specialized applications.
Rigid-flex PCBs - Rigid-flex PCBs use a flexible polyimide ribbon that connects two or more rigid sections in a
printed circuit board assembly. A rigid-flex board might be used when the design must have some movable
element, such as a folding or bending enclosure.
Flex PCBs - Fully flexible PCBs do not use any rigid materials and are made entirely of flexible
polyimide ribbons. These boards can have components mounted and soldered on the, just like rigid
and rigid-flex printed circuit boards.
Metal-core PCBs - These boards use a metal slab in the core layer (normally aluminum) in order to
provide much greater rigidity and heat dissipation than in typical rigid printed circuit boards. The
metal-core PCB design manufacturing process is quite different from the standard rigid PCB design
manufacturing process, and there are a few design points to consider to ensure solvability. These
boards are common in high-power lighting and some industrial applications.
Ceramic PCBs - These boards are less common and are used in applications that require very high
thermal conductivity such that the board can dissipate large amounts of heat away from components.
10
Foundation of Design and Practicum Lab
PCB Etching
PCB etching is the process of removing unwanted copper from a printed circuit board. Once all
of the excess copper has been removed from the PCB, only the required circuit remains. Before
the etching process begins, a layout for the board is generated.
11
Foundation of Design and Practicum Lab
PCB Etching Methods
Wet Etching
The wet etching process uses a solution that dissolves unwanted copper using chemical reactions.
Depending on the etch material, either an acidic chemical or an alkaline chemical can be used for this
process.
While fabricating PCBs, a layer of copper is added on the substrate. Sometimes, both the sides of the
substrate are covered with copper layers. PCB etching process is carried out to get rid of the excessive
copper, and only the required copper traces are left behind after the etching process.
The etching process can be carried out in a number of ways. However, the most commonly used
method for etching is by using hydrochloric acid or ferric chloride. Both the chemicals are plentiful and
economical.The main purpose of the PCB etching process is to trace the circuit design on a copper
plate. To do this, there are several steps that you need to follow, which are as follows:
Step 1: The very first step of the etching process is designing the circuit, using the software of your
choice. Once the design is ready, flip it, and then get it printed.
Step 2: On the transfer paper, print the circuit design. Make sure that the design is printed on the shiny
side of the paper.
There are certain points to follow from the Step 3 till the last step:
Use safety gloves, while handling copper plate and etching solution. This will prevent the oil from hands getting
transferred to copper plate, and will also protect your hands from the solution or chemicals.
When you are using a sand paper on the copper plate, make sure you do it properly especially at its edges.
Step 4: Now, wash the plate with a particular liquid, so that any small particles of copper that get removed from
the surface while using the sand paper are washed off. Allow the plate to dry after washing.
Step 5: Cut the printed design properly, and place them on the copper plate facing down.
Step 6: The copper plate is now passed through the laminator several times until the plate gets heated.
Step 7: Take the plate out from the laminator, after it is hot, and hold it in a cold bath. Agitate the plate so that
all the paper comes off and floats on the water. You will see a traced circuit in black on the copper plate.
Foundation of Design and Practicum Lab 14
PCB Etching Methods ?
Step 8: Now take the board out of the bath, and place it in the etching solution. Agitate the copper
plate for around 30 minutes. Ensure that all the copper around the design is dissolved.
Step 9: Take out the copper plate and wash it in the water bath again. Keep it to dry. Once it has
dried completely, you can use rubbing alcohol to remove the ink transferred to the printed circuit
board.
Step 10: This completes the etching process of a printed circuit board. You can now drill the
holes using proper tools with the required drill bit size.
Dry Etching
The other, slightly newer method of etching is known as dry, or CNC etching.
This process involves the use of a CNC Milling Machine for for removing the copper, isolation
routing, engraving,drilling and board cut-out.
1 2 3 4 .
● Isolation routing: Isolation routing is when you take a blank PCB and rout (mill) around the traces, thus
isolating them. This is done with a very small end mill or V-bit. Holes are then drilled with a very small
drill bit. On dual sided boards both sides are milled. This allows you to create very complex boards.
● Engraving: PCB engraving is one of the most important elements of manufacturing process. It involves
removing copper from the surface of PCB in order to reveal the desired circuit pattern. During the PCB
etching process, all copper is removed except for the circuitry that is protected by tin plating.
● Drilling: PCB drilling, is the process of creating holes, slots and other cavities in an electronic circuit
board. During the PCB drilling process, a number of different hole types are drilled.
● Board Cutout: Cut-out the final shape of the pcb.
18
Foundation of Design and Practicum Lab
Thank You
1. Spindle
2. Magnetic Probe Connector
3. Spindle Speed Control Knob
4. Control Box
5. Machine Bed
4. Power Connector
This is situated at the back side of the control box. It is used to provide power to the control
box from Power Supply.
5. USB Connector
This is situated at back side of the control box. It is used to make connection between
computer and the machine.
6. Machine Bed
The machine bed is the area on which a workpiece can be attached for milling, engraving or
cutting.
The holes that are visible on the machine bed have work holding nuts below then. So that
the workpiece can be attached to the machine bed in a tight manner.
Below is X and Y axis representation in the software window and the machine bed.
Some of the work holding nuts beneth the machine bed are probing enabled and are marked in black
color as shown below. Atleast one work holding clamp should be connected to these nuts in order to
do the probing process.
Machine Software
Candle GRBL software is free to use, basic CNC machine control software. It is very
uncomplicated and as such is perfect for a beginner.
It incorporates a G-code visualiser and only has the essential functions you need for
running your G-Code programs.
Although only having a minimum of functions can be limiting, it drastically reduces
the ‘information overload’ that can occur if you are still unfamiliar with Cnc
machining.
First off I will go through and explain each area of the user interface and how to use
each feature.
State
This section shows the position of the spindle in relation to the work coordinates
(datum offsets) and the machine coordinates (machine reference point or machine
home position).
For basic cnc machines the machine coordinates will be located where the spindle is
located when the machine is switched on.
Control
The first button is the ‘home Button’. When correctly set up, the ‘Grbl candle home’
function will home your machine to a predefined point, this can be used if your
machine is equipped with limit/home switches.
The next control button is Z-probe. The Arduino control board has the ability to
connect a probe.
If you have one connected and it is set up correctly, pressing this button will probe the
top of your part and set this as your Z datum.
The next two buttons are Zero XY and Zero Z, pressing these will set your work
coordinates to where your spindle is currently positioned.
Reset is the equivalent of an emergency stop. Press it and your machine will stop the
spindle and any axis movements.
Unlock is used to get your machine going again after pressing reset.
Spindle
This section lets you switch on your spindle manually. This is used only when
manually switching on the spindle, not when running a G code program.
User Commands
This section lets you put custom user commands under different buttons provided
under.
Here first button ie. Button marked as “1” is set in such a way that if you want the
spindle to go to X0,Y0 point of the working coordinate just click on this button.
Overriding
This section lets you manipulate the feedrate, rapid feed and spindle speed while
running a G code program
Jog
The Jog section lets you manually control your machine’s 3 axes. The 4 direction
buttons on the left control the X and Y axes and the two solid arrows on the right
control the Z axis.
The ‘step’ drop down menu gives you the option of controlling the axis movements in
different ways. Selecting ‘Continuously’ will move the axes continuously while the
direction button is pressed. The movement will stop when the button is released.
The other options are all incremental movements, all shown in millimeters.
Choose a distance you want to move and pressing a direction button will move the axis
the chosen distance. There is a stop button in the center of the X Y direction buttons if
you need to prevent a crash.
The next choice is the feed, select your feedrate, for example a slower feed, allowing
for finer manual control.
The final option is a checkbox for enabling keyboard control. The controls to move
your axes are as follows, (Thanks to Giulio for the information)
NUMBER PAD 8 = Y+
NUMBER PAD 2 = Y-
NUMBER PAD 4 = X-
NUMBER PAD 6 = X+
NUMBER PAD 9 = Z+
NUMBER PAD 3 = Z-
NUMBER PAD 5 = STOP
Make sure you don’t check the box by mistake, having it checked will prevent you
from using the console.
Console
This area will show you the commands that are used when you press any of the control
buttons. It is also used as an MDI screen.
Manual Data Input allows you to type individual lines of code and execute them
independently of any G code program loaded.
Pressing Pause will halt the movement of the axes without stopping the spindle.
If you encounter a problem and need to stop the program just press Abort and the
machine will stop completely.
If you want to restart, click reset to get back to the beginning of the program before
pressing Send again.
Candle Visualizer
The tool paths in the visualizer can be manipulated with your mouse in the usual way.
Rotate the paths by holding down the left mouse button and moving the mouse, hold
down the right button to pan and roll the scroll wheel to zoom in and out.
There are also the icons in the top right of the visualizer window to position the
toolpaths in the typical viewport positions.
Common Procedures
Below are some of the common procedures which will be repeted during different
operations.
3. Probing
After properly attaching the PCB on the machine bed as shown above, now for probing first
put magnetic probe connector to the shaft of the Spindle as shown below.
Now click on Z Probe button in the software window.
After clicking on Z Probe button the Z axis of the machine will slowly go towards bottom side and
as soon as the tool bit attached on the spindle touches the PCB surface, it stops. This is the Zero
position of the Z axis.
Now click on Z0 button and you will see that the third variable of the work coordinate will become
zero.
5. Performing Heightmap
To create the heightmap, click on the “Create” button under Heightmap tab which is
situated at top left side of the software window.
After clicking on the create button you will see that the heightmap tab is enabled with some user
selectable variables, Heightmap probe points appear over the G-Code sketch, a probing grid appear
as heighlighted below.
Now click on Auto button to automatically set the Border for heightmap.
After clicking on the “Auto” button the Heightmap boundary are automatically set according the the
G-Code Sketch as shown below.
You can also increase or decrease the probe Grid as shown below.
Here the probe grid value on X axis is 4
and on Y axis is 6
If we increase or decrease the probe grid it is reflected in the visualizer as shown below.
Here both X and Y probe grid are set to be 5 which is seen in visualizer.
After setting the proper values for “Border” and “Probe Grid” click on “Probe” button highlighted
below.
Now the Heightmapping will start and you will see that heightmap at each point is stored in the
heightmap matrix
After all the probing point in the heightmap are completed a small window will popup with job
done message. Then click on OK.
Then you will be able to see the heightmap in the visualizer. Now click on “Edit” button to come
out of Heightmapping mode.
1. First Connect the mains cord to the power inlet of Power Supply Box.
2. Now Connect 4 Pin Metal Din Connector to the power input of the Control Box, Which is
Present at the back side of the machine.
3. Now Connect the USB cable to the USB Type B port which is present at the back side of the
machine. Then connect other end of the USB cable to the computer.
4. Now Open Candle software which is provided with the machine. You will see that all the
icons are disabled.
5. Now Go to Service-> Settings , a pop-up window will appear. Select Com Port of the
Machine and click OK button.
Now all the software Icons are enabled as shown below.
6. Now open the G-Code file using File-> Open. And select the desired G-Code from the file
manager. Then Gcode sketch will appear in Visualizer window of the software as shown
below.
7. Now Stick the Plane PCB to the machine bed as shown below.
** atleast one piece of the work holding clamps should touch the PCB Surface for probing
Purpose.
8. Now attach the suitable bit(according to the G-Code file) to the spindle chuck and jog the bit
in the work area. After bringing the bit to X0, Y0 point over the PCB, click on “Zero XY”
button. Now for the whole working procedure this point will be considered as X0, Y0 for the
selected G-Code file.
After clicking on the “Zero XY” button you will see that first two values of the work
coordinates will become 0, 0. These two values represent X and Y coordinate values to the
G-Code file.
Now to select Z0 point of the G-Code correctly, we need to do probing if the surface is
metallic. But before probing make sure that atleast one of the work holding clamp should be
connected to the PCB plate as shown below and the magnetic probe connector should be
touched on the shaft of the spindle.
9. After doing above process click on “Z-Probe” button in the software.
Now after clicking on the Z-Probe button the Z-Axis of the machine start moving
downwards until the tip of the tool bit touches the Copper area of the PCB. When the tool
tip touches the copper area the Z-axis stops and the probing is complete.
10. Now click on Z0 button and you will see that the third variable of the work coordinate also
becomes zero.
11. Now all the work coordinates are set we can go on to start the operation.
[Optional ---> In case of milling or engraving where the surface height at different points
may vary that'swhy we will create a heightmap to get precise depth of cut.
Perform the heightmap, according to the procedure given above in the manual.
After properly saving the heightmap coordinates you can go on to perform the milling
operation.]
To start the operation click on “Send” button as shown below.
12. Then the software will show an error message. Click on Ignore button on the pop-up.
13. Then machine spindle will move to X0Y0 coordinate of the G-Code, Now click on “Pause”
button and the machine will start the working and it can also be seen in the visualizer.
For all the operations ie. Milling, drill, and cutting we need to perform the above procedure.
The only difference is that you do not require heightmapping in any process other than
milling operation.
**Note – X0 and Y0 should be set only once at the start of the operation, then you can
follow the complete procedure ie. Mill, drill and engrave. You only need to set the Z0 point
during different operations because the height of different tool bits vary.
1. Open all the Gerber files click on File->Open->Open Gerber. And open the gerber file
with Bottom layer from desired location.
6. Then under Mirror Operation select your desired axis along which you want to mirror the
object.
Axis -> Y
Reference -> Box
Refrence Object -> Board Cutout
Then click on Mirror button.
You will see that the bottom file is mirrored as shown below
7. Now follow the same operation for drill file by first selecting Source Object type as
Excellon
Then you will see that the Drill file also is mirrored and aligned with the mirrored bottom
side as shown below.
Now you can further follow steps as provided in the manual from step 9 to create G-
Code for Drill, Mill and Cut operation.
9. Now double click on the Top/Bottom gerber file and you will see some options as shown
below.
As highlighted above there are three main options
1. Isolation Routing – Used to create isolation between tracks and remaining part of the
copper clad board
2. NCC Tool – Used to completely clear a specific area in the PCB
3. Cutout Tool – Used to cutout the PCB board from large copper clad board
10. Now click on Isolation routing option which is option 1 as highlighted in red.
And a new tab will open which will look as shown
11. Then change all the values which are highlighted below
Change tool Diameter to 0.25, tool type /TT to C1, passes to 3, overlap to 20%.
**Note that all the above parameters are selected according to the type of tool we are
selecting for the operation and amount of isolation required.
Now according to the previous option that we have selected a new geometry object is
generated, which can be manually selected from project tab or directly opened. After this
object is generated you will observe fine red lines around the copper area of the pcb as
shown below.
12. In this tab as shown in above image we will change the values according to the previous
selected tool.
The new values will be Cut Z -> -0.085, Feedrate X-Y -> 180, Feedrate Z -> 80.
**Note all the values which are changed above are according the the tool and operation
selected previously.
Then click on Generate CNCJob object button as highlighted below.
14. When you click on Generate CNCJob object button a new cnc file will be generated and the
red lines will turn violet as shown below.
Then click on Save CNC Code button and save the file at desired location.
**Note – Save the G-Code with a name which can specify the type of operation and size of
the bit which is going to be used
For example – In above case this g-code is created for Bottom design Milling and the tool
specified the creating the G-Code is 0.25mm milling bit, so it is also specified in the name of
the G-Code.
15. Now double click on the drill file and you will see the following window. Then click on
Drilling Tool button as highlighted below.
After clicking on Drilling Tool button you will see following window.
16. Here we change CutZ to -1.8, Feedrate Z to 300, Tool change z to, End move Z to 15.
Then click on Generate CNCJob object.
17. After Generate CNCJob object you will see the following window. You will observe some
yellow lines which are tool paths. Now click on Save CNC Code , and save it on desired
location.
Board Cutout G-Code Generation.
First click on File->Open->OpenGerber, and select the gerber file for board Cutout from file
manager.
18. Then you will see an outline in the Graph area as shown below.
Now double click on the cutout gerber file which is highlighted below.
19. Then following window will show up. Now click on Cutout Tool as shown below.
21. After clicking on Generate Geometry button, you will see red outline near the board
boundary as shown below.
Then go to Project Tab.
22. In the project Tab you will see a new Geometry object under Geometry option. Now double
click on the newly created Geometry object as highlighted below.
Then a new window will open as shown below
23. Then change Feedrate X-Y to 100 and click on Generate CNCJob object button as shown
below.
24. After clicking on Generate CNCJob object, you will see that the red outline will turn
violet, as shown below. Then click on Save CNC Code Button, and save the file at desired
location.
Now you have all the G-Code Files which are required to create single sided PCB's, designed
on either Top Side or Bottom Side.
Gerber to G-Code conversion for double sided PCB's
1. Open All the Gerber Files ie. Top Gerber, Bottom Gerber, Board Outline and drill files
as shown below.
In above image the Top file is blue in Color, Bottom file is Green in color, Board Outline
is Yellow in Color, and Drills are red in color.
You can also change the color of any file for better view by Right Click on any file and
select color.
You can also Enable and disable the plot of specific file for clear view as shown below. Here
we disabled Top gerber as shown below.
2. Now We first Process Top Files ie. Top, BoardOutline and Drills.
First double click on Top.gbr(Top gerber) then multiple options will appear for top file.
Then a Geometry Object is created which is plotted as red color lines around top layer as
shown below.
5. Now in this Geometry object we need to change few parameters
Cut Z -> -0.085 (thickness of copper layer which will be removed)
Feedrate X-Y -> 150 (speed of the X and Y axis during operation)
Then click on Generate CNCJob object.
6. Then a CNC path object is generated which will be violet in color as shown below. Now
click on Save CNC Code button and save the G-Code File to desired location.
**Note – Always save the file name such that the details is specified in the file name itself
as shown below
9. Now a new window will appear in which all the drill diameter along with the number of
drills are specified.Then we need to generate separate G-Code for each drill by first clicking
on the drill diameter from the list and then specify parameters for them.
Here in this case there is just one Drill so we do the process only once.
Here Change
Cut Z -> -1.800 (Depth towards which the the drill will go)
Feedrate Z -> 150 (Speed with which the drill will be done)
End Move Z -> 15 (End move of the drill tip after completing the operation)
Then Click on Generate CNCJob object button
10. Then a CNC Job Object will open and you will see drill path in the plot area in yellow line
as shown below.
After that click on Save CNC Code button and save the drill G-Code File to the desired
location.
11. Now we will create G-Code for Board Cutout file.
In Project Tab under Gerber, double click on board outline file, which in this case is
BoardOutline.gbr.
12. Then a new Gerber object will open , then click on Cutout Tool.
13. Then a new object named Cutout PCB will open . There we will change some tool
paremeters such as
Tool Dia -> 2.0 (Cutting diameter of the tool)
Cut Z -> -1.8 (Thichness of the PCB board)
Uncheck Multi-Depth option (since the Cutting tool is capable of cutting the pcb in single
pass)
Margin -> 0 (We do not want any margin in cutting)
Gap size -> 0.5 (This is width of the gap which is left while cutting so that the PCB will
stay at its place even after cutting)
Gaps -> either 4 or TB(Top Bottom) or LR(Left Right) (Location of the Gaps)
14. Now click on Project Tab and under Geometry option double click on recently created
geometry object for BoardOutline file.
15. Then Change Feedrate X-Y -> 100 (We keep this feedrate slow for better cutting )
Then click on Generate CNCJob object button
16. Then CNC Object is created which will be violet in color as shown below. And after that
click on Save CNC Code to save the G-Code at specific location.
17. Now that all the files on the top side are processed, we process bottom file. And since this is
double sided PCB we will go through some extra steps as shown below.
First we will disable Plot of all the object (Geometry and CNCJob) so that everything will
look neat. For that go to project Tab and select all the files other than Gerber files.
Then Right Click on the selected objects and click on Disable Plot option.
Now you will see that all the objects which were created previously were hidden
18. Then in the Tool menu click on 2 sided PCB option.
20. Now we need to create alignment Drills, so that we can rotate the PCB with reference to
these drills.
For alignment drills, under PCB Alignment set Drill Dia to 2.0, Axis to be Y as shown
below.
21. Now to get the location of the alignment drills
Under Plot Area by pressing Shift Key left click on any location near board outline.
Then Click on +Add button Which is there under PCB Alignment and the software will
take the coordinates of the location where you have left clicked in the plot area.
Then you will see that under Alignment Drill Coordinates, X and Y coordinates
automatically gets filled (These are the same points where you have put your mouse cursor
and left clicked in previous step).
22. (Optional) - Now select one more location and perform the same operation as done above.
Then the software will take one more coordinate for the alignment Drills.
23. Now Click on Create Excellon Object button then it will create alignment drills which
can be seen in Plot Area.
24. Now Click on Project Tab and you will see Alignment Drills under Excellon.
25. Now for clear view of the project disable plot of everything except Bottom and Alignment
Drills.
Then a new Geometry object is generated around the copper area which will be red in color
as shown below.
29. Now in this Geometry object we need to change few parameters
Cut Z -> -0.085 (thickness of copper layer which will be removed)
Feedrate X-Y -> 150 (speed of the X and Y axis during operation)
Then click on Generate CNCJob object.
30. Then a CNC path object is generated which will be violet in color as shown below. Now
click on Save CNC Code button and save the G-Code File to desired location.
31. Alignment Drills
Now to process alignment drills click on Project Tab and under Excellon double click on
Alignment Drills.
32. Now click on Drilling Tool button.
33. Now a new window will appear in which all the drill diameter along with the number of
drills are specified. Then we need to generate G-Code for the drill.
Here Change
Cut Z -> -1.800 (Depth towards which the the drill will go)
Feedrate Z -> 150 (Speed with which the drill will be done)
End Move Z -> 15 (End move of the drill tip after completing the operation)
Then Click on Generate CNCJob object button
34. Then a CNC Job Object will open and you will see drill path in the plot area in yellow line
as shown below.
After that click on Save CNC Code button and save the drill G-Code File to the desired
location.
Now that you have all the G-Code files necessary for making Double Sided PCB you can
proceed further to the G-Code sender Software (Candle)