Friday, August 8, 2014

40 Watt Chinese CO2 Laser Upgrade with RAMPS & Arudino

3/31/2015 - Updates made in the Firmware and Inkscape plugin section below. Thanks go to Turnkey Tyranny for the many improvements and fixes he's contributed. 

Also, I would like to note, there are many variations on the Laser supplies.  Please be very aware whether yours is an ACTIVE LOW or ACTIVE HIGH enable signal.  The firmware below is ACTIVE LOW.


I've wanted to start playing with Laser Cutter/Engravers for quite a while. I finally happened across a great deal on a Chinese made 40 watt Laser Engraver with the Moshidraw software and control hardware. Wanting something I can modify and that is of better quality I decided to use my spare RAMPS 1.4 and Arduino Mega I had sitting around.  I've successfully upgraded the system and here are the details so that others won't have such a hard time getting theirs up and running. One benefit with this setup is the system is completely standalone.  All you need is an SD card with your gcode files on it (remember to have the .g extension)

Please excuse the picture quality, when I get some time I'll try to take better ones.

Whats Needed:

- CO2 Laser Cutter/engraver  $478.00 with free shipping.  Not too bad at all.  Ships from US too...

Electronics ($65) for everything on ebay - im sure theres other deals out there too!
- RAMPS 1.4 with 2 Pololu stepper drivers
- Arduino Mega 2560
- Reprap Smart Full LCD Controller (if you want something that's stand-alone - optional)

- Ribbon cable connector: (I just unsoldered mine from the Moshidraw board) - couldn't wait for them to come from digikey :)
CONN FFC 12POS 1.25MM VERT PCB TE Connectivity 1-84534-2

DigiKey#: A100331-ND
- Modified firmware the Lansing Makers Group started.  The one here I modified to have an active low LASAR activation signal. Turnkey Tyranny one is the current go to favorite.

- (optional) Power table bed for the K40 Laser machine.  Note: be ready to bend and reseat screws until the stepper can turn the belt to raise and lower.  I still dont have mine working right.


***Marlin Firmware with fixes and mods from Turnkey Tyranny (I suggest using this one)

***Inkscape Plugin with fixes and mods from Turnkey Tyranny (I suggest using this one)

Additional Information/References:

Opensource Laser Group (LOTS of Smart people and good info!)!forum/opensource-laser

Good K40 Laser Build Blog:

Original Firmware:

Inkscape Plugin from Lansing Makers Group:

Lansing Makers Network Web Based G-code tool: (very nice!)


Removed the existing electronics, making sure I left the ribbon cable and Y-axis cables in tact. Removed the mounting plate:

Mounted the Arduino Mega to the Plate the moshidraw electronics were attached to, the USB port doesnt really line up, get ready to bend some metal:

Electrical Connections (please note, there are many Laser supply variations):

Note: An alternate pinout for some laser supplies is as follows:

In this case you want to connect D5 to L.  WP to GND is the normally closed interlock loop. D6 to IN for the PWM (Laser intensity) signal.  Also, if you are using your own firmware, L is active low for laser on, and H is active high.  

Made the above connections: (still need to neaten things up)

Lid Interlock:

Used a aquarium air pump for the air assist, the drag chains are cheap ones off ebay (Drag Chain - Cable Carrier 7 x 7 mm for CNC Router, Mill 500mm - 19-5/8" Long), an air assist head can be 3d printed from one of the designs on also sells a complete aluminum air assist head:

The aquarium water pump it came with actually works fairly decent, some heat exchangers help dissipate the heat due to my small reservoir of distilled water, the clamp is there because I don't have a check valve and air would get sucked back into the lines.  The 12V fan is being driven from an ac wall adapter for now until I put a 24V to 12V DC converter in the laser to power it all:

I'm using Inkscape and the Lansing Makers Group plug-in to generate G-code for cuts.  Still looking for some tools to do raster and picture engraving.... Did 4000mm/min feed rate test on 1/16" acrylic - works well...

I designed the panel to mount the LCD control board, current meter, on/off, and laser on/off controls to.

Here is the DXF file for the above cutout:

Here's the unpainted plate mounted in position.  I still need to tweak some of the hole centers, but for the most part it worked out well:

Video of it in action, cutting out the panel:

Random Notes: 
- M03 and M05 are LASER ON and OFF respectively
   This is at the top of all my gcode files:
     G96 S90 (set spindle speed so M3/M5 will work)
     G21 (All units in mm)
- G00 move laser to position without turning off
- G01, 02, 03 etc.. are cut moves
- S(0-100) specifies the laser intensity on G01,02,03 line and arc moves
- G07 is RASTER line.  
- Check the direction of the fan mounted inside.  Mine was blowing out... Blowing in is much better and smells better too. 

Just a 5 minute job got it hot to the touch.



Still to do:

** I have some solid state AC switches I'm going to tie a digital pin to.  This will turn on the Air Pump (for the laser head), Water Pump (for cooling), and the exhaust fan with an M-code (will add to firmware - might just use spindle on and off...) 

** Add a case switch and water flow switch to the interlock loop so I don't burn an eye ball or the laser tube.

** Plugin Z table axis to Z on RAMPs board.  Having trouble with the Z table at the moment, very hard to move the belt, loosened and re tightened everything - need to find what is making it bind...

** Design a PCBoard that will plug into the RAMPS and allow for an almost seamless upgrade by just plugging all existing cables into the new electronics.

I will post updates as I do these...

Any Bitcoin donations would be greatly appreciated, and help fund any current & future projects.  

If you would like to donate to my projects fund, my paypal is:  All donations will contribute to open source efforts and documentation to make others lives easier.  It's a pain trailblazing a new or dirty path, especially with limited funds...