Introduction: 3D Printed PCB
Here you will learn how to make working 3D printed PCB!
But before to start, I am sure you already have many questions so I'll try to answer them:
- Do these 3D printed PCB work? YES! BUT they have a quite high resistance (see step 3), so you should use them only with low current circuits;
- Can they replace regular PCB? NO!
- Then why should one make 3D printed PCB? I think there are many reasons:
- Learning how to make PCB;
- Make 3D printed objects with embedded circuits;
- Make aesthetic project. You can use many plastics with different colors;
- To experiment;
- If you are curious.
- Decorative projects?
- Unusual circuits?
Now this is the story of this project: I recently started a project that requires an electronic circuit, and I used a perfboard to solder the components. It took time and was messy. So I decided it was time for me to start designing/making my own PCB. Since I like to experiment and I have a 3D printer and conductive PLA (that I got 2 years ago with my 3D printer), I decided to 3D print PCB. And I could not find any tutorial/article about 3D printed PCB (or really tiny circuit with 1 or 2 components). Challenge accepted, I decided to make my own.
What you will find in this instructable:
- How to fail 3D printing PCB;
- How to design your boards so they are ready to be 3D printed;
- How to 3D print the boards (the substrate, then the tracks);
- How to attach the components to the boards.
You will need:
- A 3D printer with:
- Regular plastics (I used yellow, blue, purple and green PLA from different brands);
- Conductive PLA from Proto-pasta.
- an EDA software (I used easyEDA);
- a vector graphics editor (I used Inkscape);
- a CAD software (I used FreeCAD);
- a slicer (I used Cura).
Step 1: Failures
Before to start I think it interesting to see the different failures I encountered. After a few, I understood why there are no tutorials about making 3D printed PCB. It is quite challenging.
Let's review the mistakes I made:
- First, I tried designing a simple board and 3D printed it with 2 colors (the purple and yellow board ou can see in the picture). At this point, everything seemed to work fine.
- Then I made the same circuit with conductive PLA (and yellow PLA). I let small holes (around 0.8 mm in diameter), thinking that would be enough to plug the components in these holes.
- Unfortunately, most of the small holes were clogged, so I had to find a way to unclog them. I decided to go with a needle. And to make it easier, I heated the needle with a candle, so the plastic melt around it.
- Then I placed the components on the boards and... nothing happened. I measured the resistance of the tracks and found it was quite high (check step 3 to know more). So I made the hypothesis that the tracks were too thin and narrow.
- But even with wider and thicker tracks... nothing happens.
- And at this point, I also found out that the tracks tend to detach from the substrate.
So here are the key points that changed the project:
- I decided to use another technic to attach the components to the board (see step 2);
- I decided to test more accurately the resistance of the tracks (see step 3);
- I decided to increase the temperature when printing to avoid tracks to detach, and increase the temperature from 200°C to 210°C.
Step 2: How to Attach the Components
To attach the components to the boards, I decided to make bigger holes where I could place the components and a piece of raw plastic filament. I made a small testing piece with holes with different diameters (2.1, 2.3, 2.5, 2.7, 2.9, 3.1 and 3.3 mm), and found that a hole with a diameter of 2.5 mm is perfect to block a component. It is a bit difficult to insert the PLA filament together with the component leg, but once in place, the current flows way better between the tracks and the components.
Once the component is blocked, I cut the PLA filament.
Step 3: Test the Conductive PLA Resistance
I found the following on the Proto-pasta website concerning the conductive filament I used: "Resistance of a 10cm length of 1.75mm filament: 2-3kohm".
To test the resistance of the track, I performed a few experiments with the following:
- tracks with the same width, but different thickness (3 mm wide, and 3/2/1 mm thick);
- tracks with the same thickness, but different width (1 mm thick, and 2/1/0 mm wide);
- and I compared conductive PLA and regular PLA when blocking the components (here I have used wires instead of components, to connect the multimeter).
The tracks are 3 cm long, and the resistance is measured in ohm. The results:
- On the tables, you can read the resistance I measured. In black the resistance using conductive PLA, and in blue the resistance using regular PLA to block the components.
- The plots show the results with the following legend:
- black curves: conductive PLA used to block the components;
- blue curves: regular PLA used;
- plain lines: change of thickness;
- dashed lines: change of width;
These are my conclusions from this short testing:
- The bigger the track volume, the lower the resistance;
- It is better to have wider tracks than thicker tracks for the same volume of plastic used;
- Attaching the components with conductive PLA conducts the current better.
So I decided to make my 3D printed PCB with 3 mm wide / 3 mm thick tracks and attach the components with conductive PLA.
Step 4: Design the Circuit (EDA Software)
Now it is time to design the circuits. I used easyEDA, and I could make my circuits in a few minutes.
Since I am quite new in this field, I will not explain how to do it. And there are a lot of tutorials available.
- You need to make 3 mm wide tracks;
- The holes are 2.5 mm in diameter;
- Consequently, the pads have a diameter of 5 mm.
To do so, there are 2 possibilities:
- The first one is to make a circuit with existing components, and change the parameters with the values wrote above. This is a good idea if you want to make just 1 single 3D printed PCB;
- The second is to make your own components with suitable parameters. This way, when making your circuit, the PCB is created with the correct values. It is the best solution if you want to make many 3D printed PCB.
Once done with your circuit, export it as an SVG file. I keep just the following layers: TopLayer, BoardOutline, Multi-Layer, Holes.
Step 5: Prepare the Circuit for the CAD (Inkscape)
Before sending the file to the CAD software, it is important to modify a few things with Inkscape.
- Separate the substrate layer, the pad/holes layer and the tracks layer;
- Close the path used for the substrate;
- For the tracks, change the paths to strokes, and merge the tracks.
This is the procedure to separate the layers:
- Open Inkscape;
- Go to File > Open > and select the SVG file you made previously;
- Make sure the Layers dialog is open (Layer > Layers);
- Create 3 layers clicking the +:
Concerning the substrate:
- Make sure the substrate layer is selected and not hidden (and hide the other layers);
- Select all the objects on this layer (Ctrl+A);
- Click path > Object to path (Shift+Ctrl+C);
- Click Edit paths by nodes (F2);
- Once again select all the paths (Ctrl+A);
- Click Join selected endnodes with a new segment.
- Make sure all the segments are connected.
Concerning the tracks:
- Make sure the tracks layer is selected and not hidden (and hide the other layers);
- Select all the tracks on this layer (Ctrl+A);
- Click Edit paths by nodes (F2);
- Click Convert selected object's stroke to paths (Ctrl+Alt+C);
- Click Path > Union (Ctrl++).
Now the file is ready! Click File > Save as, and save it as an SVG file again.
Step 6: Make a 3D Circuit With CAD (FreeCAD)
I decided to use FreeCAD to make the circuit in 3D. In this step, the goal is to create sketches and extrude them. Quite easy!
To create the substrate:
- Open FreeCAD;
- Click File > Open, and select the SVG file;
- In the Select module that pops up, select "SVG as geometry (importSVG)";
- Go to Part workbench;
- Select the object corresponding to the substrate (called gge123 for me);
- Click Extrude a selected sketch. Then choose the thickness you want for the substrate. I selected "Along: 0 mm" and "Against: 1 mm". This way the substrate is extruded and leaves the other objects visible on its top. Then click OK.
To extrude the tracks, the pads and make the holes:
- Open the Draft workbench;
- Select all the other objects (called gge, circle, and ellipse in my case), then find and click the tool called "Convert bidirectionally between Draft and Sketch objects". This will create sketches (in red). You can now delete the other objects (blue), except the substrate created before;
- Go to the Sketch workbench;
- Select all the sketches that are used for the tracks, then click Sketch > Merge sketches. Rename this new sketch "Tracks sketch". And delete the one you just used.
- Do the same for the pads (biggest circles) => "Pads sketch";
- Do the same for the holes (smallest circles) => Holes sketch";
- Go to the Part Design workbench;
- Select the substrate object (probably called Extrude), then click "Create a new body and make it active".
- Drag the 3 sketches (tracks, pads, holes) inside this body;
- Select the tracks sketch and click "Pad a selected sketch". Select a length (3 mm) and click OK;
- Do the same for the pad sketch;
- Finally, select the holes sketch, and click "Create a pocket with the selected sketch". Select "Symmetric to the plane", and in "Type" tab select "Through all", then click OK.
Finally, select the object you made, click File > Export, and save it (for example as an Additive Manufacturing Format or AMF file).
Step 7: Prepare the PCB for 3D Printing (with Cura)
The last step consists in using a slicer software to prepare the file for the 3D printer. I used Cura. I will not describe how to do this since there are many tutorials on the internet. As an example, I use the "Fast settings" propose by Cura, and I changed a few things:
- I set the temperature to 210°C instead of 200°C, in order to make both plastic stick better;
- I use an infill of 100%. I think this is important because a bigger volume of plastic leads to lower resistance for the tracks (as seen in step 3).
I saved the file (as a gcode), but before to send it to the printer, I opened it with a text editor, and search for the layer where the tracks start to be printed (it corresponds to the layer 4 for me). Below "layer 4", I added the M600 command, which initiates the filament change. You can use this command if your printer has the Marlin firmware.
Step 8: Add the Components
Once printed you can add the components. There is not much to say here, just use the technic I described in step 2: place the components in the holes, then add a piece of raw conductive filament inside these holes to block the components.
If you feel the components are still a bit loose in the holes, you have 2 possibilities:
- Reduce the diameter of the hole (for example from 2.5 mm to 2.4 mm), and reprint the PCB;
- Add a piece of wire in the hole (before adding the plastic filament). I used this technic for the blue PCB.
Step 9: Enjoy You 3D Printed Circuit Boards
That's all! Be creative and have fun making 3D printed circuit boards!
For more details:
-The purple board: it is a simple board with an LED, a resistor, a push button, and a 9V battery. Pressing the push button lights the LED;
-The yellow board: it is a circuit to flash an LED. This circuit is described in the book "Make: Electronics" by Charles Platt.
-The blue board: it is a circuit to fade an LED on and off. Again, this circuit is described in "Make: Electronics".
So what do you think? Is this a fun experiment to try? Or a useless thing? Please leave a comment below, I'd like to know!
Also, what EDA software do you use and why? As a beginner, I am wondering which one you prefer, to give it a try.
Runner Up in the
PCB Design Challenge