Open Source Laser Cutter

An open source small(2'X3') and Large (4'X4') laser cutter

Similar projects worth following
This is a Large and small factor laser cutter.

The controller board has connectors for 8 axis of PID control, all of which can be coordinated in the kinematics engine.

We have replaced stepper motors with low cost servo motors. Two motors control the Y axis with 1 on the X and Z axis.These motors are coupled with a hall effect orientation encoder. The best part is we can get 4096 'tick' per revolution measurements and a controller that can drive the motor to within +-2 ticks

The control framework is a high speed protocol called Bowler. We can send packets and get a response back to Java in 4ms. Most of the complex features can now be handled at the high level. We also support a full configuration storage system, so the cuts configurations stay with the Machine.

Here is the Open Source laser cutter


The entire machine is moved by low cost servo motors  with a close-loop encoder feedback. mxl timing belt and printed sprockets are used for movement.

The machines have a cutting size of 2'x3' for the smaller machine and 4'x4' for the larger machine. We are currently working on additional upgrade features such as adjustable Z for parts bending, and upgraded optics that don't require lens focusing.

The entire laser tube and optics are encased in the machine.The small laser is capable of housing up to a 80w CO2 laser the large laser can house up to an 120w CO2 laser. An additional feature we are currently working on is laser detection. This will disable the laser if the beam is not contacting the cutting area.

Once the machine has been assembled and tested all parts will be available open source under a creative commons license.


This project uses the same electronics hardware and software platform as the Servostock, Flower Router and open face mill.

The system we developed over 4 years and have now applied to the flower router is an extensible, namespaced communication protocol. Think of it like a domain specific language over a generic serialized communication link. The protocol allows devices to report to the computer their capabilities, then the computer can generate packets based on that report. We have complete implementations in Java and C99. Clojure, Jython, Jruby and Matlab have been tested working with this library. There is a partial implementation in pure Ruby as well.

We have redesigned the entire control system from the ground up. From the get-go we started using magnet orientation encoders plus low cost continuous servos. The motherboard is a Pic32mx440f128h with each axis receiving a servo pulse and an SPI channel for the encoder. The motherboard uses a 7x2 ribbon cable to connect to each axis. Each axis has a small board with the encoder chip and the connector for the servo.

The control loop runs at 20 ms for the servo pulse calculation, interpolation and forward/inverse kinematics. The device identifies itself as having the PID control namespace, the kinematics namespace, and the router configuration namespace. Through the communication layer you can change kinematics models, change PID constants and store all the configurations. The configurations are stored non-volatile in Flash and travel with the printer to be read at runtime. NO MORE CONFIG FILES!!

The firmware also has auto-config system. The servo dead band is measured at boot time. The end stops are measured using the encoder with no limit switches.


a (new to you guys) bootloader that i developed for the DyIO controller. It is a serial bootloader that uses the same communication protocol as the printer or any other device for that matter. The bootloading interface is just another namespace that any device can implement. The toolchain for generating bootloader file is all written in Java and attaches to any Makefile build chain.

  • Gantry and testing

    sporkius09/30/2014 at 01:43 0 comments

    The rails, gantry, and timing belt have been installed on the laser machine. Thanks to a volunteer (Shawn) we are currently developing a more advanced optics system that allows increased precision and deeper cuts. We are testing CNC functionality using mock Gcode. The small laser cutter also joined our booth at the NYC Makerfaire.

    Partially assembled gantry.

    X Axis motor with timing gear and ribbon cable for hall effect encoder.

    X and Y axis Closeup.

    X and Y axis assembled. Ready for timing Belt

    Ready for a trip to NYC Makerfaire.

    The Router (Bottom right) at the NYC Makerfaire.

  • Cabinet Assembly

    sporkius07/14/2014 at 00:41 0 comments

    The Cabinet has begun being assembled. Once completed we will begin assembling  the electronics and gantry. Below is a picture of the large laser cabinet. I will be adding pictures of the small cabinet shortly.

  • Finally Cut

    sporkius06/29/2014 at 21:29 0 comments

    All the parts for the laser machine are finally cut and ready for assembly. We are currently printing all the motor and pulley mounts. We are hoping to have this machine up and cutting in the next 2-4 weeks. 

View all 3 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates