Table of Contents
PCB Etching
Equipment
Safety
There is currently no access control on any of the PCB-specific equipment or substances. There probably should be.
UV exposer: currently it is unknown if this will switch on without the lid being closed. Do not be the person to find out.
Flux spray: use in the workshop, over a bin, with the ventilation on max. Wear eye protection.
Sodium carbonate (“washing soda”/photonegative developer): You can touch this, but you probably don't want to. Can be flushed down the drain.
Sodium hydroxide (“drain cleaner”/photonegative stripper): Highly caustic. Wear gloves. Can be flushed down the drain (it's drain cleaner).
Ferric chloride (etchant): Moderately corrosive, strong skin and eye irritant, toxic if consumed, toxic vapours. Wear gloves. Wear eye protection. Open a window and/or switch on the air filter. Can be reused for months or even years, so you shouldn't need to dispose of it; if you do, there's a tub under the sink for the used stuff. DO NOT flush down the drain.
Design and Trace File Prep
There are a few approaches to this process. These instructions will assume you're using KiCad and FlatCam (both open source) for PCB design and file manipulation.
Make sure to design your board with nice thick traces - start with at least 0.8mm and then try going smaller once you've got the hang of the masking and etching process. If you can fit everything onto a single-sided board, you might be able to use the laser cutter for cutting and drilling; if not, you'll need to use the CNC (both options are detailed below).
The first thing to create is your trace file. In KiCad, go to File - Plot. Set “Plot format” to “SVG”. Select your copper layers (“F.Cu”, “B.Cu”, or both). Tick “Plot Edge.Cuts on all layers” (this is to help you align the mask to your cut board), make sure “Drill marks” is set to “None”, and click Plot.
Open your plot file in your vector editing programme of choice and invert the colours (assuming you're using negative photoresist film - see notes under “Exposure” below). In Illustrator, the easiest way to do this is to create a white filled rectangle slightly larger than your board, put it behind your traces, and then select all and click “Edit” - “Edit Colours” - “Invert Colours”.
Cutting (CNC)
The CNC is a bit tougher to get going on than the laser, but it opens up a lot more options, most notably two-sided boards.
Start by going back to KiCad's Plot dialogue. Make sure “Edge.Cuts” is the only layer selected. Select the Gerber plot format and click Plot.
Now click “Generate Drill Files…”. Select “Excellon” as your file format here, and tick “PTH and NPTH in single file”. Make sure the “Absolute” and “Millimetres” options are selected and click “Generate Drill File”.
Open up FlatCam and use File - Open Gerber to load your edge cuts and File - Open Excellon to load your drill plot.
Tip: at each stage of the FlatCam process below you can save your settings for next time by going to Options - Transfer options - Object to Application.
It's a good idea to go into the “Options” tab at the left here and make sure “mm” is selected as FlatCam defaults to inches.
Double-click the drill plot in the layer list. You can skip over all the CNC settings here, just enter your tool size under “Mill Holes” (a 0.8mm bit is usually good) and click “Generate Geometry”.
Now go back to the “Project” tab and double-click the edge cuts layer. Enter the same tool size under “Board cutout” and set your Gap size to something reasonable. This setting creates either two or four gaps in the edge cut so your board doesn't come completely free of the stock. Four 3mm gaps is a good starting point.
Back in the “Project” tab again, you'll have new .drl_mill and .gbr_cutout layers. Select both of these and go to Edit - Join Geometry. You'll see a new “Combo” layer. Double-click this and enter your CNC settings. Typical values will be around -1.6mm cut Z (this is the thickness of your board), 2mm travel Z, 200mm/min feed rate, and 10,000 RPM spindle speed. Click “Generate”.
Double-click the new “Combo_cnc” layer and enter “M30” in the “Append to G-Code” box (this is an “end of program” signal, and LinuxCNC won't process a file without it). Click “Export G-Code”. Grab the SD card from the CNC laptop and save your gcode file on there with the file extension .ngc.
From here, pop the SD card in the CNC laptop, load it into LinuxCNC, and proceed with the usual CNC process.
Cutting (Laser Cutter)
Another way to cut your board, which you may find simpler, is with one of the laser cutters. This is subject to two major restrictions: use FR1 or FR2 boards ONLY (FR4 vapourises into some VERY nasty stuff), and use only single-sided boards (you can't laser through copper). Instructions for cutting a board with the CNC router will be added here eventually, but the file prep steps are similar so you may be able to figure it out for yourself.
Start by going back to KiCad's Plot dialogue. Make sure “Edge.Cuts” is the only layer selected. Select the Gerber plot format and click Plot.
Now click “Generate Drill Files…”. Select “Gerber X2” as your file format here, and click “Generate Drill File”. This will create two files, one for plated and one for non-plated through holes.
Open up FlatCam and use File - Open Gerber to load in each of the three files you just created. Combine these using Edit - Join Geometry and export the newly created “Combo” layer as an SVG.
You should be able to improt this SVG directly into LaserCut 5.3, but it may take some cleanup in Inkscape/Illustrator first.
Place your workpiece in the laser cutter copper side DOWN. Cut settings may need some experimenting to get right. The aim is to cut all the way through the substrate without hitting the copper hard enough to cause lots of sparks. My best results have come from using the big laser with speed 25, power 60, corner power 50 on 1.5mm board. However, some boards are much tougher than others so your mileage can and will vary - try cutting out a small circle as a test for new stock.
If you're sure you've got usable laser settings, download and run your cuts. Give it a couple of minutes before you open the lid, vapourised FR1/2 isn't as bad as FR4 but it's still unpleasant.
Take the workpiece out and pop your board out of it. You'll need to snap the copper layer along the lines you've cut in the substrate, which should be tough but doable. You may need to flex the board a bit, or even use scissors or a guillotine on the edge lines. You can leave the through-holes for now, although you may find it useful to drill out a couple to help you align the trace design in the exposure step.
Exposure
Currently (as of January 2022) the lab has NEGATIVE photoresist, which means the copper will be removed from the areas of your board NOT exposed to UV light.
The best option for creating your UV mask is to print it onto some heavy tracing paper on the laser printer in G1. You may need to print and overlay two copies.
You can also cut your trace pattern into a scrap bit of very thin plywood or black acrylic.
Either way, once you have your mask ready, grab the laminator, some sellotape, and a pair of scissors from G1.
Cut a piece slightly larger than your board from the roll of photoresist film kept wrapped in a black bag in the cabinet in G14. PUT THE ROLL BACK IN THE BAG - it's UV sensitive.
Peel off the backing (this is incredibly annoying to do - a couple of pieces of sellotape on either side of the corner can help peel the layers apart) and apply the blue film to your board. Try to squeeze any bubbles or wrinkles out to the sides, then run the board through the laminator. The laminator should be set on the largest thickness setting (2x125MIC), and it helps to run it through two or three times to improve the bond.
Put your mask and film-coated board together in a sort of deadly yet exciting chemical sandwich. Align as best you can and add some sellotape to hold everything together.
Place your sandwich in the UV exposure box (aka the PCB panini press). Close the box and expose for ~1.5 minutes. After exposure the design may be visible on the PCB but can be hard to see.
Developing
This step removes any photoresist that has been exposed to UV light in the previous step.
Make a solution of about 500ml water and 20g washing soda crystals (sodium carbonate decahydrate). There is a handy 3D-printed scoop to help you get the right amount of washing soda.
Immerse the PCB in the solution for a few seconds, then remove it. You should now be able to easily peel off the transparent film on the front. Return the board to the solution and start gently brushing it with the paintbrush. You should notice bits of the blue mask coming off. Although it might look like all the unwanted copper is exposed after a minute or so, it actually takes about three minutes for the film to fully develop. After that time has passed, remove from the solution and rinse with plenty of water.
If you're having trouble getting the unwanted film to come off, your board is overexposed. If your traces/pads are coming off too, it's underexposed. Either way, strip the film off using the instructions below and try again. Most likely you need to increase or decrease the time in the UV box.
Etching
Plug in and turn on the etch tank and give it some time to warm up.
Put your PCB in the tank, using the net hanging from the lid to hold it so you can get it back out easily.
Check on it after a couple of minutes, by which time all copper to be removed should turn a dull pink. “Dull” is an important word here; you're looking for “barbequed pig”, not “rose gold”. If you get rose gold, the PCB is either under-exposed or under-developed. You can try rinsing the PCB with plenty of water and returning to the develop step for 10-20 seconds, before continuing with etching.
Your board is finished when all the unwanted copper is gone. This usually takes about 10 minutes. Start checking it every minute or two after it's been in for 10, and take it out when the unwanted copper has all dissolved leaving just the substrate underneath. If you hit 15 minutes, your board may be underdeveloped.
Once it's finished etching, turn off the etch tank and rinse the board with lots of water before touching it.
Stripping
This step removes the rest of the photoresist from the board. Pour some drain cleaner into a tray and soak your board in it for 15-30 minutes, agitating and scraping it every few minutes with the toothbrush.
Once all blue photoresist has been removed, you should see your copper traces. Rinse your board off with lots of water and pop out the remaining through holes, using a .5mm drill bit if needed.
Note: pure caustic soda will do the stripping job faster than regular commercial drain cleaner, hopefully we will be getting some in soon and this section can be updated.
Final checks
Inspect your board for any broken traces or traces/pads that haven't separated properly. Pads on microcontroller sockets are a notable culprit as they're often very close together and the masking process might not separate them fully.
Where two traces/pads have merged, you can remove some of the copper with a knife, sharp pair of tweezers, etc.
Where a trace has been broken, apply a solder bridge to reconnect it.
Protective coating
Bare copper traces oxidise very quickly without any protection. Give your new board a spray with the can of clear varnish after soldering and leave to dry for a couple of hours. Mask off any buttons or mechanical components with masking tape so they do not get stuck.
Another option is to use tinning solution before soldering.
Congratulations, you made a PCB!!