Easy and Cheap PCB Milling

by xxreef in Circuits > Electronics

33248 Views, 211 Favorites, 0 Comments

Easy and Cheap PCB Milling

millingPCB.jpg
Milling PCB (easy way) - Finish copper bottom milling process
cc1_q2Wm3yPn7l[1].jpg

I write this guide because I think It's helpful starter tutorial to milling PCB in a very simple way and low budget.

You can find complete and updated project here https://www.mischianti.org/category/tutorial/milling-pcb-tutorial/

Instruments: Router

myrouter_IrVQ27EbZN[1].jpg

If you have some passion for homemade things you must build a router.

To build It you need arduino an old scanner and an old printer.

I write old in bold because new device sometime haven't a stepper motor but brush motor with feedback device.

Than If you have at home a dremel like It's perfect to complete your CNC.

My CNC is that (a mix of drawer guides, epson gt-8700 and Lexmark x642e all completed with plexyglass).

Finally I upgrade my router:

www.mischianti.org

Instruments: Router Electronic

cncinside.jpg
s-l500[1].jpg
0J4227.1200[1].jpg
my6CmxLH2IHqX_YbjoQFoTQ[1].jpg
s-l1600[1].jpg

Component of CNC

  • Arduino UNO.
  • CNC Shield (eBay).
  • DRV8825 (eBay).
  • Stepper from Scanner and Printer.
  • Relay to activate Dremel (eBay).
  • You must create a board to eliminate noise from limit switch.
  • I use HC-05 bluetooth to control the CNC because the noise of dremel is very high and I prefer control from another room (eBay) (Explain connection here).

Program/firmware on Arduino

  • You can find here the program to upload to arduino (I must change some property of code to use without speed regulator, my dremel is activated or deactivated without PWM).

Instruments: FR4 Single Side Copper Clad Plate.

5-pc-7-10cm-single-side-circuit-board-copper-clad-plate-laminate-universal-pcb-circuit-board_g24WryR9qg[1].jpg

For the project I select a single side Copper clad plate 1.5mm thin.

eBay

Exists 2 variant one with yellow (laminate) and other white material (Glass Fiber), the second one is better for milling.

Instruments: V Style Bit (10° Angle and 0.1mm Tip).

best-price-1pc-carbide-pcb-engraving-bits-cnc-router-tool-10-degree-0-1mm_iirpfugl98[1].jpg

It's very cheap bit I buy 10pcs for 3$, and work well.

eBay

Instruments: Fritzing

image_pDCLuGK3iD[1].png

A beautiful program to prototype board.

http://fritzing.org/home/

Instruments: FlatCam

image_aGDODHJkHu[1].png

A specified program to create gcode from Gerber file.

http://flatcam.org/

Instruments: Universal GCode Sender.

image_mq3Uah95p0[1].png
Milling PCB (easy way) - Universal GCode Sender

This program is what I like to use to control my CNC but you can use what you want.

http://winder.github.io/ugs_website/

Starting Project.

To start we need a project, I like to create a fast prototype board for my IC, and I like to program with ESP01, I like to work with only two wire (so I can use Serial olso), so PCF8574 IC a I/O port expander via i2c protocol is my first prototype board.

The input female pin is GND, VCC, SDA and SCL, the dipswitch-03 is for setting address of i2c.

Then there are 8 female pin for I/O (P0-P7) and a Interrupt pin near SDA SCL pin.

You can find library to use in a simple manner the IC here and the instructable here.

Fritzing: Project

pcb_pcf8574_03_bb_URoui14Qj4[1].png
pcb_pcf8574_03_schem_S43rSEL2xx[1].png

For first you must create your prototype on breadboard.

As you can see the only difference from a "normal prototype board" is that I add a female pin.

I add that because so I have that pins to the PCB schema.

If you want you can create a schema for better comprehension, but It's not needed.

Fritzing: Start Draw PCB

Than in the third tab you have a scrambled PCB and here we must work.

Positioning is very simple, so I add only some advice.

Fritzing: Select Correct Layout of PCB

image_alATT6c0T0[1].png
image_YPggXlc32Y[1].png
image_4bVgBt7mmO[1].png

For first select a gray PCB and in the right panel select one layer PCB.

Fritzing: Use Jumper to Overlap

image_1KSSuiXa2f[1].png
image_QbRHo4BcAf[1].png
image_eihWHPqstZ[1].png

Than start to positioning element over the PCB.

Than connect element, when you have a overlap you can use a jumper element, you can find It at the end of core parts with some other useful instrument for create PCB.

Fritzing: for Bigger Hole Ring

image_Y3UjPjAjxv[1].png

I need to connect 2 elements but 2 wire is in the middle so you can use a jumper wire to doing that.

Sometime I don't use jumper wire because I like to create hole bigger than normal.

You can specify size, when I can I create 0.8 0.8 hole (for bigger hole ring).

Fritzing: Set PCB Size to Reduce Waste

image_D0nOSSGZNw[1].png

The blank PCB that I buy is 7cm x 5cm.

To have a better milling surface I prefer use few 45° angle copper wire and I'm going to use a bigger surface with minimal waste so I select a sub-multiple dimensions like 1/2 of the size 3.5cm x 5cm.

Fritzing: Use Bigger Size of Copper Wire

image_UW4XAv2jrX[1].png

When you use few 45° angle you can create a thick copper wire.

Bigger copper wire is more safe when you are going to route PCB.

So select copper wire and "extra thick" on panel.

Fritzing: It Is Not Always Necessary Create Components

image_dekuaL09pU[1].png
image_VdQfi2Fi3R[1].png

In this project I need a dipswitch 03 but in Fritzing you have 02 and 08, if you want you can create the component or you can overlap 2 of that to create a single dipswitch 03.

Fritzing: Some Text on PCB

image_u5HHOKkcCS[1].png
image_f1Dw9qBRyB[1].png

If you want add some text on PCB you can use a text instrument.

Now we create a single side PCB so to write something like second image.

You must select silkscreen bottom, and to have a good readability I think you must set 4mm text height.

Fritzing: Connect All Elements

pcb_pcf8574_03_pcb_hPhvgLN5S8[1].png

At the end when you connect all elements and write what you want.

The typical result is in the Image.

Fritzing: Generate Gerber File

image_iJnNwYWBFG[1].png
image_V5RHzJlltd[1].png
image_LmJ87NGXuJ[1].png
image_KrNpbr7xp6[1].png
image_lgd72C5uqQ[1].png

In Fritzing we can export the gerber file from the menu File-->Export-->for Production-->Extended Gerber.

Select a folder and go.

The name of the generated file is quite readable.

FlatCam: Settings

image_jOwrigETvc[1].png
image_bYi8NpF9aA[1].png

First I set some default value on my FlatCam.

I set 0.57 for tool dia[meter] because it is the max tool size without too many overlaps.

For Excellon (drill information), I set it to 1.5mm because this is the thickness of the copper clad that I buy.

Paint area I set overlap (0.01) and margin (0.1) very low to create small letter.

Border put 0.1 to margin, other value is reccomended.

FlatCam: Import File

image_A5g9JWGS0v[1].png
image_XFKQgG9wGZ[1].png

You must import in FlatCam so:

File --> Open Gerber

  • copperBottom.gbl
  • silkBottom.gbo
  • contour.gm1

File --> Open Excellon

  • drill.txt

FlatCam: Generate CNC Job (drill)

htb1sq_kmvxxxxarxfxxq6xxfxxxc1_qKVubp9MBb[1].jpg
image_y3oEBbqK86[1].png
image_W1DN5Lh8WI[1].png
image_vjLWyugSog[1].png

The last one is drilling but Excellon is already geometry.

I don't want to change the bit; I've use the same bit all along and a punching tool to enlarge the smallest part of the V hole. Or if can set low dept and finish hole with a 0.75mm bit.

I also use the punching tool to remove the copper connections that aren't removed by the CNC.

  • Select drill.txt on the screen where there is the list of bit sizes, click and select all (Ctrl+a).
  • Then go to generate CNC Job.
  • Cut Z is the dept of the hole, I set It to -1.5mm the height of copper clad.

FlatCam: Generate CNC Job (copperBottom)

image_xfK9DnFlIS[1].png
image_Bk11jVdD4O[1].png
image_mQ0Xhu5xfw[1].png
image_7b7lO1Hc1E[1].png

Tool dia to 0.57 as usual, and set splindle speed if needed (I use dremel with costant speed).

FlatCam: Generate CNC Job (silkBottom)

image_m5byPNxjlC[1].png
image_izJqI3jcIS[1].png
image_4BkqzQKavd[1].png
image_s5SLkOrYul[1].png

Now select "Combo" element (generated from the joint geometry of silkBottom) then Create CNC Job.

FlatCam: Generate CNC Job (contour)

image_uN5IdvPe6N[1].png

Lastly, select contour.gm1_cutout.

Here I prefer to generate a cut of 0.5mm dept, then I cut to the line with tin scissors, so I set 0.5 of final dept and 0.05 for pass.

FlatCam: Generate Gcode File

image_23q6whqYGb[1].png

From FlatCam select one to one the "*_cnc" file and "Export G-Code".

Universal GCode Sender

image_vTmvu7SaQE[1].png

I use to send command to CNC UGS, It's very simple and beautiful.

The common cutting order is:

  • copperBottom
  • label
  • drill
  • border

Universal GCode Sender: Simulation

Milling PCB (easy way) - Universal GCode Sender

Here a simulation of Universal GCode Sender.

Put Copper Clad on Router

biadhesive01.jpg
biadhesive02.jpg

I use biadesive to hold copper clad to the surface.

For this part I use a photo of other project that I have directly available.

Start Routing

ugsAtWork.jpg
routerAtWork.jpg
routerMillingPCB.jpg
Universal GCode Sender simulation and routing process whit the homemade router

After positioning Zero coordinate, start routing.

For this part I use a photo of other project that I have directly available.

Start Routing: Video

Milling PCB (easy way) - Finish copper bottom milling process

Finish copper bottom routing.

Dirty Result

finishWorkDirty.jpg

When finish the result is quite ugly.

For this part I use a photo of other project that I have directly available.

Sanding Board

afterSandPapaer.jpg
finishCutBorder.jpg
finishWork.jpg

With sand paper PCB take form.

Then cut border with scissor.

For this part I use a photo of other project that I have directly available.

Copper Clad Milled

cc1_q2Wm3yPn7l[1].jpg

Now we have our first view of PCB

Soldering Component

cc2_RxwNxH7cDO[1].jpg

In a full PCB copper ring thickness is quite thin, but no problem to solder It.

Final Result

cc3_UYlbWnRgbw[1].jpg

The result It's ok.

Examples: I2c LCD Adapter

SchemaLCD_i2c_cat_pcb.png
pcf8574_lcd_adapter01_vYBUaXbI32[1].jpg
pcf8574_lcd_adapter02_nQWiarzSOC[1].jpg
pcf8574_lcd_adapter03_a9EwsuHgL3[1].jpg
Milling PCB (easy way) - Milling process

Link to library here.

Examples: Pcf8591 Prototype Board

image_bn0GefwRNz[1].png
pcf8591_protboard01_L9p6gWrnhk[1].jpg
pcf8591_protboard02_KRoL6oUGz6[1].jpg
pcf8591_protboard03_MBN61owiJX[1].jpg
pcf8591_protboard04_SHiOdve6vB[1].jpg

Link to library here.

Examples: ESP-01 Prototype Board

image_SHj6xjHAKC[1].png
esp01_01_T0XeSSr1fF[1].jpg
esp01_02_knnWG5BADI[1].jpg
esp01_03_sWc1UNE4Oe[1].jpg

Very usefully to use all 4 pin of ESP01, and to manage external power supply.

Examples: Pcf8574 Prototype Board Minimal Versione

pcb.PNG
01.jpg
02.jpg
03.jpg
04.jpg
05.jpg

This version is my smallest size of the board, with very thin copper wire at 45° curves.

Link to library here.

Thanks