This project offers a 3d printable jig that that can be used as a help when you want to assemble your own pcb board. More specifically the jig provided in this project can help for keeping the PCB and Stencil on correct position when you spread the soldering paste to PCB by using the stencil as a help.
Jig consist of from 4 different parts that can be generated and exported easily with the openscad by modifying the parameters close to main function. Alrernatively, the project will try to generate model parts automatically from the Kicad project if you give the kicad_pcb file as a parameters so that it can check the PCB size in a following way for example:
./generate_pcb_stencil_jigboard.py ~/nokia/bell_labs/led_test/led_test.kicad_pcb
Execution of this script will check the size of the PCB from kicad_pcb project file and then invoke the openscad project to generate 4 stl files on optimal size required for the JIG. Project aims to generate files in a way that for PCB's which size is close to each other will always try to use the same size container_box, lidboard and stencil_lift frame so that only the pcb_holder board is PCB/project specific. This adds reusability for the projects and reduces the time required for printing 3d model parts. (JIG size is increased on 20 mm steps if needed)
Alternatively you can generate model files without invoking the python by calling openscad directly in a following way and then modifying parameters directly from source code and then exporting the stl by using the openscad export command from the menu:
openscad pcb_stencil_jig.scad
you can then change these pamaters:
// value between 1-4 to generate different model parts
jig_output_module = 1;
jig_size_x = 162;
jig_size_y = 162;
liftboard_frame_width = 82;
pcb_size_x = 40;
pcb_size_y = 40;
Following 3D printable model stl files (and pictures of them) can be generated by using this project:
-
container_box that provides the base for which all other parts will be layered. All four corners will in addition require 35m length springs for lifting the pcb_stencil_liftboard up once air suction/vacuum cleaner is turned off.
-
lidboard with air holes that is put on top of the container box
-
pcb_stencil_liftboard provides a frame that can lower and raise the pcb stencil. It is put on top of the lidboard. Air suction holes on pcb_holder_board are aligned with the lidboard so that the suction air will hold the stencil on place. It is designed to help for keeping the pcb and stencil on place when spreading the solder paste.
-
pcb_holder_board is centered on the middle of the pcb_stencil_liftboard. In addition of air suctioning holes, it will also contain the mounting hole for the PCB. Depth of the mounting hole can be adjusted.
In addition of the 3D printable parts, you will also need following:
- Springs for lifting the PC 0.8x9mm OD,35mm Free Length springs ordered from Amazon: https://www.amazon.com/gp/product/B0B6J19Q14/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&th=1
- Vacuum cleaner or other air suctioning device. I have used my red-devil vacuum cleaner which pipe can be put to the hole in container_box to suct the air and hold pcb and stencil on place while spreading the solder paste.
3D models/stl folder contains example model files for the 142x142 container box construction that is optimal for PCB's which size is around 60 mm and stencil thus being usually over 80x80 mm of size.
- 3d_models/prusa/creality_3_s1_pro folder contains the 3d model prusaslicer 3D project and gcode files generated from those STL files as an example.
PCB STENCIL JIG project is licensed under the GNU Lesser General Public License (LGPL) version 2.1 or later (LGPL v2.1+).
Mika Laitio / Nokia Bell Labs. You can reach me from my private email address: [email protected]
Credits for the idea goes for the following projects which gave idea for this project: https://github.com/scheffield/stencil-fix.git https://github.com/MariusHeier/magik_solder_paste_stencil_box.git
Main advantage over those is the usage of openscad. This allows easy scriptable flexibility to generate the different size JIGS for different size PCB's very easily. As a proof of concept from this is the python script which allows user to specify the kicad project PCB file as a parameter for getting the PCB specific parameters to printout optimal size JIG. So in future, this project can be used for generate a plugin for Kicad and other PCB schematic tools. (Altium designer for example). Another advantage is that openscad as an opensource tool is freely available on multiple different operating system platforms.