gerber2gcode is an application written in Python with the single purpose of converting a Gerber SMD solder mask file into a g-code file that can be read by common 3D printers.
The 3D printer will then extrude the correct amount of solder past in the correct pads of the PCB using any method available. In my case I have an air solder paste dispenser with a syringe and a pedal.
The application was written in Python 3.7.1 in PyCharm IDE. Most libraries are included with Python default installation, the only dependency that you need to install with pip is Matplotlib 3.0.2 or later.
You can install Matplotlib 3.0.2 by running:
python -m pip install -U pip
python -m pip install -U matplotlib
NOTE: The software was verified to work on Microsoft Windows OS. I did not verify if it runs on any other OS.
You can run the script in several ways:
- Run it via command line, by navigating to the folder where you have the .py file and by running
python gerber2gcode.py
- Run it via any Python IDE such as PyCharms, by pressing the Run button.
The current version (v0.3) only accepts RS274X Gerber ZIP files created in Labcenter Electronics Proteus.
But hopefully I will have time to adapt the code to other software like Eagle, etc.
Video - SmartiXX R&D #1 - gerber2gcode v0.3
Version | Features | Supported Gerber |
---|---|---|
0.1 | Initial version Basic ZIP operations Gerber file parsing |
RS274X Gerber (Labcenter Electronics Proteus) |
0.2 | Image generation of pads | RS274X Gerber (Labcenter Electronics Proteus) |
0.3 | Image of pads now has sizes according to pad area Image of pads has vectors for 3D printer movement G-Code generation for Marlin-based printers Code optimization, comment optimization |
RS274X Gerber (Labcenter Electronics Proteus) |
Future features and TODO's | Date proposed |
---|---|
Add support to Eagle Gerber files | 2018/11/21 |
Use the correct g-code for dispensing the solder paste | 2018/11/21 |
If you feel like helping the project, feel free to contribute!
For this project you will need the following (or similar) equipment:
- Tronxy X1 3D printer (modified: head removed and replaced with an adapter for the syringe)
- YDL-983A solder paste dispenser
NOTE: Currently I did not have time yet to assembly and complete the hardware build. But it is planned for my next free time slots.
If you like this project, help us make it even better by donating!