Tim's PCB (Plotted Circuit Board)

6,043

40

8

This is the process I use to create a custom Circuit Board for my projects.

To make the above:

I use my XY Plotter with a Scribe to remove an etchant resit film to expose the copper to the etchant.

I use my XY Plotter with a Laser to burn ink into the top surface.

I use my XY Plotter with a handcrafting drill to drill the holes. (0.8mm)

Step 1:

This is how I do it:
I am not going to go into detail of how to use the programs I use, instructions on how to use the programs can be found on there relevant sites. What I will be doing is explaining the Process, and any tips to aid in the programs. At first glance this may look a bit longwinded, but once done a few times, its just click click click …

Step 2:

First I create the circuit in Fritzing. (its small program that will run from a folder)

I would like to win the contest so lets pretend I use Eagle it will produce the same files.

So, use Eagle create your circuit.

If you have never used Eagle before to make PCBs, download a free trial version right now.

This is a small example board I made to show this process, it's a board I use to connect my Bluetooth Device to my Arduino. It shifts data 3.3v to 5v and 5v to 3.3v.

Step 3:

Then I Export the PCB in "Extended Gerber (RS-274X)" and "Etchable (SVG)" To my projects folder.

I now have files I can convert to something my plotter can use.

Step 4: File for the Scribe

The first file I need is the one to scribe the copper traces on the copper side of the board. (Expose Etchable Areas)


To do this I use FlatCAM.

Step 5:

From the File menu, navigate to the project folder:

Open Gerber files: ???_contour.gm1 and ???_copperBottom.gbl

Open Excellon File: ???_drill.txt

Step 6:

These are viewed from above, so they need to be flipped. (I preferer to flip them horizontally)
Select Tool from the top menu, the choose Double-Sided PCB Tool.

Step 7:

In the Tools window set:
Mirror Axis to "Y", Axis Location to "Box" Pint/Box to ???_contour.gm1 (this is the size of the board, so it set the area to flip things)

Bottom Layer is the files to be flipped.

Choose: ???_copperBottom.gbl then click Mirror Object.

Choose: ???_drill.txt then click Mirror Object.

Step 8:

Next is to create the geometry for the path the scribe will take.

I do both the copper traces and the holes. (The reason for doing the holes, is when they are etched, they act like pop marks for the drill bit )

Step 9:

So, in the "Project" Tab select: ???_copperBottom.gbl file, then select the "Selected" Tab.
Set the settings shown in red border and click "Generate Geometry" for Isolation Routing.

Notice that the Combine Passes is not ticked. (I will be combining things later)

Step 10:

The reason I did not combine passes, is because I want to remove the first pass. (the reason is a bit long winded, so I won't explain at this time.)

Go back to the "Projects" Tab and delete the first pass.

Step 11:

Select the remaining paths and select "Edit" from the main menu and chose "Join Geometry"

This creates a new file: "Combo".

Step 12:

So the original paths can be deleted.

Step 13:

I like to etch the holes to aid the drilling process, so paths are needed for the holes.

To do this, in the "Projects" Tab, select the ???_drill.txt file and then select the "Selected" Tab.

With the settings shown in the red border, click "Generate Geometry" for Mill Holes.

Step 14:

Before the next step both path files can be joined.

In the "Projects" Tab, select the 2 path files and select "Edit" from the main menu and choose "Join Geometry"

Step 15:

This creates a new file: "Combo_1".

So the original paths can be deleted.

Step 16:

Next, select that new combined path file (Combo_1) and select the "Selected" Tab.

Set the "Tool dia" as shown in the red boarder.(this is drawn in blue when "Generate" is pressed)

The other settings are plotter (machine) dependant.

They don't matter to me, as I am going to edit the final G-Code produced later.

Click the "Generate" button.

This creates a new CNC file.

Step 17:

Go to the "Projects" Tab and select it.

Step 18:

Go to the "Selected" Tab.

Here is where the file is exported to G-Code.

At this point commands can be prepended or appended to the code produced.

I add M18 to turn off the motors when finished.

Click "Export G-Code"

I give the file name the same as the ones produced in Fritzing with my own file type.

e.g. ???_copperBottom (with holes).tgc

If it is going to be used with a machine that runs CNC G-Code then use the file type .gcode

This file is the one used to control the scribe.

The XY Plotter I am using is one I have designed and built myself, so the firmware and software used is what I have written.

So I will be editing this file so that my firmware understands it. (it's still based on G-Code)

Step 19: File for the Drill

Next I need a file for the drill.

For this I use the ???_drill.txt again.

I delete every thing else from the "Project" Tab. (remember this one is a flipped one, so if you delete it and reload it, you must flip it again)

Select the ???_drill.txt file and select "Selected" Tab.

This time I create a CNC file.

Click "Generate" Button.

The settings here in the red boarder are plotter (machine) dependant.

They don't matter to me, as I am going to edit the final G-Code produced later.

Step 20:

Next select the "Project" Tab and select the new ???_cnc file

Step 21:

Then select the "Selected" Tab and export to a G-Code file as before.

This file will be named ???_drill.tgc (file type dependant on machine used)

This file is the one used to control the Drill. I will be editing this file so that my firmware understands it.

I also need a file to align my plotter when I turn over the PCB to draw the component locations on the top side.

I make another drill file as I have just done but with a reload one and don't Flip it.

I name it ???_drill (top).tgc (I will explain later).

I have now finished with FlatCam.

Currently I have produced 3 files:

???_copperBottom (with holes).tgc

???_drill.tgc

???_drill (top).tgc

Step 22: File to Draw Component Locations

Next is creating a file for the top. (To draw the component locations)

To do this I use the ???_etch_silk_top.svg file in my project folder created by Fritzing.

This is a Scale Vector Graphics (SVG) file, so can be edited with any program that can handle this type of file.

e.g. Inkscape, I haven got the hang of layers in ink scape yet, so I use Corel Draw and export it.

This file contains several layers, I don't want to use them all, so I edit is to that it only contains what I want and save it as new file. (e.g. ???_etch_silk_top (modified).svg)

Step 23:

This is what the file looks like:

I have written a sub program in my software to convert SVG to G-Code (tgc) but there are addons for Inkscape that do it as well. (as I mentioned, I'm just showing my process of doing it)

Step 24:

My software can't handle multi-subgroups so I need to simplify the file.

First I ungroup every thing.

Step 25:

Then I make all objects "Hairline" and "No Fill".

Make the canvas the same size as the board. Make sure the board is aligned with the canvas.

Step 26:

Then remove every thing I don't want.

Step 27:

As I am using Corel Draw, I export it as a SVG.

My SVG to G-Code program uses true type fonts (TTF) so I set the settings accordingly.

Step 28:

Now that I have the SVG file I need, I can convert this one to G-Code (tgc) with my software.

This file can be sent to my plotter as is.

Step 29:

Those familiar with G-Code files will know you can get variations on the original.
To give an example:

CNC G-Code. Take a look here: Understanding Common Fanuc Style

3D Printer G-Code. Take a look here: 3D Printer

grbl G-Code. Take a look here: grbl

If you have been wondering why I give my files, the file type .tgc? It's "Tim's G Code". My modification of G-Code.

I assume what ever Plotter you use, you have read the manual.

I need to edit the other 3 files so that my plotter understands them.

They are small edits, mostly gramma. I have one plot and two drill files to edit.

To edit the files I just use Notepad. I use the Edit => Replace (replace all) tool.

Step 30: File Edits

First file: ???_copperBottom (with holes).tgc

1. This is a feed speed command. I need to a G00 in front and set what speed I want. (once only)

2. This is a move command, move Z to a position above zero. As I don't have Z movement as such, I have a servo or laser, I need to change it to a off/up command, I have used the code M05 for this, so all these commands need replacing. (click replace all)

3. I need to remove these at this point. (once only)

4. My Firmware needs a space in front of the "Y". (click replace all)

5. This is a move command, move Z to a position below zero. As I don't have Z movement as such, I have a servo or laser, I need to change it to a on/down command, I have used the code M03 for this, so all these commands need replacing. (click replace all)

Step 31:

After Editing.

The L700 in the command "M03 L700 (Pen Down)" is a level value, used to set the servo at a position or set the power of the laser.

Text in brackets are comments and are ignored by the firmware.

Step 32:

The drill files: ???_drill.tgc and ???_drill (top).tgc are a little different, there is a command to pause while the hole is drilled.

1. This is a feed speed command. I need to a G00 in front and set what speed I want. (once only)

2. This is a move command, move Z to a position above zero. As I don't have Z movement as such, I have a servo or laser, I need to change it to a off/up command, I have used the code M05 for this, so all these commands need replacing. (click replace all)

3. I need to remove these at this point. (once only)

4. My Firmware needs a space in front of the "Y". (click replace all)

5. This is a move command, move Z to a position below zero. As I don't have Z movement as such, I have a servo or laser, I need to change it to a on/down command, I have used the code M03 for this, so all these commands need replacing. (click replace all)

6. This is move Z to zero. I don't want this, I want it to wait while the hole is drilled. Here I replace it with the dwell command "G04 P5000 (Wait 5 seconds)". (click replace all)

Step 33:

After Editing

I now have 4 files to use with my XY Plotter.

Step 34: PCB Holder

When scribing and drilling my PCB, I need something to hold it in place.

I have found that it is a good thing, if I can remove the PCB from the holder and replace it back in the same position it was removed from.

It also has to hold it above the bed, so that when drilling, the drill will not foul on anything.

I have come up with this design shown in the photos, I printed on my 3D printer.

I has 2 stops and support that are fixed, 1 stop with support and clamp that is adjusted along a guide to keep things parallel, 2 clamps with support that can be moved to many positions.
The nuts are M3 square nuts, the screws are M3x25mm hex head with grips fixed with 2 pack adhesive. It will take a board max size: 105mm X 75mm.

Here are the STL flies if you wish to make one:

Base.stl

Front Clamp Support.stl

Front Screw Stop.stl

Knob.stl

Side Back Stop.stl

Side Screw Stop.stl

Step 35: Size the Board

Next Cut the Copper Clad Board to size.

To do this, I just score both sides with a crafting knife and snap it two.(some times its best to snap it over a straight edge)

I use the back side of the blade to score, I find it scores better and does not wander off as much.

I also have stuck foam pads to the underside of my rule, it stops it sliding about.

Step 36: Prepare the Board

As I have stated, I am going to use a Scribe to remove an etchant resit film to expose the copper to the etchant.

The etchant resist is just ink from a Chisel Tipped Permanent Marker Pen. (a permanent marker is water resist, so it is also Ferric Chloride resist)

Coat the Copper Side of the Board with ink, using the Chisel Tipped Permanent Marker Pen. (I use a chisel tipped pen because it coats it easier)

Step 37: Make a Scribe

There are no Scribes on the market that I know of, to do what I want to do, so I have had to make one.

There is however a knife on the market for cutting vinyl.

Step 38:

I have made an attachment for this that fits on my XY Plotter.

I cannot use this as it stands. If I was to use a knife blade it would dig into the copper and possibly jam. I don't want this. I don't want to damage the copper.

One thing that is good about this process is:

If I realize I have made a mistake in the circuit before etching, all I have to do is coat the board in ink again and reuse the board.

So, I took an old knife and reshaped it into a scribe, it has a flat end so it just sits on top of the copper but has a square sharp face on its leading edge to scrape away the ink.

Step 39:

Reshaping one of these blades is not easy by hand but is possible, I did it.

You will need a rotary tool with a diamond bit to do it, the knife blades are made of very hard stuff.

Step 40:

First picture is original shape, others are different views of the shape I made Scribe.

Step 41: Scribe the Board

Once I had made the Scribe, I set up my XY Plotter.

Step 42:

The tool holder needs to be spring loaded. (using a fixed Z Axis will be difficult to adjust, as we are removing the thickness of ink)

Step 43:

Put the Board in place and Set the Plotter Scribing.

(sorry about handshake and focus on the video, I use my old phone to do video)

Step 44: Etch the Board

Next, dip it in Ferric Chloride for a while.

I just tape it to a plastic stick and use it like a spoon to stir up the Ferric Chloride from time to time, I feel stirring helps the etching process.

Step 45:

Next rinse off the Ferric Chloride and remove the ink.

I have a small brass wire brush to start the removal, and finish of with a typical pan scrubber.

Step 46: Drill the Board

Next is to drill the board.

I drill the board from the copper side because I have a bit of wobble on my drill, and because I etch the holes, where the hole have be etched, act like a locater for the drill bit.

Also the etched holes aide in checking the alignment of the plot.

So setup my XY Plotter with a drilling tool and fit the board.

Step 47:

I do a dry run of the plot first and make any required adjustments to the position.

(during the dry run I will turn the drill bit, because the fluting sometimes give the wrong appearance)

Step 48:

When happy with adjustments I drill the board.

The 2 holes for the screw fixing of the board, I will enlarge my hand, using the holes drilled by the plotter as a pilot.

Step 49: Draw Component Locations

The last step is to draw component locations on the top side of the board.

This could be done by hand or the plotter with a permanent marker, but I have not found a pen fine enough to do it.

So I use a laser, not an expensive one. I have one boosted to 15W and a cheep 5 volt 1 Watt one.

Although I could do it faster with the 15W one, it burns a thick line, the 1W is the one I use.

eBay search for: 1W laser It gives a fine line (not as fast but a better look)

I don't coat the top of the board with ink using a Whiteboard Marker yet I need to check the alignment of the board.

Step 50:

Because I have now turned the Board top face up.

This is where I use the ???_drill (top).tgc file. to align my XY Plotter with the board.

So I set up my Plotter with the laser and place the Board in the jig.

Run the ???_drill (top).tgc file to check alignment, adjust as required.

I just check a few holes, because the board is opaque (semi-transparent) the laser does nothing to the board.

The focal point of the laser did not show in the video, I tried putting the safety glasses in front of the camera but it didn't help.

I hope you understand what I was trying to show.

Step 51:

Once I happy that all is aligned correctly, it's time to coat the top of the board with ink using a Whiteboard Marker. (chisel tip best)

(don't mix up your pens)

Step 52:

Place the board in the jig and etch the component locations with the laser.
(I'm sorry I make these videos with my old phone and sometimes it does not focus well close up)

Step 53: The Finished Board

The finished Board:

Hope you find something in the methods I use of help.
The Plotter I use is one I have designed and built my self, and wrote the Firmware and Software also.

I'm currently in the process of writing a blog on how I made the plotter here: Tim's XY Plotter I may convert it to an instructable here when I get around to finish the blog.

PCB Contest

This is an entry in the
PCB Contest

Share

    Recommendations

    • Comfort Food Challenge

      Comfort Food Challenge
    • Safe and Secure Challenge

      Safe and Secure Challenge
    • Cardboard Challenge

      Cardboard Challenge

    8 Discussions

    0
    None
    KISELIN

    11 days ago

    Please note that theres no affends to your personality here in my comments, just them to the ”ible” itself that you provided here.
    This your ible is ”SO” 80’s when you got NO support of some…..? at all
    1. Really? Who’s got a XY-Plotter?
    2. A Scribe program ????? to remove an etchant resit film??? Do you mean that first you print the film and then you remove the etchant traces, or the vice versa?
    3. You use your XY-plotter with a laser??? WHAT?? To burn INK into the top surface??????? Only them INK-JET printers use ink to print, and often they are waterbased solutions, ( I guess they don’t excist anymore, hope not).
    4. Fuck, please DON’T BURN the ink.
    5. You say you handcraft to drill the holes? Is there another way to do that… unless you orther your PCB’s from a manufactorer? O’H SHIT.. to pay $10,- for 10/pcs. +shipment Gee it makes a grand total of $2,- each

    I guess you are a newbe to elctronics. Hang on you’ll get there.

    Sorry, I didn’t follow your ible long enough to see that acctually put the PCB-design there in a form of a file………………………………………………………………..
    I lost you totally at say step 22
    You’r totally a beginner there..
    Take a class say.. 3 weeks and come back

    1 reply
    0
    None
    PalingenesisKISELIN

    Reply 2 days ago

    Perhaps you need to finish your English lessons then read it again.

    0
    None
    ThomasK19

    4 weeks ago

    I'm currently doing something similar. I intended to just plot the mask but found it to be not precise enough. The idea with making it negative (use that cutter) sounds good. Thanks for that idea!

    1 reply
    0
    None
    PalingenesisThomasK19

    Reply 4 weeks ago

    I'm glad you found something useful.
    Let me know how you get on.

    0
    None
    throbscottle

    4 weeks ago

    This is very very clever. An X-Y plotter is out of reach for most of us though.
    But you got me thinking about how a Scan'N'Cut machine could be used to similar effect (since my wife has one). I think you could use it's pen holder with a resist pen to draw on plain board stock, and then on the component side with a fine marker to draw the component locations. I wouldn't want to try getting it to drill though!

    1 reply
    0
    None
    Palingenesisthrobscottle

    Reply 4 weeks ago

    I am glad you like it.

    I originally started doing them with a resist pen.
    But I found that the pen kept drying up. (a lot of resist pens need priming now and then)
    I was going to try it with Drafting Pen (rOtring rapidograh) with resist ink, but never got around to trying it. (I know there is short versions of these pens for use in plotters)

    0
    None
    seamster

    5 weeks ago

    Very nicely done! I award you 10 imaginary points for awesomeness!

    1 reply
    0
    None
    Palingenesisseamster

    Reply 4 weeks ago

    Thank you very much for leaving a comment, I do appreciate it when someone lets me know they like it.