Dave's Mobile MPCNC

After a long weekend of working through problems, I finally have my MPCNC set up the way I wanted it. I have the new $35 Raspberry Pi (RPi) with built in WiFi connected to the RAMPS. The RPi has Ponterface loaded on it for control of the CNC. It now can be moved to my back room shop, or even outside.

I went with Ponterface for processing G-Code and sending it to the RAMPS. A big thanks to John Price for helping get Ponterface to accept G-Code!! You can find that post in the Software area. My other options were Repetier Server, or Octoprint. These both rely on a stream of G-Code being sent through the WiFi from another computer host during the milling. Using Ponterface on the RPi, WiFi will only be needed to start and monitor the progress. I can also design and create the G-Code on my PC, like I have been, then transfer the file by WiFi to the RPi. If something bad happens during milling, I always have the Kill Switch at the MPCNC to stop everything. If I move it out of WiFi, I can always connect a keyboard, mouse and monitor to the RPi and use it like a desktop.

I have attached a link to a video of a test of this system. I used an IPod running VNC to remotely access the desktop on the RPi and control Ponterface. I can also use a laptop or other computer on my network. During the test, I had my PC remotely connected to the RPi. It wasn’t used for the test, but it can be done.


Octoprint doesn’t stream gcode from some other computer to the Arduino. You use the Upload button to copy the gcode file to the Rpi and then Octoprint streams it locally from the Rpi. One of the things I like about Octoprint is that the UI is web based. No need for VNC. There’s even a plugin UI named touchUI tailored towards small screens.

I’m a big fan of octoprint for my 3dp. I’m hoping to use it with my MPCNC too. Drew is right that it stores the gcode files on the raspberry pi. It also has the option of sending the gcode to the SD card via USB, and then prints from the SD card in the printer. I don’t know how any of that will work with the MPCNC, but it’s all just marlin, right?

Very cool setup Dave. The pronterface seems like a very good solution, too. I’m not sure how happy octoprint will be when it doesn’t have a printer attached to it, but we will see. This is a good fallback. Seems quite snappy, too.

I’ve been doing a bit with my MPCNC and Octoprint. The biggest problem I had is that Octoprint/Marlin gets very unhappy if the gcode file has sequence numbers, i.e. N01, N02. Had to remove them it get the combination to work.

One nice thing about Pronterface is that it converts stuff that you type in to its “terminal” area to uppercase. Octoprint only does this for the starting G/N/T code on the line. Things like g0 x0y0 turn into G0 x0 y0 and Marlin doesn’t recognize the x or y parameter. I’ve managed to change Octoprint so it converts every thing typed in but that may break things like M117 and M28 entered in the terminal. Marlin could definitely use a better gcode parser.

Drew and Jeff, thanks for the info on Octoprint. I didn’t get that from what I read. I found Octoprint last after I set up Pronterface so I may not have looked hard enough. I also had some issues with Pronterface not liking the G-Code I was loading. It doesn’t recognize leading zeros, like G00 that was generated by Estlcam. I found settings in Estlcam to change this so I don’t need to edit the code it generates.

I like VNC just because I can do anything remotely. I have another Pi controlling a home automation project that I access with VNC. Once it’s set up, I don’t need a mouse keyboard or monitor, I just open it from my main PC.

I will test this more and let everyone know how it works. Next I will move to my shop. And I also want to try it outside in my garage where the WiFi is not so reliable. My fear when I’m in the garage is I will be in the middle of a project, someone drives into the driveway and blocks the WiFi, and the CNC crashes :slight_smile: I think this set up will not be a problem.

Drew, I feel like we hijacked this post. Sorry Dave. I have a few more comments and questions about octoprint, but I’ll find or create another post to dive deeper.

No problem, I am also interested and will look for your post.

I posted here:

Directly speaking to your point Drew, you can definitely set up some gcode commands, and then not have to type them anymore. They can be sent as just buttons in the interface, either through the system menu on top, or I think there is a plugin to add buttons to the controls page.

I have an inexpensive and small notebook computer I use in the woods to copy pictures from game cams. I used this to connect to the Pi by WiFi. It’s a nice size screen for control.

I designed up a cover for the Pi for the MPCNC and cut it out of acrylic like the cover I made for the RAMPS. There is no ventilation in the top or sides facing the mill. This is mostly to keep cuttings off the circuit board.

I found an 1/8" Straight Bit with a single carbide cutting edge at the local hardware store. Its a CMP Contractor Series Straight Bit B1103 Carbide Tipped Z1. This worked better for cutting the acrylic then the double flute bit. I could run the bit speed higher without melting the acrylic.