Thanks for taking time to share this. This is very well thought out.
I have only cut 3 boards on my MPCNC, and I am finding myself using the LCD menu “prepare” functions all the time. I would probably have a button just for bumping the Z up 2mm. I don’t want to rewrite the LCD, but it’s definitely focused on a printer’s point of view. Having some discretes for some of these functions would be really nice, even though the MPCNC is easy to move. I would agree that it is definitely not a requirement for this CNC though.
I’m not sure if I want to do the pendant with the arduino the same way you guys are. I like the idea of having a raspberry pi connected to my MPCNC, and that opens up the possibility of using a wired or wireless XBOX like controller for many of the functions. I also want to get to the point of having unattended jobs, and a web interface makes that way better.
I don’t like to promise work on the Internet, because I know I’ve forgotten about projects before (I have a low success rate at finishing projects, I’m much better at starting them 🙂 ). I think this is a project that I would enjoy though. This is moving right to the top of my list.
Some clarifying questions:
1) The Jog XY/Z, does that switch between jogging XY or jogging Z? Or does it enable any jogging?
2) w.r.t. The ability to save a home position: You would have endstops installed, and you would home all axes, then you would move to some other origin, say the corner of where you want your drawing, and then hit the save button. The software would record that center x,y,z, and then if you lost the home for some reason, you could rehome, and hit load, the software would go to the same x,y,z, and set origin there? That seems like a good idea. Then you would just never move the endstops.
3) The circle centering: That would be useful for rectangles as well, I would think. Just so I’m understanding, you’re saying you move to three points on the circle, hit the button, and the thing will then move to the center? Once at the center, it could be combined with the set origin button, or you could just write down the coordinates for something else?
4) The z touch off, is that also related to the touch stop? What is that like? I’m picturing hitting the Z touch button, and then touching the touch stop when you are at the right height.
I would love to see the code, if you are willing to share it. On github, gist, or just a zip file even.
I was also thinking of some blue sky functions that would help you set up for a gcode print. Something like loading a gcode file, and then having the CNC move around to the extents to make sure you have it laid out correctly, with no interfering clamps. Then things like a “safe Z” button would make more sense, because it could just go to the highest Z in the file. It would also be pretty cool if you could point to two corners of the area you wanted to cut, and the software could scale and rotate the design to fit. Useful when clamping isn’t easy to do in a square way. A function to just clear out an area by defining some corners for a polygon, and a depth would be nice. These functions would be tough to use if you only had a gamepad. I might have to also incorporate a piTFT screen, or just make the complicated things part of the web interface (which could be used from a phone or laptop). Seems like I need to spark a community effort. There is a lot of neat stuff to do here!