Printed Circuit Boards -- The Third Way

Part 2

M.A. Haidekker, April 2026


Continued from Part 1 -- Motivation and overview.

STEP BY STEP PREPARATION OF THE PRINTER FILE

1. Create the PCB layout

Create the single- or double-sided PCB layout in the usual fashion. Let's use the layout in Figure 1 as an example. The screenshot (from gEDA's PCB software) shows a double-sided layout with most of the solder side used as a ground plane. Even on the same side, different colors were used to highlight trace functions as e.g., power, ground, or signal. Those are later merged on export so that only two sides (solder, component) remain.

Figure 1: Printed-circuit board layout in gEDA's pcb software. This is a double-sided PCB, but most of the solder side is a ground plane. Note the alignment mark near the top left corner. Click on the image to access a full-size version.

When you prepare a PCB for DIY etching, make sure that the solder pads are large enough and that vias and through holes have a very small inner diameter -- the main purpose is to guide the drill, not to instruct a machine what drill size to use. It is also advisable to create custom footprints for SMD components with larger-size landing pads, because those are easier to solder.

2. Export the Gerber files

In the PCB software, choose the option to export Gerber files. This step will generate a series of files of which we only need three: The remaining files, which may contain the solder mask or silk screen, can be ignored.

3. Load the Gerber files into gerbv

These instructions refer to gEDA's gerbv; if you use different software, you need to ensure that it has the capability to export image files (PNG, TIFF, etc) at a defined resolution. My Halot-One Plus has a screen resolution of 635 dpi, which means that each pixel must correspond to 1.57/1000 inch (0.04mm) of real PCB space. For example, a PCB of 100mm by 75mm would be represented by 2500 x 1875 pixels. A printer's documentation usually contains the information on the screen resolution.

Load the drill file first, set its color to almost-white and transparency to zero. Next, load the solder side copper, color it blue with about 50% transparency. Finally, load the top (component side) copper, give it a red color and also add some transparency. The exact settings are uncritical at this point. The result might look as seen in Figure 2.

Figure 2: Printed-circuit board from Figure 1 as displayed by the Gerber viewer gerbv. The component side is colored red, the solder side blue, and the drill holes are white. Click on the image to access a full-size version.

4. Export the image files for the solder and component sides

We will ultimately need pure black-and-white images with white indicating those regions where the printer exposes the print bed. This means that traces need to be black, and isolation regions white. Drill holes are also white. Note that, by default, the solder side PNG is mirrored, whereas the component side PNG is not. Also note that single-sided PCBs have only one layer (bottom.png, the solder side).

5. Prepare the image files for conversion into the 3D printer file

For my Halot-One, the file format is cxdlp v.3. For your printer, check out UVTools: you will most likely find a list of resin printers and their associated file formats. Creating the printer file with UVTools is the goal, but we will create a .uvp file as intermediate step.

My 3D printer has a screen size of 4320 x 2560 pixels. I will use these values in this example, and you need to ensure that the image size matches your printer.

This step is concluded once the image files, from which the .uvp file is generated, are exported. Still within Gimp, We now have three slices of what could be a very flat 3D model. The output slices are illustrated in Figure 3. Note how all slices appear not mirrored, and also note how the solder-side alignment mark is flipped from its original top left position to bottom-left, which reflects the flipping of the PCB during exposure.

00000000.png
00000001.png
00000002.png
Figure 3: Output of the image preparation step. The first image exposes the solder side layer, the second image pauses exposure to allow for convenient flipping of the PCB, and the third image exposes the component side layer. Click on the images to access their full-size, to-scale versions.

6. Create the UVTools .uvp file

Figure 4: Structure of the zip archive that becomes the .uvp file, illustrated with Kubuntu's Ark archive management gui.

To save you some time, here are my huge.png 800x480 preview, the tiny.png 400x400 preview, and the all-important config.json control file. The config.json file must be edited to suit your printer and PCB material. Experimentation may be necessary.

7. Create the 3D printer file for printing

This step is short. You need to know the file format for your 3D printer -- in my case, cxdlp. Open the UVTools app. Use it to open the just-created fie "pcb_prototype.uvp". Use UVTools' Convert to -> cxdlp -> Creality cxdlp and choose version 3 (for my specific printer). Save as pcb_prototype.cxdlp and transfer the file to the 3D printer.

This step concludes the file preparation. Proceed to Part 3 of this article for the steps to expose the PCB, some notes and tips, and some photos of PCB manufacturing results.


Back to Part 1 of this article.

Copyright notice: All information, images, and downloadable files are licensed under the Creative Commons License CC-BY-SA.