Lasercutting with the BeBoPr - modmaker/BeBoPr GitHub Wiki
Besides for 3D printers, the stepper firmware is also designed to control a laser-cutter.
Positioning
Two or three of the X, Y and Z axes control stepper motors to position a laser-head. The stepper motor drivers can be simple Pololu modules that plug into the BeBoPr, or more powerful external drivers that connect via a 16pin header connector. If necessary, limit switches can be used with the BeBoPr to calibrate the laser head to a fixed position.
Power control
The laser itself can be operated in one of two modes: Continuous mode or pulsed mode. The BeBoPr is specially designed to operate in pulsed mode, although of course the more simple continuous mode is available too.
Pulsed mode
In this mode the E-axis step-pulse output is used to fire the laser generating a short pulse. Because all four axes operate synchronously, the laser pulses are evenly distributed over the distance moved. This also happens during the acceleration and deceleration phases. As a consequence the laser power is evenly distributed over the distance moved, and there's little chance of burning or scorching. The duration of the pulses can be set from software (with a G-code command), this also makes it possible to use the BeBoPr for engraving with some simple changes to the (Open Source) G-code interpreter.
Continuous mode
Laser output power can also be controlled by one of the PWM outputs, independently of the use of the pulse signal. This is also done by a simple G-code command. As Continuous mode can easily cause burning or scorching of the work, if the g-code is not carefully designed, pulsed mode is the preferred operating mode.