Most people know OctoPrint as a must-have for 3D printer users. It provides remote access, easy file uploads, and powerful plugin support. But lately, I’ve been using it for something a little different: controlling my diode and IR laser engraver. OctoPrint isn’t officially designed for that task, but with the correct setup and expectations, it works surprisingly well.
I had already set up OctoPrint on a Raspberry Pi for one of my 3D printers. After some tweaking and research, I realized that I could use the same setup to send G-code to my laser engraver. Since then, I’ve used OctoPrint to control and monitor engravings over the network when I couldn't or preferred not to leave my laptop plugged into the device.

Related
5 Octoprint alternatives you should be using
OctoPrint is not the only platform for remotely controlling a 3D printer. These alternatives are great and they even offer more functionalities.
OctoPrint isn’t just for 3D printers
The software can communicate with your laser engraver, too
OctoPrint was built with 3D printing in mind, but at its core, it just sends G-code to a machine via USB. That basic function is the same whether you’re extruding filament or firing a laser. As long as your engraver uses a controller that accepts standard G-code commands, OctoPrint can usually communicate with it. Mine uses GRBL, which is the perfect starting point for compatibility.
Since lasers don’t need temperature controls or complex bed leveling routines, OctoPrint becomes simpler to use in this context, once it’s configured correctly. You’ll find you don’t need most of the printer-specific tools or plugins, just a plugin that can help OctoPrint “speak” GRBL. For that, I use the Bettergrblsupport plugin. That plugin helps transfer the G-code from my design software to the laser, providing an easy way to start, pause, or stop the job.
What really makes this convenient is the built-in web interface, which I can access from any device on my network. I can upload a file, preview the pathing, and launch the job from my desk or couch. I can also watch the live console output, which is helpful for debugging. Otherwise, I would have to take my laptop over to the engraver, plug it in, and leave the computer there until the job finished.
What you need to get started
Setting up OctoPrint for laser control

Source: Gina Häußge
Setting up OctoPrint to work with a laser engraver requires some initial configuration. You'll need a few hardware pieces and some firmware settings dialed in before it runs smoothly. But if your engraver already accepts G-code over USB and you have a Raspberry Pi handy, you're halfway there.
Here is what you'll need:
- A Raspberry Pi (any model with enough power and USB ports)
- A laser engraver running GRBL or compatible firmware
- OctoPrint is installed and accessible on your network
- A reliable power source for both the Pi and the engraver.
- Optionally, a webcam if you want to monitor progress remotely.
Once OctoPrint is up and running, install the Bettergrblsupport plugin from the official plugin repository. Connect your laser engraver to a USB port on your Raspberry Pi and configure the connection speed to match the GRBL default, which is usually 115,200 baud.
Next, disable any printer-specific plug-ins, such as temperature reporting, and avoid using auto-bed leveling tools that can confuse the interface. Finally, check your G-code to ensure it doesn't include commands that only apply to 3D printers, like M104 or M109.
Limitations and best practices
Why this setup isn’t for everyone
Using OctoPrint with a laser is a bit of a hack; it works, but you won't get complete laser control like you would with dedicated tools like LightBurn or LaserGRBL. For instance, OctoPrint doesn't support power scaling based on speed, which can be crucial for fine engraving. If you're trying to engrave grayscale images or variable-depth cuts, this probably isn't the best tool.
However, for basic vector engraving and consistent line burns, OctoPrint works fine. I use it primarily for small wood signs and text outlines where precision isn't as critical. Because I'm already familiar with the OctoPrint interface and setup, it saves me from having to switch to an entirely new software ecosystem.
Still, you'll want to double-check your G-code before sending it. I usually generate mine in Lightburn, export as plain G-code, and then remove any unnecessary commands. Safety is also a factor, since OctoPrint won’t know that you’re using a laser. Be sure you've got proper ventilation and fire precautions in place. And, of course, don't just leave it running unattended. Be sure to watch for any potential problems.
Plug-in updates have completely stalled

One thing to keep in mind is that the laser plug-in for OctoPrint hasn't been updated since November 2023. This doesn't mean it doesn't work, but it does raise questions about long-term compatibility. As OctoPrint itself evolves, there's no guarantee that this plug-in will continue to function without bugs or broken functionality. I haven't encountered anything critical yet, but I keep backups and am ready to revert if needed.
If you're considering using the setup for production or frequent use, the lack of active development may be a deal-breaker. For me, it's more of a convenience tool for quick projects and prototyping. That being said, I'd hesitate to rely on it for a more demanding workflow unless the plug-in development picks back up.
Camera integration just wouldn't work

I tried several times to get OctoPrint to recognize and display my engraver’s built-in camera feed, but it just never worked. OctoPrint does support webcams for 3D printers, but whatever magic it's doing there didn't translate over to my laser. I experimented with USB and network camera options, but none of them worked with the plug-in or the OctoPrint video feed.
That's not a huge loss for me, since most of my jobs are quick and easy to monitor manually. However, it would have been nice to have a remote view for longer burns or tricky alignments. If that kind of visual feedback is essential to you, you may want to look elsewhere or consider using a second Pi running something like MotionEye in conjunction with OctoPrint.
Why I'll keep the setup.
Using OctoPrint to control my laser engraver isn't the most elegant solution, but it's one of the most convenient. It allows me to streamline my workflow without adding new hardware or learning a different app. For basic engraving tasks, it does exactly what I need and does it reliably. I'll still reach for Lightburn when I want full-featured engraving, but for everything else, OctoPrint gets the job done.
