1 of 1 people found this helpful
In a word - yes!
A brief google search turned up these for you.
The last gives you you a lot of info.
(1) The first two links reference (or point to) here - so only one is required really.
(2) Oops, last one is can run on a Raspberry Pi but control is using an Arduino Mega 2560 - which would make this little beaut very useful . . . .
Essentially it uses GRBL (known as gerbil for fairly obvious reasons) - GRBL is used for 3D printers / Cutters / CNC Machines.
Kinda what you're after . . .
There is a CNC cape available for use with LinuxCNC - more info from this very forum here.
Essentially, RPi, Arduino, BB and probably any other Single Board Computer or Microcontoller has the capability of driving a Laser Engraver. If you can produce X/Y drawing commands to steppers and turn a laser on and off then you just need software to take your design and convert it to those drive signals.
Do as I did, google it (I often end up linked to instructables or similar). Many have gone before with this project, no point reinventing the wheel here.
I'd say your biggest challenge is going to be deciding on which software package you get on best with.
So technically the answer is yes but with caveats, the examples given above are for a wee little CNC / Laser engraver, almost every successful RPI based solution involves using a separate GRBL to Step/Direction controller, this can be abased on a UNO, MEGA, STM or other microcontroller on a a shield/Cape or connected via USB or serial.
The PI is very good at providing the user interface (See OCTOPrint or Pronterface for example of 3D printer solutions... still GCODE) but the microcontroller is much better at the FAST step/direction pulse generation and timing required to move the steppers smoothly, there just not so good at translating a circle smoothly into step and direction for example, so the PI in the case of CNC machine is pacing the feed of GCode to the controller and also pre processing the GCode to simplify the arcs, circles and other complex moves into simpler sets the controller can easily deal with, this is the normal and in my opinion better approach.