I decided to try and get my machine running with octoprint. That runs on raspberry pi and allows for remote management of 3d printers. After many hours of beating on the software to get it to enjoy wifi, I can remote in to my cnc, move the axis and watch whats going on with a web cam.

However the machine fails when I tell it to start a print. Got any ideas?-

video of it sorta working https://www.youtube.com/watch?v=19PAKMNG6BY

I only used octo once about a year ago, so I have very little experience. is it a data transfer thing? Could you load the sliced files on a microSD and run the local files from octo, or maybe that’s what your doing? Sorry Just a complete shot in the dark.

I have been using Octoprint to run my Printrbot for the last 7 months. It is a basic print server that allows sliced programs to be loaded to it and print. It would be awesome to be able to run the cnc with it rather than dedicating a pc.

There are also cheap SD/LCD controllers that can be hooked directly to the Ramps Board.
That’s way simpler than dedicating a Pi or a full featured PC to run autonomous prints.

Popping in to say I have been using octoprint (specifically octopi the premade raspberry pi image) and it is working flawlessly with my MPCNC and arduino mega with ramps 1.4.

Not sure what issues you guys are having but figured I would report that it can work.

I also use the Pi image of Octoprint for both for my 3D printer and MPCNC and it works very well (except the GCode Viewer on MPCNC). I like it because of the plugins, especially custom control and custom command that allow you to bind either snippets of gcode or system commands to a button on the interface. Saves a ton of tedious typing in the terminal. Also love the print history plugin, that’s very handy.

As for initial setup of the Octo for Pi image, if you use a Mac it’s effortless. If you’re using Windows you have to install the Bonjour service, get it working and have a WiFi adapter (baked into Macs). It’s possible to do Windows without a WiFi (typical desktop) but it’s a nuisance.

Did you have to make changes to Octoprint to make it work on the MPCNC? The images I flashed doesn’t recognize .nc files, only .gcode

I think any Marlin 3D printer will work about the same with OctoPrint, so I’m guessing there’s not that much to talk about, but I’m really interested in hearing what people have done with it and what problems they’ve had as just a CNC machine.

  1. Are there sets of gcode commands that don’t make sense for a printer and do for CNC?
  • Maybe I should make a plugin that adds those buttons to the control screen, or makes a new CNC tab?
  • You can add “Commands” and scripts that are gcode so that there’s a menu option for “set 0,0,0”, instead of typing it.
  1. Are there gcode commands that only get used by CNC gcode, and not printers? Do they cause problems with OctoPrint?
  • Are there files that people can print from the SD card, or repetier host, or some other interface to Marlin, but don’t work with OctoPrint?

I’m not planning on using the slicer in OctoPrint, obviously, but I will want to use the camera, including timelapses, movement controls, and the gcode terminal. The gcode viewer would be really nice, but I’d have to look hard to see if there’s a way to get that to at least sort of work.

I’ve seen a 4 year old fork of the project, and I should look to see what they did different. AFAIK, they were just removing stuff that was temperature related. But I don’t want to start with a 2 year old branch.

You guys would probably also be interested in this guide I made to control a relay board from OctoPrint:

So Jeff, you’re using OCTOPrint with your MPCNC? When I tried to run mine with it, it would fail when I would attempt to load the .NC files

Not exactly. I have OctoPrint with my printer, and I’m currently building my MPCNC (I’m in the assembly stage).

I do plan on using octoprint with my mpcnc though.

What is an nc file? Is that just gcode with a different extension? Is it still just a text file with gcodes in it?

I’m guessing that any robust solution will either require a script to massage the gcode to be compatable (removing parenthetical comments, renaming to .gcode, maybe replacing M0 with @PAUSE or visa-versa) or just setting up the CAM software to output it correctly in the first place.

The .nc can be saved as anything .gcode is the standard.

If you are using repetier just change the extension in the


You wouldn’t use repetier with octoprint. You’d take the gcode from your CAM and upload it to octoprint. I see most people here making sure their CAM software is outputting the correct type of file without () and stuff before saving it.

I was thinking that it might make some sense to have a python script that would do some regex searching for common errors, and prune the file for use, which would make using a new piece of CAM software easier, but you know, I’m a software engineer, so hammers, nails, etc.

I have been using Octopi on my 3D printers for a good while and love it. I have a Printrbot Simple Metal (Printrboard) and a Makerfarm Pegasus (Ramps).

Using Octopi on an original Raspberry Pi works, but it’s much faster on the newer models (2/3).

I can start a print job from any network connected device and monitor it’s progress including a live video feed.

I am still in the building stages of my mpcnc but plan on using Octopi with it and I will share my experience here.

Having an LCD on a machine is definitely nice and recommended. Not having to copy to an SD Card, remove it, walk over to your (cnc/3d printer/lasering/etc.) machine and insert it and then fiddle with a limited gui is even better. That’s a benefit of Octoprint/pi. If you’re working on a design, you can generate the gcode, upload it and start the job without leaving your computer or bothering with sd cards. It’s particularly handy for monitoring lasering progress from a different room.

If you are using it as a 3D printer, then you’ll have the same experience, I’m sure.

A cnc mill isn’t quite the same, because you need to do some setup, clamping stuff, setting the 0,0,0, etc.

I still can’t leave mine to cut alone. I hold the vacuum while it’s cutting. I’m still not 100% confident something won’t fall apart either. But when I get to that stage, I’ll appreciate the time lapse video. Especially if something goes wrong, I think.

I haven’t hooked mine up to octoprint yet, because I’ve been experimenting with grbl instead.

By default Marlin only recognizes files that have extensions that start with G, like .g or .gcode. If you search around the forum a bit, you should find a thread where Leo provided a code change (told me what line to change, that is) so that Marlin will also recognize files that start with N. This simplified things for me quite a bit. This might be why Marlin is not responding to a file sent from Octoprint.

I have wireless octoprint servers on my 3D printers, but I’m still undecided about putting one on my MPCNC. I like the ability to send a file without having to carry SD cards back and forth, but I don’t have much need to start the machine remotely - there is too much setup that has to happen before I start to cut or burn. I just want to get the file onto the SD card, and then use the LCD (and my pendant) to set the machine up.

I think octoprint rejects them too. I would just rename the file to .gcode.

Since OctoPrint has a thing about not wanting to translate GCODE correctly when there are sequence numbers at the beginning (ie. N1, N2…N10500, N10501) I made a spreadsheet that makes it a little easier to remove said sequence numbers. Enjoy

Thanks for the info James! I am still building my MPCNC but this may come in handy in the future. I plan on running octopi (if not on the mpcnc but on Ryans 3D printer which I plan to build as well).

Hey, new user to this forum here :smiley:
Was thinking of installing Octoprint on an Intel Compute Stick that I had lying around instead of buying a whole new Raspberry Pi.
Anyone has any idea if this idea will work?
Thanks! :stuck_out_tongue: