Pronterface and MPCNC

Has anyone used Pronterface for controlling their MPCNC? I bought a new $35 Raspberry Pi 3 with built in WiFi. I would like to run the RAMPS from the Raspberry Pi, and remotely access it using VNC. After a few long nights and a Saturday, I have it all set up. The Pi can control the MPCNC using Pronterface, and I can access the Pi from any computer on my network, and I can even control it from my IPod. I can now untether my MPCNC from my PC and move it to the shop where I can make it as dirty as I want!!

I have no problem manually moving each axis of the CNC with Pronterface. But when I load G Code, I get this in the text window:

Loading file: C:\Users\Dave\Desktop\DogTagSnoopV3.g
Loaded C:\Users\Dave\Desktop\DogTagSnoopV3.g, 687 lines
0.00mm of filament used in this print
The print goes:

  • from 0.00 mm to 0.00 mm in X and is 0.00 mm wide
  • from 0.00 mm to 0.00 mm in Y and is 0.00 mm deep
  • from 0.00 mm to 0.00 mm in Z and is 0.00 mm high
    Estimated duration: 0 layers, 0:00:00

When I start it, it does nothing.

On the Pronterface web page it says it can run a CNC. I searched the internet and found some mention of this problem, but no answers. I found one post where someone said they found some CNC setting in Pronterface that fixed everything, but I can’t find anything like this. Has anyone used Pronterface for a CNC?


Here is a video of how it works, or should work…

I found a post somewhere saying Pronterface ignores negative Z values. I found a setting in Estlcam to set the origin at the top of the material, or top of the bed. I set it to top of bed, and saved the code with all the Z values positive. This didn’t make any difference. It seems like Pronterface is not reading the G Code Estlcam saves. I will try some different g code and see if this works.

Sadly I’m at work and cannot watch the video, so sorry in advance…

Does the same gcode work from Pronterface if you run it on the PC? If so, it’s possible there is something weird with the way they ported Pronterface to the PI.

Since you can control the movement manually, the PI itself can and will run the MPCNC, your problem appears that Pronterface is not reading the gcode correctly.

EDIT: I did a bit of looking around, and have a question: Have you installed all of the necessary dependencies for python?

sudo apt-get install python-serial python-wxgtk2.8 python-tk git-core

The write-up I found is here :
And if you continue to run into any problems there are some good comments on that thread that may help, and if not, I’m sure someone here will be able to help further.

I have tried to load the G Code from both my PC and the Pi with the same result. Thanks for the link, this was one of the web sites I used when setting up Pronterface on my Pi. I did load all the dependencies for python.

It’s looking like the problem is something in Pronterface. I got some G code from the web and tried this with the same result.

Thanks for your help! I think I’m at least I’m narrowing down the problem.


Can you post the gcode you are trying to use somewhere and link it here?

Sure, thanks for your time. I put the file here:

The file name is: DogTagSnoopV3.g
It was created in Estlcam and I changed the extension to make it easier to get into Pronterface. I can open the file in Pronterface Gcode editing tool, so I know it loads.

I think the reason I can’t load an STL file mentioned above is because I didn’t set up sli3er since I don’t plan to use this for 3D printing right now.


OK, I loaded the file into Pronterface and I’m getting the same thing.

I found an issue from last year on the Pronterface GitHub page. Avoid using G01, G02, etc… Use G1, G2, etc…

So, open your gcode in your favorite light weight text editor and find/replace G01 with G1 and you will be golden (hopefully). I modified the file myself and got it to load.

I have never used Estlcam, but if there is an option to generate G-codes without the leading “0”, try disabling it.

EDIT: I should have put the link to the issue here for future reference…


That did it, thanks!!! I googled for hours looking for this. I never thought to check GitHub.

Thanks for taking the time to check this out and finding a solution!


In case someone else with the same problem finds this post… I set up Estlcam to generate G-Code that can be directly sent to Pronterface without additional editing. In Estlcam under the “Setup” tab there is a “CNC program generation tab” you can change the way the G-Code is generated. The “Presets” tab you can change the File extension from nc to gco. There are more tabs under the “Texts” tab where you need to edit out the leading zeros from the “M” codes under each tab. And lastly, the “Commands” tab you can remove the leading zeros from the G Codes. Back under the “Presets” tab you can save these settings to a file if you wish.


Glad I could help. Based on the image you posted, looks like you got it to work better than I did :slight_smile:
When I build my MPCNC, I was planning on using Pronterface to run it (since it’s what I’m used to for 3D printing), but after investigating this issue, I’ll find a different control software. Pronterface is nice, but it’s focus is on 3D printing, not so much for CNC.

It actually did a nice job of controlling the CNC. I have another post here with a video (
I was a little concerned by the picture above after I looked at it closer. The circle displayed as a diamond, and the corners are not rounded. I was happy to see the test cut came out as it was designed, with round holes and rounded corners.