Just a note to start with: this is not a full tutorial, only a collection of info about my idea. There is a little guide further down, but I will make a proper tutorial if the interest is there.
I know making PCBs yourself is mostly a thing of the past in the age of cheap express prototype board houses, but from time to time it can still come in handy to make your own.
I've been making mine the good old fashioned way with transparencies and an inkjet printer, but actually getting them right was probably the most annoying part of making the PCBs.
To make live easier I've started using the photomasking LCD from my Elegoo Mars SLA printer as a replacement for the transparency some time ago and I think I've nailed down the process now. I think I've seen a video of somebody trying something similar but he used the resin as a photomask, which didn't give as good a result as my technique, so I thought I'd share it here too.
First off: the results.My latest PCB goes right down to 6/6mil spacings, and despite using the dry-film style photoresist for the first time and over-exposing it I still managed to etch it first try. Here are two 6mil traces between adjacent soic-8 pads:
I can easily get traces between 0402 and larger SMD components and tested qfn footprints down to 0.5mm pitch.
For double layer boards I also made an alignment jig, with which I consistently get the layer offset small enough for 1mm vias (0.7mm hole) not to short out against the ground plane from offset holes.
How to get the gerbers into the printer:The Video I watched had the guy basically create a 3d model from them and then used the normal chitubox software. But that's tedious and doesn't easily allow for configuration of base-material parameters.
So I decided to write a little software that allows you to import gerbers, apply scale corrections, adjust layer alignment and some more things and then just gives you back your .cbddlp file for the printer. It support almost the entire gerber standard with the exception of arcs (at least for the moment).
But there's a catch... I'm not the desktop software kind of a guy; I can only program java and my skills aren't the best. That in combination with me getting easily bored by a project lead to me getting it to the point where I can use it, but not really anybody else (unfinished UI, no printer/exposure presets etc.). If there is enough interest in the project I will pick up development again though.
That being said, here's the repo:
https://github.com/TMaxElectronics/Gerber2ChituboxSo here's the process:First you'll need to modify the screen of your printer, this is a little dangerous so do it only if you are sure you can get a replacement screen (CHECK THAT! MARS SUPPORT WAS JUST DROPPED F.E.). By default the printers lcd has a glass pane in front of it for protection and likely flatness too. This however reduces exposure accuracy a lot (more like 0.4mm/15mil process) because of the lamp geometry. To fix this you will have to remove the piece of glass.
First (carefully!) remove the display assembly from the printer. unfortunately it is glued in quite well (at least it was in my printer) which made it impossible to do without damage. (this is where the replacement screen might come in
Once you have the screen out you can start separating the glass pane. The two parts are glued together very well but putting a drop or two of isopropanol in between the actual lcd and the glass almost immediately loosens the glue. Slowly peel it apart. It shouldn't take much force at all, if it does add a bit more IPA.
Then install only the LCD in the printer and put the thinnest non-transparent tape you can find around the outside of it so it looks like this:
I also recommend making some alignment helper. The one I made registers in the space for the resin tank to make using it repeatable. This is less critical for doing single layer exposures, but absolutely essential for double. Something like this (ignore the numbers):
Sidenote:you can't print 3d without the glass in front of the LCD, if you have used thin enough tape however, you can just lay it back onto the screen. It will stick down a bit again but not enough to make removing it a pain. Make sure to re-level your build platform after that though.
sort-of-guide:- Export the gerbers from your PCB-CAD. You will want to tell it not to use arcs (altium has an option right in the last dialog for that)
- Open them with the software I created. To do that, just run it with the java runtime environment, click the "+" button bottom left, and select all your gerber files. I recommend adding the drill files as well to generate centering holes
- Export the individual layers. Select each layer in the list on the left and click export. Select your printer (currently only the mars 1 is supported ), and type in the parameters for your laminate.
You also need to mirror the layer if it is on the bottom of the PCB. To make sure you are doing it right I recommend adding some text to each layer, and verifying that is it not mirrored in the layer preview in the export dialog. If desired you can add a centering holes too: select the layer with the holes in the bottom box, and adjust the hole size if you want.
Then click export and name the file (right now you need to manually add the .cbddlp extension) and Copy the file to your usb stick like any other 3d print - Prepare your base material, developer, etchant and what other things you might need once the exposure is completed. Remember that the software adds 2mm clearance from the LCD edge to the print, and the LCD has a bezel too. That is to say: cut your board quite a bit larger than the dimensions you want it to be in the end, and trim it down afterwards
- Align the base material on the LCD. Non mirrored layers will align on the right side while mirrored once are aligned on the left, this is so you can use only one reference edge for double layer exposures. You can briefly start the print if you aren't sure which side it will align on. If you're making a double layered board make sure to mark which corner was where so you don't forget it. Also make sure to sand any burs off the edges of the board or you might damage your LCD. To improve quality I also recommend putting some weights on the PCB, just make sure the base-plate arm won't hit them once its fully down
- Expose the board. Select the file on the printer and hit start like with any normal 3d print
- If you have a second layer to expose, flip the board and align it to the horizontally opposite edge (you can verify you have it the right way around with the corner markings you made on the board)
- Develop & Etch. This step is the same as with other exposure methods.
- ?
- Profit (couldn't resist the joke )
I have recorded some video of me explaining it in detail but I'm not that happy with the way I did, but I'll re-record it if people are interested.
So what do you think, is this something that is just useful for me or a project that could help others too? If there's enough interest I'll document everything properly and also get the software up to snuff. I'd love to get your feedback on this