4th Axis Collab

Okay folks, I’m ready to start working on a 4th axis for the nearly stock MR1. I thought quite a bit about Masso, Centroid, and other controllers but I’d like to use the control I paid for and am used to. I won’t promise fast progress or guarantee we are successful but I think it’s worth a shot. I’m hoping to have the project completed by the end of 2026. This is literally my weekend project so progress will sometimes appear fast and other times non-existent.

Some ground rules:

As we’ve all seen now, CutControl is pretty easy to unpack and extend. The plan for software distribution is to create a program that unpacks the executable, injects the enhanced code, and rebuilds CutControl. This means you will need to acquire your own original copy of the windows software from Langmuir directly. I cannot provide you with the directly modified CutControl executable. The CutControl modifier will be a free and open source application. Certainly Langmuir is free to laugh at or adopt the modifications in whatever way suits them. At Langmuir’s request, this program will be shut down (but unless they decide to actually improve their software, there will be public shaming afterward).

You should expect that using any of the modifications that will be described here void your warranty, at Langmuir’s discretion. Any modifications are provided as information only without warranty or guarantee of success.

For hardware, I expect we will have to replace the stock Langmuir board with one that has room for the 4th axis control signals. We’ll also need another stepper driver (I currently estimate the small drivers will be suitable for those that upgraded their drivers). I need to do some work to verify the low voltage power supply has enough current capacity.

I am looking for suggestions on 4th axis hardware. I’ve see the Sherline rotary table used to success, open to other thoughts.

I’m planning to baseline the modifications on CutControl 24.1.1 (which has worked fine for me for a couple years) unless someone strongly stands behind any of the v25 versions (which seem to generally have been botched releases).

I’m also taking other feature requests as part of a general “CutControl+” edition.

Conversational programming is not in scope for this project.

4 Likes

I really like the ambition, but if you are making a new board for the machine I wonder why you are sticking with CutControl software? Once you replace the board you have many more software options.

I’m not a GRBL expert, are there other boards available that will be a pretty easy replacement, but will give you support for the 5th stepper?

I have one of the few 4th axis MR-1’s at the moment, and I’m using the Sherline rotary table. I only use it for indexing right now (A is fixed while X/Y/Z are moving) and the Sherline has done what I need. Someone the Discord pointed out that PgFun has some interesting looking 4th axis drives on their website, and it might be interesting to explore those.

This is interesting and I would love to play, but candidly I am a bit lost on where to begin…Could you please offer some threads to help me better understand how cutcontrol is modified? I did some searching and came up with nothing…

Also, not sure what you thoughts are regarding using the current GRBL controller board. Is it already capable of the added axis control and we are not aware of it? Something else?

Thanks - Dave

I actually like CutControl, it’s fairly simple to use and the interface is (mostly) well designed. I’ve been using it now for several years and would rather not change to something more complex (even if it’s ‘more powerful’) I really don’t want to use LinuxCNC (not a real time operating system) and I’ve yet to find a GRBL desktop interface dedicated for milling that is as nice as CutControl. This project originally started out as a MASSO conversion… somehow I ended up here.

There may be other GRBL boards available but many of them are ad-hoc short run productions with non-compatible hardware interfaces I have to adapt to. The MR1 also has a lot of quirks (terrible electrical design) that I’m working to understand and either remove or mitigate around. If anyone has a recommendation for a good board, I’m all ears.

By day, I’m an electromechanical hardware engineer for consumer CNC machines so it’s pretty straightforward for me to design and have my own control board fabbed by JLC or PCBWAY. I think I’ll be using an upgraded 32-bit MCU with more pins on it. I really like the Raspberry Pi RPXXXX MCU family and have built control boards using them before.

I’ll have to look into the PgFun option, I got the Sherline recommendation from you in a different thread.

I didn’t realize there was a discord, any chance you could extend an invite link?

To modify CutControl, there will be a python script that unpackages the executable (which you provide), replaces the appropriate files and then repackages it with the new features. This is very similar to how certain video games are modded or hacked to replace assets or add features.

The current GRBL controller is not capable of the extra axis (oddly, the Y2 axis is silkscreened as “A” on the PCB). There aren’t even any extra pins on the microcontroller to hand solder to. I’m going to have to create or buy a new control board for the 4th axis.

Speaking on the current controller… it has the guts of an Arduino Uno with some safety chips to isolate the USB port and control the spindle servo with the expected 24V. I don’t think it could possibly be any more cloned from existing designs. Good news for us I guess because it’s a well documented reference design.

I would suggest the latest version + the patch that fixes the tool setter. The old version requires you hit buttons constantly to confirm actions that you’ve already directed cut control to make. I notice the current control board has an extra set of pins. not sure if that was intended to be used as a 4th some day or not.

When I upgraded my stepper motors and turned up the drive amps I installed this power supply. It’s been running great for months of hard usage. 1500W Switching Power Supply (actually this is the brand I got but I got the 80v version)

I then got a tiny power supply from Digikey to power the control board.

Discord link: Discord

The tool changing in CutControl drove me nuts, but maybe you can make a decent macro for it that intercepts Tx M6 commands, pauses, moves to a tool changing position, and measures the tool after a change. I know they added some features later, long after I converted.

LinuxCNC is realtime-ish, but with modern implementations using a Mesa board all of the hard timing stuff is offloaded to the Mesa board and LinuxCNC’s servo thread only runs at 1000hz. Most machines have pretty low jitter at that frequency. LinuxCNC isn’t perfect, I really like the flexibility that it gives me, but it has high complexity that makes me hesitate to recommend it to everyone. For an example of flexibility, I just added a rotary encoder that you can press to toggle it between overriding feed rate (percentage), spindle speed (percentage) or both. It’s really nice having a physical knob for this next to my e-stop, and few systems give me the flexibility to define something like that unless one of the product developers wanted the identical feature.

If you like CutControl UX that’s great, and I hope you are able to build the machine you want.

2 Likes

That discord link doesn’t seem to work.

A better tool change macro is on my list… I’ve considered trying to figure out how to enable a RapidChangeATC (now I’d be getting into reconfiguring the servo drive to enable torque control mode and needing to switch between the torque mode and velocity modes). I did see your CNCDepot conversion, very nice. Unfortunately, they’ve been sold out for months and the spindles are pretty spendy.

I’ve been following your LinuxCNC adventure, glad it’s working well for you. I’ve wanted for a while a rotary encoder to move the gantry around rather than constantly poking at the different increment buttons, speeds, and directions.

I’m also mildly annoyed at the vibration of the stepper motors at 10ipm. Makes it difficult to read an indicator while squaring in a setup. Trying to resist making the change to clearpath servos.

Try this one: Langmuir Systems Forum

If you look at my original conversion notes I did get the stock servo spindle supporting reverse, which I believe is the main feature necessary for RapidChange ATC. I also got the encoder output working which would allow for rigid tapping (not something that I ever tried) and could be helpful if you used the stock servo motor with a BT30 or other ATC spindle that required indexing the tool holder.

That servo drive is pretty capable and nice to work with.

Some interesting findings from my ongoing RE efforts on the main board…

  1. The touch probe and tool setter signals are run through a multiplexor for… some reason? We’ve got 2 control lines for the multiplexor and 1 input line for the multiplexor output. Not sure why the 2 probe lines aren’t just directly connected to the MCU saving a GPIO pin.
  2. There is a dedicated GPIO for a door safety switch… which is fully abandoned and left unconnected. Would have been a nice safety feature.

Taking a quick glance at the GRBL code it looks like this is because GRBL by default only supports one probe input.

In LinuxCNC I added some custom logic (through HAL, their logic language) to merge the two electrical probe inputs into one logical input that the rest of the software sees.

I’m really excited about the prospect of 4th axis and ATC!!! I’ve been contemplating how to accomplish both of these features ever since I’ve had my Mr1. I have the rotary table that I want favorited at PgFun… Just a side note I really hope I can integrate this into fire control I have several projects that would be much easier with a plasma tube cutter that is square tube not just round tube. Also if you are changing the control board consider a better output for the coolant pump. I agree with you that langmuirs wiring skill is very poor. having a output directly off of the chip to run the coolant pump is very poor at least put a mosfet on the board that can run a 5volt relay so you don’t need a extra box just for the coolant pump relay. I’m not on the internet much so I won’t comment very often but I will keep checking on the progress and hope you have success!!

I’m not quite understanding. We need a separate box for the 120V power and high voltage relay and the box is logic controlled from the main board in the electrical enclosure. Adding a mosfet would at isolate the MCU pin, but if you kill the mosfet with an unintended improper usage, you still have to replace it.

Moving the pump power and logic entirely inside the electrical cabinet doesn’t have a lot of value in my mind.

Hi I’m just wondering how the 4th axis project is going? As I said before I’m not on the internet much but I’ll check back in a few days to see if you have an update.