There are a lot of ways to create your own PCB’s at home. I have used the toner transfer method for a while, but it’s a pain to use the ironing iron and then dissolve the paper and so on. Some of the methods are:
– Toner transfer and etching
– Isolation routing with CNC
– Draw with a permanent marker directly on to the copper clad and etch
– UV light, photoresist PCB copper clad, transparency and etching
I have always wanted to try a CNC to mill a PCB (isolation Routing). When I finally got myself a 3D-printer, I could give it a try. But it was not easy. The Copper clad has to be compleatly flat, there is a lot of noise, it’s a BIG mess, and the 3D-printer is not rigid enough. So I combined permanent marker with isolation routing. Or sort of.
I made myself a holder for a steel rod that could scrape off excessive marker from the copper clad board. I used Sketchup to draw the 3D-model for the holder:
You can download the 3D model from Sketchup 3D Warehouse. I exported the parts as STL-files. I used meter as the unit in Sketchup and mm as unit for the 3D printer (.stl-file). So one meter in Sketchup is one millimeter in real life. 3D-printable file: 3D_Printer_PCB_maker_steel_rod_holder_for_K8200_all.stl
This design will only work with the K8200 printer from Velleman. If you want to try this on other printers, you’ll have to redesign the rod-holder. I used some M3 and M5 bolts to assemble the rod-holder. The rod itself is rolling on 8 ball bearings. The ball bearings are 10mm outer diameter and 5 mm inner diameter. At the top I assembled a ring attached with a rubber band so the rod will be pressed down to the print bed with a soft touch. This will compensate for uneven copper clads and print beds.
The steel rod is from an old flat-bed scanner. I filed it down to a sharp point. The pointier, the better.
I then mounted it on the printer:
Before I start I clean the copper with steel wool and acetone.
I then covered the copper with black permanent marker. The type of marker will have an effect on the result. You’ll need to experiment with different markers to find one working well. I used one from a norwegian grocery store Rema1000, as shown below:
I then attached the copper board to the printer with som tape.
I designed the PCB with FreePCB. It’s a bit outdated, but it’s easy to use, and it’s what I’m used to work with. You might want to use KiCad instead. That is a bit more up to date, and is still under active developement.
I exported to a Gerber file from FreePCB. Then I have to create the G-code for the printer. I used a great program called FlatCAM. It’s a bit tricky to get used to at start, but it’s really flexible. Import the Gerber file into FlatCAM [File/Open Gerber]. Select the imported file by clicking it:
The Gerber has to be mirrored because this i the bottom layer. Click [Tool/Double Sided PCB Tool]. Select [Y] and [Box] and then click [Mirror Object].
Check that you are working in millimeters. I think most 3D firmware are working in mm, so you’ll need to have G-Code in mm as well:
To make the isolation paths, click the [Selected]-tab. Be sure you have selected the gerber-file in the [Project]-tab. Set the [Tool dia], [Width] and the [Pass overlap] as below, and click [Generate Geometry] under [Isolation Routing]. You may need to experiment with these parameters, and test what will fit your printer best.
Go back to the [Project]-tab and select all the new geometries created (.iso1-.iso5). Click [Edit/Join Geometry] in the menu.
Select the new Combo-geometry created.
Click the [Selected]-tab. Fill in parameters under [Create CNC Job]. [Cut Z]=0 means that the printer will scrape at Z=0 mm. [Travel]=3 means that the printer will lift 3mm before travel to next scrape-location. You’ll need to adjust the for your printer, and experiment what will be the best for you.
Select the Combo_cnc just created.
Go to the [Selected]-tab and click [Export G-Code]
Your G-Code will look something like this:
If you use Marlin-firmware for your printer, you’ll need to change the G-Code a tiny bit. Just replace “Y” with ” Y” so all capital Y will get a space in front of it. Like this:
Open your 3D-printer software. In my case I use Repitier Host. Go to the [G-Code Editor] and paste all your new G-Code. If you click [Show Travel], the whole G-Code will be visible as travel. There will be no layers visible since there is no extrusion in the G-Code.
Now, you’ll need to position the metal rod and zero your printer X, Y and Z so that it will fit the copper. Move the tip of the metal rod to the lower left corner of the copper clad board. Ensure the printer will have no trouble travel the whole copper board. Lower the tip so that it touches the copper plate, and the lower it another mm. This will tension the rubber band and give lite pressure to the copper plate. This will be the height for the Z for the scraping part. Remember that the tip will only lift 3mm as we specified in FlatCAM. In this case it will travel just 2mm above the copper board since we went down 1mm below zero. Now you’ll have to zero out the printer X,Y,Z.
Go to [Manual Control]-tab, and enter these G-Codes:
G92 X0 Y0 Z0
You will have to press [Enter] or [Send] for each line.
As a precaution, it’s recommended to watch the printer starting and ensure it will not crash or travel beyond the limits. I used the power for the printer to stop all movements if I saw something strange happening. That might save your printer for a mishap. The 3D-printer in work:
When finished the copper will look something like this:
Then I used some ferric chloride to etch away the exposed copper:
And then I have the finished resulting PCB ready to be drilled:
Feel free to comment, like and share.