Hi.
I'm bringing some insights to this discussion:
0 - I have a ShapeOko2 fitted with a few upgrades;
1 - My controller is a TinyG. It was bought in December 2014;
2 - I bought the following items from eBay to build 2 diode lasers:
Personal protection:
111416683541 Protective Goggles for Violet/Blue 200-450/800-2000nm
Laser diode mount (very good):
181095664813 3 pack 12x30mm Copper 5.6mm LD Mount Module & Press Tool
Support for laser mount that fits easily to ShapeOko2:
161259035015 12mm SK12 Linear Rail Shaft Guide
Heatsink to prevent overheating:
231319696413 Heatsink/ Heat Sink for 12mm Laser Diode Module
405nm laser:
120894912588 New 405nm-410nm 120mW TO18 5.6mm Sony Laser Diode
400520360369 405nm 50mw-400mw Violet/Blue Laser Driver 12V with TTL
261553641530 Power Supply AC 100-240V To DC 12V 2A
180715232691 445nm 405nm Three Element Glass Lens for Aixiz Module
808nm laser:
260834691532 808nm 500mW 5.6mm TO-18 Infrared IR Laser Diode No PD
330875517474 Laser Diode Driver for 808nm&532nm +660nm with TTL
221572050124 AC Converter Adapter DC 5V 3A
261230108802 808nm 3 layer Glass Laser Collimation Lens
3 - Both laser diode (LD) drivers support TTL, on/off, control with switching frequency up to 20kHz;
4 - Only one of the lasers will be installed at a time on the machine;
5 - The LD driver can be connected to TinyG via, for example, the coolant control;
6 - I'd like to use the setup to burn the ink over black painted PCBs, or just to impress a photoresist coated PCB, whichever works better. After drawing an insulation path over the PCB, I will use the ShapeOko2 Spindle to drill the holes and to cut out the PCB;
7 - I have mounted the laser on one side of the ShapeOko2 part that holds the spindle, while the spindle is mounted on the opposite side, as a regular ShapeOko2 is built;
8 - GCode needs to be generated from the product of a PCB design program such as Eagle. Usually Eagle output is in the gerber format and gerber can be translated to GCode. One way of doing it is by using the Cirqoid open source solution. I believe it is called cirQWizard;
9 - BUT, whatever is the format of the GCode produced, the laser on/laser off commands needs to be translated to the commands that effectively control the laser module TTL switch. In this example, every time the TinyG control program sees a LASER ON/LASER OFF command, it should substitute that command for a COOLANT ON/COOLANT OFF command.
These are my contributions to the topic at this moment. If you find them useful or you can contribute to them, please comment. Thanks.