M4 Hardware Mods - Thoughts, Plans, RFI

This thread is about making a significant change to the way the M4 fits together and works - but with only making a minimum number of new components.

As I do a brain dump here of my thoughts and plans, I’m also asking if you remember anything similar from other posts in the forum if you can add a post with a link to those messages. As well as adding you own ideas of course.

Journey to this Point

The starting point for this was my dislike for the fact that the router is a core part (literally) of the M4’s structure. A router is obviously essential to spin a bit around to cut things, but the design also makes it physically essential as the axis for the arms. So, if you want to swap out the router for a pen assembly, for example, it is a major undertaking, you are literally pulling the M4 apart.

For my initial needs I used a locally available router that had a slightly smaller diameter then the Dewalt, which I resolved by 3D printing a sleeve. That led me to getting a spindle (see M4 router be gone), which is now something I would VERY STRONGLY recommend for everyone as your first choice, using a router should only be a backup plan - if you are desperate.

Getting the spindle meant I also had to come up with a new way to mount the PCB. It isn’t the greatest of design choices, but it mostly works, and it also opened my eyes to the idea of a quick replacement option for the spindle.

Using the M4 in anger also helped me appreciate the importance of being able to easily service the M4, which in particular means removing all of the arms, pulling them apart and giving them a clean and some maintenance. The current M4 design just doesn’t support this maintenance need
… too … many … screws

Constraints and Good to Haves

What do we actually need?

  • The tool and the arms all have to have the same axis - they must be concentric - this needs to be really rigid.
  • The tool needs to be able to move up and down (but the arms don’t)

What would be good to have?

  • Mount the PCB anywhere else instead of on top of the router/spindle
  • Get rid of the clamps, and the clamp wedges, they have a nasty habit of breaking. In fact, clamps in general are a terrible way to hold something in place while there’s lots of forces and vibration

The rest of this is going to be dependent on having a very narrow router or spindle, so that there’s the clearance available to make it happen - get a spindle

  • Make it really easy to disassemble whatever the arms are mounted to, so they’re super easy to service
  • Keep the arms at a fixed height relative to the sled - this takes out one specific variable from the calculations that we still haven’t really dealt with (as far as I’m aware)
  • Keep the arms high-ish relative to the sled - this seems to help mitigate the sled tipping - assuming you have the stack of arms in a good order (arms to opposite corners are adjacent to each other vertically in the arm stack). Yeah, I know, you’re thinking “but isn’t a lower centre of gravity better?” - so did I, but apparently, it’s not as beneficial as a higher relative angle of arm to anchor.
  • Make it really easy to remove the router / spindle for servicing, replacing tool bits, or to swap in something else

Thoughts and Plans

Move the PCB

First for me is remounting the PCB on the sled itself and then making / extending all of the cables so that they can get to each arm motor and sensor, including the Z-stepper motors, without getting in the way of the arms themselves.

I’ve seen someone else’s post where they did this, so I’d love a link to that, to add to this thread.

Another benefit of that is not having to unplug the motor power connectors from the PCB but instead adding some other more robust connection to reduce the risk of damaging the PCB.

What about cooling the PCB? Yeah, I don’t think that’s a problem, I live in the tropics with constantly high temperatures and humidity, the M4 PCB is fine.

This looks like an easy one-day mod to do. I’ll mount it under the arm that’s highest in the stack. Lots of clearance for the initial cable routing.

Independent Arm Axis

If the arms don’t need to be moving up and down with the tool bit, then we don’t need the current clamps, we just need to ensure that the arms can rotate around a common centre which is really rigid.

There are four sets of 4 mounting points on the sled. I’m thinking of 3D printing a design (various braces) that mounts to those points (at least some of them) and which then mounts to a base plate for the ‘common centre’. These will also lift the whole stack of arms up so there’s some easy access underneath them, sufficient to swap a tool bit the old-fashioned way, for example.

That base plate has a recess to accommodate a very strong (but as thin as I can get it) sleeve that is only just small enough for an arm to fit and freely rotate around. This sleeve will probably also feature ribs on the inside for extra rigidity and to function as linear guides for the ‘Independent Z’ - see below.

Then there’s a top plate, probably also with a recess, that firmly fits onto the sleeve and that holds the stack of arms close together.

Each plate is the minimum possible height that’s still strong enough to not twist or warp from the forces.

Finally, there’s another pair of braces that go from the top plate to each of the upright supports to provide rigidity to the stack of arms. These are also quick release in some way to facilitate pulling arms off the stack for easy servicing. There may be a need for two more braces at the top for sufficient rigidity, but I’m going to try and avoid that in my design.

Independent Z

This will reflect the current design of how the clamps mount to the z-axis steppers and the linear rails. But overall, it will be a lot taller than the current design to provide the clearance for it to move up and down while the arms remain fixed relative to the sled. But I will still ensure that there is maximum vertical travel on the linear rails - I’ve got an idea for that.

The sleeves for each tool (spindle, pen, drag knife, etc.) will fit into the Z- Axis base plate and have notches to fit the ribs of the ‘Arm Axis’ sleeve above. This will give concentricity to the tool and also prevent spinny things, like spindles, from spinning in place.

The Z-Axis top plate will feature some kind of locking mechanism for the top of each sleeve to hold it firmly ‘down’ to that bottom plate.

Conclusion

Those are my thoughts and plans so far. Feedback and links to other posts/threads that are relevant would be greatly appreciated.

3 Likes

lots of comments :slight_smile:

Keep the arms high-ish relative to the sled - this seems to help mitigate the sled tipping

I think it’s the exact opposite, the arms being as high as they are are increasing tipping. they are well above the center of gravity, there would be less tipping if they were lower.

but apparently, it’s not as beneficial as a higher relative angle of arm to anchor.

It seems to me that flatter belts are better. where are you seeing that steeper belts are better?

Make it really easy to remove the router / spindle for servicing, replacing tool bits, or to swap in something else

very much yes.

Get rid of the clamps, and the clamp wedges

again, very much yes, a horizontal bolt to pinch things closed or better still one on each side to clamp two halves together would be much stronger, easier to use, and provide more clamping force.

as for the arm mountings and independent Z, we now have a fixed-z setting that supports what you want, take a look at my onshape Onshape

one other aspect is rigidity of the vertical guides. the stock towers and clamps are not that rigid and take a LOT of screws and nuts to attach/detach (and need to be removed to be able to remove the arms) As they are injection molded, the bottoms are not flat, the flanges to attach them to the sled flex, and the attachment of the top clamps is hard.

I have new towers that can be 3d printed and have the nuts embedded in them. I used every available hole in the sled to attach them but it’s very rigid with only a few.

the remaining hard problem is how to disassemble the internal cage. there are a lot of bolts that need to be detached to get the arms out. one person posted that if the arms were just a little further apart, the arms could be removed without disassembling this (but this would require a new sled.

one thing about arm, height is dust collection, how much space should there be under the arms for a hole to suck dust out

The key driver here for the tipping, based on my testing for an upright frame, was the stacking order of the arms

  • opposite corners needed to be adjacent to each other vertically in the stack - TL<->BR and TR<->BL for example, and
  • the highest and lowest arms in the stack need to be along a long edge - TL ↔ TR or BL ↔ BR
    For an upright frame, maximising its angle away from the vertical helps mitigate tipping, again tweaking the stacking order here also helps. For example, top to bottom relative to the sled, I use the following BR → TL, TR → BL (giving BR ↔ BL along a long edge).

Then with that, the angle of the belts between the arms and the anchor points really helps with stability (i.e. not tipping).

2 Likes

Lee H wrote:

The key driver here for the tipping, based on my testing for an upright frame, was the stacking order of the arms

  • opposite corners needed to be adjacent to each other vertically in the stack - TL<->BR and TR<->BL for example, and

The torque from the tight opposite belts is a problem. The only question I have
is how much it matters as you move away from the center. When you are near the
top center, most of your tension is between the two top belts.

  • the highest and lowest arms in the stack need to be along a long edge - TL ↔ TR or BL ↔ BR

sounds plausible

For an upright frame, maximising its angle away from the vertical helps
mitigate tipping, again tweaking the stacking order here also helps. For
example, top to bottom relative to the sled, I use the following BR → TL, TR
→ BL (giving BR ↔ BL along a long edge).

with the original maslow, we found that if you pulled from too high up on the
router, it wanted to lift the trailing edge and tilt. If you are able to lower
the center of pull to the center of gravity it works much better. Given the
friction of the sled and the force on the router bit, a little lower may be a
slight advantage.

Then with that, the angle of the belts between the arms and the anchor points
really helps with stability (i.e. not tipping).

This I disagree with, the down force from the belts is increasing the frction of
the sled, which can make it easier to tip if the belt pulling is high and the
opposite belt is slack.

David Lang

Doing some quick measurements, it looks like 1m long cables from the PCB to the ‘far-side’ arms, and 0.5m cables from the PCB to the ‘near-side’ arms will be sufficient, giving some options for cable routing around the sled.

Yeah, there is a compromise to be made here. But this isn’t the original Maslow, having opposing belts connected to opposite corners helps mitigate the tipping a lot. Putting that another way, having two opposing corners (or two along a short edge) that are the highest and lowest arms in the stack definitely exacerbates tipping.

And the answer here is that hopefully the opposite belt is not (too) slack, which will then mitigate the increased friction a bit. Also, this is from the perspective of an upright frame (I haven’t tested this on a flat mounted machine).

With an upright frame that is at an insufficient angle (< 20 degrees), and that’s compounded by having the arms at the top of the stack also connecting to the TL or TR (current recommendation puts TL as the highest arm in the stack) then the top of the sled can simply tilt out much easier if the whole arm assembly is physically lower relative to the sled. I saw this happening a lot, which is why I researched arm stacking for an upright frame.

I have been looking at relocating the PCB, but instead of going down to the
sled, I’m just moving it to one of the towers, that only requires an extra
50-100mm of length.

David Lang

1 Like

Lee H wrote:

And the answer here is that hopefully the opposite belt is not (too) slack,
which will then mitigate the increased friction a bit. Also, this is from the
perspective of an upright frame (I haven’t tested this on a flat mounted
machine).

With an upright frame that is at an insufficient angle (< 20 degrees), and
that’s compounded by having the arms at the top of the stack also connecting
to the TL or TR (current recommendation puts TL as the highest arm in the
stack) then the top of the sled can simply tilt out much easier if the whole
arm assembly is physically lower relative to the sled. I saw this happening a
lot, which is why I researched arm stacking for an upright frame.

did you try putting the two top belts in the middle? (swaping the top left and
bottom right) this would lower the center of force and make it more consistant
as you move around (and more force is on one top belt or the other)

I guess what I’m saying is that I’m not convinced 100% in any direction, I lean
towards belts parallel to the workpiece and lower than they are with a long bit,
but am open to more testing results.

David Lang

I explored this as a kind of thought experiment and decided that I preferred a ‘tidier’ appearance of it being ‘down’ on the sled, rather than ‘up’ on one of the support towers.

Also, I wasn’t thinking of doing completely new towers, so mounting the PCB to one of the existing towers is :nauseated_face::face_vomiting:. My design goals still include trying to reuse anything I can.

Although I do think that having a gradual upgrade path where people can print ‘better’ parts to replace the supplied injection molded parts as they may want to, so with new towers having a better place to mount the PCB is a good path I think.

Lee H wrote:

I explored this as a kind of thought experiment and decided that I preferred a
‘tidier’ appearance of it being ‘down’ on the sled, rather than ‘up’ on one of
the support towers.

let us know what you find in terms of cable extensions (I also wonder about the
extensions to the encoders picking up EMF)

Also, I wasn’t thinking of doing completely new towers, so mounting the PCB to
one of the existing towers is :nauseated_face::face_vomiting:. My design goals still include trying to
reuse anything I can.

makes sense, in general I agree, but the towers (and espeically the top post
clamps are especially bad)

Although I do think that having a gradual upgrade path where people can print
‘better’ parts to replace the supplied injection molded parts as they may want
to, so with new towers having a better place to mount the PCB is a good path I
think.

with everything you mentioned, It seemed like you were expecting to change more

David Lang

I’m still running the old M4 4.0 arms with the ethernet cables - so I’ve made sure to make new CAT 6 cables to replace the existing ones for (supposedly) better resistance to RF interference.

As for the power leads to the motors themselves, I’ll be including some kind of good (i.e. best I can get here) jacks - I’ve already got one that will not shake apart with the vibration that I use for the Spindle power connection, so I’ll be going for a slightly smaller version of that.

They sure are, and that especiously deserved two ‘espekarsely’ for emfarsis.

tale a look at these, they don’t use the front bolts and the flanges have the (unplanned) advantage that they keep the top nuts from falling out while you are tightening the bolts

they are much easier to use with the stock towers, but not as good as the fully printed towers I showed above.

Maybe moving the support pillars slightly farther apart so that when the core spine (or router ) is pulled out the arms can just be slotted in and out sideways?

My first activity was trying to make longer signal cables to connect from the PCB to the arm sensors, so I could then move on to moving the PCB. Unfortunately, I must have managed to short a connection in my self-made cables and fritzed out the PCB.
I have a spare M4, so I have a spare PCB, but it is the 4.0 version - so the cables are ethernet cat6 type - and I no longer have a spare PCB, and I can’t make the new type of cables myself.
I really want to maintain always having a spare. So, before I hack things around again … @bar is it possible to get the 4.1 upgrade kit, but with 2 of the signal cables 0.5m and the other 2 as 1m cables?

1 Like

Unfortunately all of the cables come pre-made from the factory so I also don’t have an easy way to make them in other lengths :confused:

I really want to maintain always having a spare. So, before I hack things
around again … @bar is it possible to get the 4.1 upgrade kit, but with 2 of
the signal cables 0.5m and the other 2 as 1m cables?

1s (2 wire) for the motors, 4s (5 wire) for the encoders.

extension cables are available pretty cheap

from china, this link has a high shipping cost, but if you spend time hunting,
you can find other options.
https://www.aliexpress.us/item/3256808165496915.html

David Lang

2 Likes

Once I got time to check things out, I found That the other PCB had not fritzed out, but was still working, the problem was the cables.

I used cat6 cable and cat6 terminators to make the cables - but of course these cables aren’t really network cables.

When I powered up the PCB with a couple of my cables connected, I could hear it make its usual sound (like a fan quietly spinning up), but the sound dragged on and never quite finished. If I used 3 ‘as-supplied’ cables and 1 of mine, then I could get it to finish boot up. But I noticed that the little LEDs on the socket were a little faded / erratic. I went back to 2 cables, and this was even more obvious.

@bar does this remind you of something about the PCB’s boot up cycle? Does it say anything about the cabling requirements?

1 Like

Hmmm that is a good find! They should be pretty standard cat6 cables. I can’t think of anything that is special about them.

The ethernet connectors proved not reliable enough which is why we made the switch to JST connectors in 4.1 so maybe it’s a contacts issue? That’s what the LEDs looking erratic seems like to me.