The biggest issue that I've had to deal with is finding software to control the machine via a Raspberry Pi. Surprisingly I found only two server-based packages that function via a web based front end:
LaserWeb 4 and
OctoPrint. I never got the former working correctly and the latter worked out of the box with g-code generated by T2.
LaserWeb4In retrospect, this isn't the first time that I've tried LaserWeb and it was problematic for me in the past. In fact, if I recall correctly, it was my experiences with it last time that led me to choose T2. For me it hasn't been simple issue of the package not having a specific feature or two, but rather getting it to run the laser at all. Had I remembered this I probably wouldn't have tried it again.
I did give it a shot though and that I wound up doing was following the instructions
here. The short version is that you need your Pi on the network with Internet access enabled. The application is NodeJS based so the first thing you have to do is install that package to a clean and updated Raspian (Debian Jessie) installation. The Github site says that LaserWeb will run on a RPi 2 or 3, and I had no issues installing to a Pi4b. Once you've got NodeJS installed and running, install git if necessary, and pull the repository to your installation, set the server up to start automatically if you want, and then start it. That's the easy part. Pull the IP of your Pi (ifconfig) and point a browser to; http://[RPiIP]:8000. There's a front-end client that you can install to a Intel based desktop. It comes in Windows, Mac, and Linux flavors but I like using a browser for access and it's probably a good place for you to start.
Here's where things went sideways for me. Simply plugging in the laser usb and power saw the machine traveling on both axes, although I had to reverse the Y axis. It also saw the laser start. And burn. And burn... I cut the power, reset the whole system, and once again I had motor control but couldn't turn off the laser.
Some research led me to update GRBL on my machine. Much to my surprise, I was running version .9 and the minimum for LW4 is 1.1f or better. So I flashed a version of 1.1f. Upon starting the system, I still had motor control and, lo, the laser didn't light off. Unfortunately, the laser didn't start when I told it to either. At this point, I started to wonder if I had hardware problems. I knew that the machine had been working when I disconnected it and so I stopped there.
OctoPrint / OctoPiI pulled the micro-SD card out of the Pi, flashed another with OctoPi, and set that up. For those unfamiliar with it, OctoPrint is a package designed to control a 3d printer. Like LW4, it's free, open source software. It also has really good support and a robust plugin library. The creator, Gina Häußge (@foosel, passionate code monkey, Geek, Gamer) works full-time on development and maintenance of the package and it shows. Additionally, OctoPi is a Raspian-based distribution of Häußge's package, maintained by
Guy Sheffer. It can be burned directly to a micro-SD card and starts the OctoPrint server out of the box. After you make the SD, about the only thing you need to do is set up SSH or VNC and add a desktop if you intend to use any of them. They're actually not necessary as the server allows configuration of everything via the front-end. Once you've installed it and started the RPi, simply log to: http://[RPiIp] and you're there. There's a set up wizard that takes you though the basic process.
OK, that's great but, as we all know, a laser engraver is not a 3d printer. What makes OctoPrint relevant to the world of laser machines is a plugin called Better GRBL Support. It worked with my machine with no fuss, no muss. I had motor and laser control out of the box. One warning about the plugin: it overwrites settings. Do not attempt to install it on a machine that controls your printer as you will quickly discover why you took that backup. You *did* take a backup first, didn't you?
Link to video of the machine running a simple T2 demo square.Best,
Jerry