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...

Wednesday, July 16, 2014

3D Printer DLP - Rev 2

 I've decided to make a more streamlined version of my previous 3D DLP Printer.  After finding a good deal on 8020 for some 2" square aluminum extrusions, I decided to go ahead and start the build.  

Materials Used: (most off of ebay)

Below, I've mounted my linear rail (14" of travel) to two 36" long 2" square 10 series t-slot extrusions.  I used some 8020 right angle gussets to make it very rigid.  

I used a 1" square t-slot extrusion to mount the first surface mirror and another to mount the projector.  I plan on designing a better projector mount to print on my reprap soon - I'll post pics of that once complete.  Just a right angle piece of aluminum holding it on at the moment.

 Here is the projector and mirror mounted and base frame cut to length. 

 I used the original mount for the mirror I had made with epoxy and my mitre saw.  I plan on printing a more "elegant" solution once the DLP printer is up and running. 

 I mounted a 2" extrusion accross horizontally and used 1" extrusions to frame out the vat base. It is cantilevered out from the vertical members and is very rigid.  The paper is there to adjust focus and measure the x y values for the print area.

 My mirror needs some cleaning...

 Now, I've mounted the peristaltic pump on the vertical member.  The DC motor can operate in both directions allowing me to fill and drain the vat.  I have still yet to design the "nozzle" for the portion that lays in the vat. 

The birdcage blower fan is mounted to the vertical member along the back.  I will be cutting acrylic pieces to enclose the VAT to the top of the linear rail.  The blower will be connected to the top and blow into a activated carbon filter.  

 Here you can see the blower fan better.  I've also mounted the build plate to the linear rail. Notice this design doesn't have a slide mechanism. Previously I had the VAT mounted on rails and it would slide between lifts.  For this design, I plan on making various attachments to the Z axis.  One will rotate a circular build plate, another will be as shown below, and yet another will have the slide mechanism on the horizontal bar coming out of the Z axis slide mount.

Finally has some time last night to finish the build.  I'll post those pics soon.  Here's half of the rook I printed so that the interior is visible.  This is the first test print and it came out excellent.  Has some fuzz from my pocket (brought it to work to take pics). 

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...
More to come...

Friday, March 21, 2014

3D DLP Printer

I finally got around to taking some pictures of my 3D DLP Printer build.  I would like to give many thanks to Tristram Budel for his Instructables article detailing a DLP printer build.  This article was used as a great starting point for me.  It is full of information, and is a recommended read (

These two photos are the overall of the build with the panels removed.  The panels are needed so the exhaust fan and pull the resin vapors out of the house without letting any escape.  The Bucktown polymer's resin I am currently using (which is VERY high strength once cured) has flammable vapors. I'm working on a carbon air filter with a stronger blower fan for something that doesn't need to be piped to the outside.

Some Videos: (the fluorescent lights do not cure the resin, I can keep them on all day long without issue.)
Here is a side view of the mirror and projector, you can also see the stepper motor the controls the Y axis slide.  This has a home limit switch in addition to the Z axis limit switches.

The Y-axis limit switch.
Z-axis limit switch. I home it, and then drop the build plate to the VAT surface whenever I switch VATs.
Demonstration of a rapid Z axis move from home.  The borosilicate glass is VERY strong. The suction force of the whole build plate is overcome with the NEMA 23 motor and Z stage.

Z-axis homing operation

Z moves...

I used 1" T-slot aluminum to create a "box".  I have the Y-axis vat slide on two linear rods with bearings.  There is a single NEMA 17 stepper that pulls the vat parallel to the Y-axis.  While the Z is lifting, this Y axis motion helps counter any suction forces encountered.  I have printed relatively large prints, and this was very successful.  No tilting or twisting needed.

The Z-axis is a linear ball screw stage I got off e-bay.  It has 14" of travel.  There is a NEMA 23 stepper attached to this axis. The whole thing is controlled by an Arduino Mega paired with a RAMPS 1.4 board with Pololu stepper drivers.  An ATX supply provides the power.

 The build plate is a simple cut piece of aluminum.  104mm x 204mm.  I sanded with a 120 grit sand paper and cleaned it.  The prints stick to this very well.

 The 5/8" linear rods and bearings support the vat and Y-stage.  I used some more T-slot aluminum and REPRAP printed brackets to secure it all together.

 Here is the side view.  My 1080p DLP projector (Acer H6510BD DLP) and a single surface mirror I got off ebay.  No modifications were made to the projector, I didn't remove the color wheel or anything.  I cut some acrylic to make a 45 degree angle and epoxied an adjustable mount.  I can adjust the distance to I can achieve higher resolution prints that are smaller, or larger lower resolution prints for big objects.  Still playing with the cure times to get the build times lower.

 Here is the back with the NEMA 17 stepper for the Y axis.  It has a simple threaded rod.  There is no need for high accuracy on the Y axis.  It's simply used to help detach the printed layer with a lateral force.  I have found 5mm of deflection for the complete Z axis cycle is enough.
 Here is one of my VATs that needs to be recoated.  I used a 300mm x 300mm borosilicate glass ( with aluminum for the walls.  Black silicone to stick it all together, and Sylgard 184 for the coating.  The borosilicate glass is "VERY" strong.  I doesn't deflect at all with a fully exposed 104mmx200mm print.  The Z axis speed has to be reduced, but they seperate with 0 missed steps...
Here is the peristaltic pump I got off e-bay to get the resin out of the VAT.  It works great, just learned the hard way that you need to flush it with isopropyl alcohol after each use....

Here are some prints I did of a compound bow stabilizer and sight mount I designed for the Hoyt Carbon Matrix:  The stabilizer was a large print, I had to make sure the Z axis was almost perfectly perpendicular to the VAT.

This is an AR-15 Quad Rail.  This was an extreme test of the full 14" travel.  The only issue was the "bleed through" of layers, I need to add more graphite powder to the resin to prevent this. 

Current settings:

First 5 layers - 13 seconds
Each 100micron layer - 6.25 seconds

I use Creation Workshop for the prints with the code modified to move the Y axis instead of X for the "tilt" setting.

Source Branch:

Some of the STL files I made for this build:

This is the build plate mount. It secures to 1" Aluminum T-slot.  I used epoxy to secure to the aluminum plate.

This is the retainer that secures the vat to the Y-axis slide.  It's simple but very effective.

Y-carriage slide stem:
This takes a simple hex nut and secures to the T-slot aluminum to control the Y-axis slide.

Z-arm mount - A reinforced right angle mount for the Z-arm. Not currently being used in the pictures, but does work well when 4 are printed.


** Z-stage - "THOMSON LINEAR MOTION 2RBM120DMHL QUICKSLIDE 14-3/8" TRAVEL" The pitch is large, which surprised me that 100 micron layers are no problem for it. The ballscrew has no measurable backlash, atleast not with my budget calipers. I've tried down to 50 micron without issue. I would need to do some more experiments to see what it's capable of. I'm using 1/16 microstepping on the stepper drivers with a big NEMA 23 stepper on this axis.

When I get some time I'll try some experiments to see what layer thickness I'm able to get reliably. The 1080p projector is a dream for X, Y.

** I chose this projector simply because it was tried and tested with the instructable article by Tristram. The amount of UV that comes out of it without a single modification is wonderful.

** Bucktown polymer ZVE500-V420  UV resin:
   12 second initial layers (5 layers)
   5.25 seconds per 100micron layer
  Some prints with overhang geometries need some graphite powder added to prevent bleedthough from layer to layer. 

** Makerjuice SubG+ resins.
   First 5 layers - 13 seconds
   Each 100micron layer - 6.25 seconds

More updates to come. 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...