We continue to develop resources related to the COVID-19 pandemic. See COVID-19 initiatives on Appropedia for more information.

Lasersaur Rebuild

From Appropedia
Jump to navigation Jump to search


LaserSaur laser cutter motion components redesign and custom firmware

Open Source Hardware Enterprise of Michigan Technological University purchased an open source laser cutter called the "lasersaur". While the design was adequate with testing we decided to attempt improvements on the motion components of the laser cutter.

Reasons for the Rebuild:

  1. A substantial portion of the cutting bed could be re-claimed by redesigning the components increasing the working area of the laser cutter
  2. The prior designed linear motion system presented mechanics that were easy to mis-align. The movement of the gantry would cause the bearings to slightly loosen. This caused jittering in the cuts as seen below. More severe examples exist but the stock could not be located for this documentation
  3. The far ends of the gantry were statically linked by one axle with one motor. This made it extremely difficult to get a true alignment with the gantry.
  4. For proof of concept. Similair designs for inexpensive linear motion have been implemented in a wide range of applications. Mainly for cnc mill's. This rebuild was partially under the intention of testing and displaying functionality of that implementation and appropriateness on a laser cutter.
  5. One of the benefits of this design is the simplicity to remove the gantry entirely in case you need to make modifications or preform maintenance.

A Note on this implementation:

The dynamic motion of the components used in this application were more complex and less functional then other designs. While this design works there are simpler methods of achieving the same and better results. There are elements of this design that could be greatly optimized.

Required Tools:

  • 3d Printer capable of printing pla and ninja flex with a minimum print dimension of 8x8x6 inches
  • Center Punch
  • Hammer
  • Drill
  • Drill Bit Set
  • Allen Wrench Set
  • Needle nose Pliers
  • Soldering Iron
  • Lighter for heat shrink tubing
  • Wire Strippers

Bill Of Materials:

Electronics and Wiring

  • Male+Female 4 Pin Connector with wire for 5050/3528 RGB Led Driver/Strip. [1] I use these connectors for all of my stepper motors in every project.
  • IEC320 C14 Inlet Socket. This is a standard computer mains 3 prong plug. The IE number and c14 are standards for classifying this power socket
  • JST XH 2.5-2 Pin Battery Connector Plug Female & Male with 120MM Wire. These are used for the limit switches, any 2 prong male female connectors will suffice
  • 6 x TEMCo Micro Limit Switch Lever Arm Subminiature SPDT Snap Action. These are the limit switches for x,y min and max
  • Smoothieboard V1 found [2]. I do not recommend using this control board. This board is inconsistent with flashing firmware and setting up the configuration but it is what I currently have installed.
  • 2 x 17hs16-2004s1 Nema 17 Stepper Motors for the Y axis motion. these can be swapped for different nema 17's as long as you have two identical steppers with current rating of less than or equal to 2.0 amps
  • Linear Engineering 4118s-01 Nema 17 for the x axis. This came with the original Lasersaur bill of materials and may be discontinued. If so, a standard nema 17 1.5a 1.8 degree step angle will sufice.
  • 5 volt ac-dc power supply (rs-75-5)
  • 24 volt ac-dc power supply (rs-75-24)


  • High Carbon Steel V Groove Guide Pulley Rail Ball Bearings Wheel 3*12*4mm. These allow the gantry plates to ride on the rails
  • Inventables 1800 mm makerslide found [3]. This is for the x axis focusing mirror carriege
  • 4x Inventables Dual Bearing V-Wheel Kit
  • M5-0.80x12 MM,(FT) Socket Cap Screws Cap Screw. These hold the guide rails to the frame of the laser cutter. It is very important that the head of these screws be low profile to allow the gantry plates to pass over them with proper clearance
  • Flanged Shielded Bearing MF84ZZ 4x8x3 Miniature. For the rotation components on the gantry plates.
  • 12 x m2x10mm. 2 for each limit switch.

Software. This assumes use of the smoothieboard as a control board

  • Use the open source software "Pronterface" for controlling the laser cutter
  • Customized smoothieboard firmware found [4].

NOTE: It is a good idea to remove and store your laser tube from the chassis of the laser cutter for the entirety of the reconstruction. This will help ensure you do not accidentally damage the laser tube which is generally more expensive then the cumulative price of the other components of the laser cutter.

Begin printing components

  • 4 x Y-Min, Y-Max Limit switches titled "LimitMount.stl"

Remove old mechanical components from the lasersaur:

  1. Remove the belts driving the gantry and focusing lens carriage.
  2. Remove the refraction mirrors.
  3. Remove the limit switch mounts and the belt caster mounts.
  4. Remove the stepper motors.
  5. Remove the gantry and remaining drive components.
  6. Remove the build platform and platform spacing mesh from the floor of the chassis.
  7. Finally, remove the two t-slot extruded aluminum bars that travel from the front to the back of the lasercutter inner chassis. These are located on the far left and far right sides.

Lasersaur remove elements photo.jpg

At this point the inside of the laser cutter chassis should contain no components other than those of the frame. No limit switches or limit switch mounting hardware, no electrical components of any kind and no motion hardware components of any kind. A perfect rectangle should be formed by the t-slot aluminum extrusion of the chassis frame with no interfering or protruding parts.

Mount the guide rails:

Bill Of Materials:

  • 36 M5-0.80x12 MM,(FT) Socket Cap Screw
  • 64 M5 Washers O.D >= 12mm
  • 36 M5 Nuts


  1. Cut your aluminum stock to the y length of the chassis. This will be around 33 and 3/4 inch length.
  2. Using a center punch and a ruler, punch drill guide points in the aluminum stock in 9 places evenly spaced across the stock. This should give you intervals between punches roughly 4 and 1/4 inch apart.
  3. Use a drill with a bit as close to and slightly larger then 5mm as possible to drill out the punched locations in the stock.
  4. Using the low profile 12mm m5 screws, 2 m5 washers per screw and an m5 nut (non-locking) Mount the stock to the top and bottom t-slots of both the left and right sided 80x40mm t-slot chassis frame extrusions. Place a t-slot m5 slot nut in the rail, then a washer then a nut then a washer then the aluminum stock and thread the nut through that order of components as seen in the pictures.

Solder the electronic components

  1. Begin by soldering your limit switches. This will give you soldering practice for when you get to your stepper motors. Use a normally closed configuration for your limit switches. This ensures that in the case of a faulty switch a limit break will register with the control system not allowing motion. Solder a male connector to the switch. Use male connectors whenever a static component's terminals can be touched with no effect. for example with a power supply you would have the plug coming out of the psu be female because you cannot accidentally connect the power terminals. On the other end such as the control board connected to that power supply you would have male connectors since accidentally connecting the terminals of the connector is not possible if it is connected to the power supply indicating no power would be in the board and no damage possible. Use 3/32 inch heat shrink tubing to cover the solder joints. Test all your limit switches wit a multimeter by turing the function to the logical not symbol, this beeps when the two probes of the multimeter are touching each other. Connect the multi meter probes to the limit switch wires. The multimeter should make a beep when the switch is not activated or not pressed. The multimeter should stop beeping when you press the limit switch or open the circuit. Orientation of the connectors does not matter.
  2. Repeat step 1 until you have 6 functionally wired limit switches.
  3. Solder the 4 pin connectors to you stepper motors. Your stepper motors should have the same wiring color scheme as the connectors. If that is not the case, refer to the documentation for your stepper motors and stepper motor wiring color schemes for the proper configurations. Again because touching all the terminals of a disconnected stepper motor will not damage the motor in any way use a male connector

Mount Y-Max and Y-Min Limit Switches

  1. Print 4 coppies of LimitMount.stl.
  2. Use 2 m2 x 10mm screws to mount each switch
  3. Once the limit switches are all mounted to their brackets use 2 m5 x 8mm screws and 2 5mm slot nuts to mount the brackets inside the chassis's cutting chamber
  4. YLimitHardware.jpg

It may be hard to see, but the y min/max limit switch mount brackets are backed up all the way to the cross bar stock. So the back of the bracket is as far back as possible and touching the cross bar stock.

Solder, Route and Mount the static components of the laser cutter

  • Begin by soldering cables of necessary length to connectors for the limit switches. You can use any wire as long as it is protected from signal interference. I use Ethernet cable because it is shielded.
  • Print cable mounting brackets. If you use Ethernet cable you can print the provided cable management brackets titled "EthernetCableManagerLower.stl" and "EthernetCableManagerUpper.stl".
  • Each bracket uses 2 x m2x10mm screws directly screwed into the pla through the upper bracket into the lower bracket. They lower brackets are secured to the extrusion with 2 m5x8mm and 2 m5 slot nuts each. I use 3 bracket pairs per side on the under side of the main aluminum extrusions, both sides of the chassis traveling from y min to y max
  • Next, mount the two Ethernet cables and a pneumatic tube from the y min x min corner to the y min x max corner of the cutter chassis's laser and electronics bay.
  • Start by printing 3 of the multiple wiring and pneumatic management bracket pairs.
  • These brackets have one smaller loop on each of the pieces of the pair, make sure to orient this correctly. Use 2 m2x10mm screws to secure the top bracket to the bottom bracket, I use 4 m5 screws and m5 slot nuts to secure the paired bracket assembly to the t-slot aluminum of the laser cutter chassis in the laser and electronics bay.

The biggest trouble with the lasersaur has been precision and software/hardware work flow. When I joined the enterprise we had a fried computer board. Lukas Wilder and I tried switching to arduino uno's and a beaglebone black unsuccessfully. Once we had the smoothieboard in place we had were able to get it to fire and cut but the cut lines were rigid. At one point when I was not present someone operating the laser allowed it to become so mis-aligned the laser deflected into the side of one of the mirror reflectors effectively destroying it. Now that the motion components are re-built the trouble has been uploading the configuration to the smoothieboard. The integrated platform of the smoothieboard is very difficult to debug and verify for successful configuration update. To get the motors working with the configuration file seemed to require a specific order of settings definitions other than what was apparent on the boards documentation at the time. Below is the configuration file.

  1. Robot module configurations : general handling of movement G-codes and slicing into moves

default_feed_rate 1000 # Default rate ( mm/minute ) for G1/G2/G3 moves default_seek_rate 1000 # Default rate ( mm/minute ) for G0 moves mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for # these segments. Smaller values mean more resolution, # higher values mean faster computation mm_per_line_segment 5 # Lines can be cut into segments ( not usefull with cartesian # coordinates robots ).

  1. Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions

alpha_steps_per_mm 72.73 # Steps per mm for alpha stepper beta_steps_per_mm 72.73 # Steps per mm for beta stepper

  1. Planner module configuration : Look-ahead and acceleration configuration

planner_queue_size 32 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING acceleration 500 # Acceleration in mm/second/second.

  1. Stepper module configuration

microseconds_per_step_pulse 10 # Duration of step pulses to stepper drivers, in microseconds base_stepping_frequency 50000 # Base frequency for stepping, higher gives smoother movement 100000

  1. Cartesian axis speed limits

x_axis_max_speed 1000 # mm/min y_axis_max_speed 1000 # mm/min

  1. Serial communications

uart0.baud_rate 115200 # Baud rate for the default hardware serial port second_usb_serial_enable false # This enables a second usb serial port (to have both pronterface # and a terminal connected) alpha_step_pin 2.0 # Pin for alpha stepper step signal alpha_dir_pin 0.5! # Pin for alpha stepper direction alpha_en_pin 0.4 # Pin for alpha enable pin alpha_current 1.5 # X stepper motor current alpha_max_rate 5000.0 # mm/min gamma_current 2.0 # beta_current 2.0 # Y stepper motor current beta_step_pin 2.2 # Pin for beta stepper step signal beta_dir_pin 0.20 # Pin for beta stepper direction beta_en_pin 0.19 # Pin for beta enable beta_max_rate 5000.0 # mm/min

  1. Only needed on a smoothieboard

currentcontrol_module_enable true return_error_on_unhandled_gcode false

To Be Continued...