Making your own PCBS. The best way

SteveSFX

Well-known member
Hi all

I have asked in here before for UK based PCB manufacturers, but never really got an answer. I still use JLCPCB in China who are great, but longish turnaround.

At work, we have started designing our own pcbs for various projects (short runs - never large quantities). What would be the best method on 'in house' PCB making?

We have a decent sized laser, so i did play with laser etching some copper board (painting it black first and etching away the surface), but the accuracy wasn't all that good on the smaller traces.

We can literally buy (within reason) what we want. What would you go for? PCB's will never be bigger than say 200x100mm.

I quite like the idea of a milling machine doing it, but I am not sure if that is feasible.

This sort of kit?
https://www.denford.co.uk/products/pcb-engraver/
 
If you do a search on google a lot turn up. Look at this web page.

Using a milling machine should only be considered for prototypes. It will also only generate single sided boards. Those boards will also be single layer of course.

Many years ago, I used Exception PCB quite successfully.
 
Thanks. I will check out that page.

I just threw a PCB at PCBtrain. Mental money. Nearly 12 times the price of China.
Looks like JLCPCB will be getting more boards until I find someone reasonable (I know we will never match China.... but lets be realistic)
 
As I may have mentioned in the other thread:
For my own boards (only hobby use), I have ordered them from: https://www.pcbway.com/

They often will have the boards ready to ship within a day and with DHL delivery to US, that often takes only a few days after that.

Note: I only order 5 or 10 boards at a time.
 
You would be better off asking on EEVBlog forum, which has a larger and more diverse membership. You can probably get recommendations.
 
I photo etched all my PCBs for years before the China shops became available with dirt cheap boards. I don't mind the 4 week turn around time. For photo etch, print your gerber artwork onto a transparent overhead, tape it to a photosensitive board, expose under UV light (I always just used CFL...they leak a LOT of UV), then developer bath in a small glass dish, then etch batch in a second dish. Making a PCB like this can be done in 30 minutes when you know what you're doing. I'm glossing over the dark room stuff, google search for how to make your own super cheap.

That said, avoid using through hole components as much as possible! Drilling the PCB will take a lot of time if you have a lot of holes.

But, if you're looking for a commercial solution, like most things in life. Cheap vs quick. Gotta pick one in my experience with PCB/PCBA.
 
Last edited:
For my last board, (for my Teensy powered Electronic Lead Screw) I had the PCB made by both PCBWAY and JLCPCB. ( Sept. 2022.) JLC was quite a bit cheaper, like about 50%. The boards seem to be of similar quality. Both took about a month to get to me, but that was because I chose the cheapest shipping. Both have a way to check on the status of the build.

Since it was my first order at JLCPCB, I managed to get 5 PCB's of ~100 mm x 100 mm size for $7 USD. That was an amazing deal. You can't buy materials to make your own for that kind of price. Came with silkscreen too. Plated through holes, four layer board. Very pleased.
 
I photo etched a lot of PCBs in the 1990s. Made a light exposure table with UV florescent tubes in 1989, and even built an "acid swishing machine" in 1992 with the stepper motors from old 8 inch floppy drives that held a Pyrex pan with some janky particle board bracket I made.

This MIDI drum machine in 1991 was one of the earlier boards.

drum-pcb1.jpg


Gave away all that gear and chemicals in the early 2000s, when a local PCB shop (now Sunstone) started offering 1 day turn for $80. Advanced Circuits had been offering "$33 each" back then too, but it always had gotchas like min qty, setup fees, spending shipping. Then Sparkfun started Batch PCB and the local a guy at the DorkbotPDX meetup started a regular group order that later became OSH Park, and eventually lots of Chinese companies appeared with super cheap PCBs. Even when it was just 1 company at $80, messing with the chemicals and drilling holes and having to solder wires into every via just lost its appeal.

Today I still mostly use OSH Park for prototypes and sometimes the Chinese companies for larger boards or when I need more than just a few.

If you really want to mess with the chemicals, the way I usually used was pre-coated boards, like this:

https://www.amazon.com/GC-21-334-VP-Positive-Pre-Sensitized-Single-Sided/dp/B01N5W07AM

You can get the photoresist chemical and bake it onto bare copper PCB material (did that too in the early days) but the photoresist chemical emits a lot of fumes during the baking process. Very difficult to get a uniform coating. With all the other stuff that tends to go wrong along the way, best to start out with pre-coated material.

Early on I printed onto transparency sheet (used with ancient overhead projectors...) but later switch to vellum paper. It lets less light through, so you have to expose to the UV light longer, but laser printer toner prints onto it much better. By the mid-1990s I was regularly making 10 mil lines with 10 mil spacing (approx 0.25 mm) with good success. Vellum paper really helped. I also had 2 pieces of 1/4 inch thick glass I would put on below and on top, with their weight pressing the paper to the PCB.

I used to also flip the image before printing, so the toner side of the paper would touch the photoresist. Avoiding the paper thickness between the toner and photoresist made noticeable improvement on small traces. Ideally the UV light would br collimated. I've heard of people placing a few layers egg crate material painted flat black between the light and PCB under exposure to filter away off-angle light. But I never had such a setup, just 4 fluorescent tubes in a home-made box mounted a few inches above a pull-out shelf which held the glass & PCB sandwich.

Getting the 2 sides aligned was always a challenge. Usually I would tape the sheets together, then slip the PCB material between and tape it on only 1 side. With practice, I could usually get them aligned within better than half the smallest via size (which I believe was 30 mils... but it's been quite a while).

How long to expose was a matter of guesswork.

After exposing, a developer chemical (a strong base) dissolves the photoresist that got exposed to UV. Fortunately from this point on you get visual feedback as you see the colored photoresist wash away, so less guesswork.

Then wash well in running water, and then put it in the acid to etch away the exposed copper. This part takes a lot of patience, which I why I built that janky acid swishing machine so long ago. It goes faster if you heat the acid. If any of the prior steps weren't done quite right, you get a tempting view of your PCB artwork appear and then start to partially vanish, or the exposed copper never seems to fully etch away away.

Drilling all the holes is simple in concept, but tiny drill bits (at least in the 1990s) come in 2 types, carbide which break with even the slightest lateral movement of the PCB while bit is in contact, and high speed steel which dulls quickly when drilling PCB fiberglass.

The old MP3 player project (long before Apple made the iPod) is one of the last PCBs I made this way.

proto_revc.jpg


Before you solder, the photoresist needs to be removed. I never found any chemical, always just scrubbed the board with steel wool. There is also a tin plating chemical you can use. As I recall, it was expensive, so I usually just left the photoresist layer on the PCB until right before soldering. The freshly scrubbed copper would solder well for about 12 hours, but quickly start to tarnish.

For many years I used to make at least a few PCBs every month this way, sometimes many more. I gladly gave it all up just as soon as it was easy and inexpensive to just order them online.
 
Last edited:
My first time on this Site - didn't know about this forum.

I CNC-Mill my PCB's (a couple hundred of them, usually Single-sided but have done Two-sided, too).

Recent projects used Teensy LC and 4.0 (just ordered more 4.0) - Best thing since 'Sliced Bread'.

I use the 4.0 for my Astronomy gizmos. Works so well and is fast enough that I don't need to use/declare interrupts (yes, the Encoder routine uses them but without my code declaration for them).
Made a Thermal camera with the 4.0 (link to my YouTube vid...)

The Optical 600ppr encoders track very accurately and fast.

I use Kicad for the Circuit work/Gerbers and CopperCam for CNC's Gcode (been using CopperCam for 6yrs (excellent software - though a Windows program, I run it on my Mac via 'PlayOnMac')

I use a larger CNC mill for my work but have demo'd milling PCB's on a very low-cost CNC mill (video link)

Example of yesterday's Astronomy gizmo (includes Messier, Caldwell and Bright Star Tables that are scrolled/selected via manual encoder). Will package into 3D-printed housing.

IMG_20221204_081658230.jpg
 
Generally, in KiCAD you need to design your own footprint and part for anything that's not in their library. It's not as hard as it sounds. I had to create a part and footprint for the ILI9341 display that PJRC sells. Couldn't find one online. So I rolled my own. It took me an hour or so to do. You can either design it in the CAD of your choice and import it, or draw it in KiCAD. I submitted a request to SnapEDA, but didn't want to pay to expedite it. They probably haven't done it yet. I received my boards several months ago, and the display fits fine. Based on that experience, I'd just design the part and footprint for the interdigitated traces.
 
There are a few Touch-Screen examples in the Arduino Example's menu but, I've never used them.

I've made several Touch buttons similar to those purchased - that's easy to do in Kicad (and other PCB design software) and there are libraries/codes for Arduino touch buttons/sensors (google it).

I found that I don't need the libraries - I just touch the traces and it works like a switch by closing the circuit's gap through skin..
Haven't yet done any with Teensy but, I don't see why it wouldn't work (works for UNO, Nano, Tiny's). I've also made them using Copper-Tape.

In Kicad, designing touch-able pads is easy (any shape, and can import graphics to Copper layer to make a custom shaped touch sensor and can draw general shapes with Kicad's tools.

I just searched in Kicad and grabbed this example link

Yes, can easily CNC them - they're just copper pads...

And, though a bit crude, here's example of my early version of Membrane-Touch buttons and a consulting job I did - circuit on film with 3D-printed cover.
Last image was done in less than two minutes... did not bother adding vias or Pins but, easy to do... you get the idea... Oh, it also shows results of length, resistance, inductance from my home-grown Plugin (for selected traces)

examples.jpg

child.jpg

kicad_Touch_TracePad.png
 
Last edited:
There are a few Touch-Screen examples in the Arduino Example's menu but, I've never used them.

I've made several Touch buttons similar to those purchased - that's easy to do in Kicad (and other PCB design software) and there are libraries/codes for Arduino touch buttons/sensors (google it).

I found that I don't need the libraries - I just touch the traces and it works like a switch by closing the circuit's gap through skin..
Haven't yet done any with Teensy but, I don't see why it wouldn't work (works for UNO, Nano, Tiny's). I've also made them using Copper-Tape.

In Kicad, designing touch-able pads is easy (any shape, and can import graphics to Copper layer to make a custom shaped touch sensor and can draw general shapes with Kicad's tools.

I just searched in Kicad and grabbed this example link

Yes, can easily CNC them - they're just copper pads...

And, though a bit crude, here's example of my early version of Membrane-Touch buttons and a consulting job I did - circuit on film with 3D-printed cover.
Last image was done in less than two minutes... did not bother adding vias or Pins but, easy to do... you get the idea... Oh, it also shows results of length, resistance, inductance from my home-grown Plugin (for selected traces)

View attachment 29923

View attachment 29924

View attachment 29925

Thanks. How did you make the membrane?

BTW. Thanks to you're info: At first I will try to use copper foil pieces where I place it between 2 acrylic sheets and make the connections by drilling in the underside plate.
 
The Membrane switch is similar to many devices with touch membranes.
Bottom is the Copper PCB or Copper foil or Alum foil or Film with conductive (carbon/graphite/etc) circuit.
Center is cardboard with Hole/Gap
Top is the part you press - pressing enough so the conductive foil touches the bottom foil.

The tabs are for alligator clips to test it - leads go to GND and Arduino input pin.


The Touch sw with acrylic cover is 10yrs old and is a Capacitance Touch switch. It uses the Qtouch library but, now there are dozens of Touch lib's in Arduino, find one that suits your needs. Sensitivity can be adjusted...

Image attempts to show membrane - you can imagine what the items are...

membrane_sw.jpg

Contact_Sw.jpg
 
Last edited:
The Membrane switch is similar to many devices with touch membranes.
Bottom is the Copper PCB or Copper foil or Alum foil or Film with conductive (carbon/graphite/etc) circuit.
Center is cardboard with Hole/Gap
Top is the part you press - pressing enough so the conductive foil touches the bottom foil.

The tabs are for alligator clips to test it - leads go to GND and Arduino input pin.


The Touch sw with acrylic cover is 10yrs old and is a Capacitance Touch switch. It uses the Qtouch library but, now there are dozens of Touch lib's in Arduino, find one that suits your needs. Sensitivity can be adjusted...

Image attempts to show membrane - you can imagine what the items are...

View attachment 29928

View attachment 29929

Thanks for the extensive info.

I have made some simple copper capacitive pads and will experiment with the fasttouch library.
 
Back
Top