Let me start by saying that I am a big fan of this machine, and the community of amazing, inspiring people here. I’m really bummed right now, and just need to vent a little and look for some reassurance from those who are seeing success with their projects.
Preamble: I was an early Kickstarter backer and I’ve been experimenting with my M4 since I first got it about a year ago. I’ve been a hobby woodworker for over 15 years, and I am lucky to have a large workshop with a respectable collection of woodworking tools. I’m very computer savvy, but I’m not a programmer or IT professional. I decided to get the M4 with two specific projects in mind: boat building, and speaker building- and at the moment my main focus is speakers.
My machine has been upgraded to 4.1 hardware and the latest 1.05 firmware. My frame is horizontal on the concrete floor of my shop, using threaded inserts in the floor as my anchor points. After updating to firmware ver. 1.05 it took me two calibration attempts to get a fitness of >1.0.
I modeled my project using Onshape, and the CAM was done using Carbide Create Pro. For this project I was using a high quality 1/4" two-flute compression end mill, and the stock is 19mm birch plywood. Two types of toolpaths were used: first a pocket toolpath to carve out 19mm wide rabbets (rebates) 6mm deep in the two sides of the speaker box, followed by the contour toolpath used in three passes to cut out all of the pieces. I needed the rabbets to be as accurate as possible, so I tried a very slow speed of 500mm/min for the pocket operation, and then used 1000mm/min for the contour operation (although my casual observation is that it didn’t seem like the speed was any different between the two operations).
After reading great discussions about accuracy issues in other threads, I decided to move my work to the middle of my stock so it wouldn’t be cutting out at the corners. I set my z-home and did the same for X/Y. With everything checked and doublechecked I hit the green button with high hopes and carefully watched the machine go to work…results in the next post.
These are all parts for a speaker box with external dimensions of approx
500 x 520 x 320mm. The round cutout is for the speaker driver. The two sides have rabbets (rebates) for all of the internal pieces which are all square and are easier / faster to cut on the table saw.
It is obvious from the photos that none of the cuts are straight. 1mm of slop I could fix with sandpaper, plane and chisel, but in many places the machine is off by >3mm. None of the rabbets were completely cut out. The baffle with round cutout is nowhere near square and looks worse than if it was cutout by hand.
After more than an hour of cutting the machine started acting drunk and finally shut itself off. The whole time I was watching the M4 like a hawk, and had not been looking at my computer screen. After the shutdown I noticed that there were some errors on the computer. Here’s a copy of the log taken right after it shutdown:
Serial Messages
Index.html Version: 1.05
[MSG:INFO: Channel auto report interval set to 50 ms]
[MSG:INFO: FluidNC v3.0.x (noGit)]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:maslow.yaml]
[MSG:INFO: Machine Maslow S3 Board]
[MSG:INFO: Board Maslow]
[MSG:INFO: UART1 Tx:gpio.1 Rx:gpio.2 RTS:NO_PIN Baud:115200]
[MSG:INFO: SPI SCK:gpio.12 MOSI:gpio.11 MISO:gpio.13]
[MSG:INFO: SD Card cs_pin:gpio.10 detect:NO_PIN freq:8000000]
[MSG:INFO: Stepping:Timed Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:240ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (-2438.400,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Y (-1219.200,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: Axis Z (-100.000,0.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 Step:gpio.15 Dir:gpio.16 Disable:NO_PIN R:0.110]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:1 Step:gpio.46 Dir:gpio.38 Disable:NO_PIN R:0.110]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Using spindle NoSpindle]
[MSG:INFO: Connecting to STA SSID:Man Glitter]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: No SSID]
[MSG:INFO: AP SSID maslow IP 192.168.0.1 mask 255.255.255.0 channel 1]
[MSG:INFO: AP started]
[MSG:INFO: WiFi on]
[MSG:INFO: Captive Portal Started]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[MSG:INFO: Caution: Unlocked]
Retract All
[MSG:INFO: Retracting all belts]
[MSG:INFO: Requesting state change from Unknown to Retracting Belts]
[MSG:INFO: Succeeded]
[MSG:INFO: Top Left pulled tight with offset -0.043]
[MSG:INFO: Top Right pulled tight with offset -0.043]
[MSG:INFO: Bottom Left pulled tight with offset -0.043]
[MSG:INFO: Bottom Right pulled tight with offset -0.043]
[MSG:INFO: Requesting state change from Retracting Belts to Belts Retracted]
[MSG:INFO: Succeeded]
Extend All
[MSG:INFO: Extending all belts]
[MSG:INFO: Requesting state change from Belts Retracted to Extending Belts]
[MSG:INFO: Succeeded]
[MSG:INFO: All belts extended to 2050.000mm]
[MSG:INFO: Requesting state change from Extending Belts to Belts Extended]
[MSG:INFO: Succeeded]
Apply Tension
[MSG:INFO: Requesting state change from Belts Extended to Taking Slack]
[MSG:INFO: Succeeded]
[MSG:INFO: Measured waypoint 2]
[MSG:INFO: Center point deviation: TL: 0.000 TR: 0.000 BL: 5.798 BR: 8.077]
[MSG:INFO: Center point deviation within 12.000mm, your coordinate system is accurate]
[MSG:INFO: Current machine position loaded as X: 7.629 Y: -18.757]
[MSG:INFO: Requesting state change from Taking Slack to Ready To Cut]
[MSG:INFO: Succeeded]
JogTo: '$J=G91F300Z25
’
JogTo: '$J=G91F300Z-25
’
JogTo: '$J=G91F300Z-25
’
JogTo: '$J=G91F300Z25
’
JogTo: '$J=G91F300Z25
’
JogTo: '$J=G91F300Z-25
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z-1
’
JogTo: '$J=G91F300Z0.25
’
Home pos set for: Z
[G54:107.713,-93.700,7.250]
JogTo: '$J=G91F300Z25
’
JogTo: '$J=G91F300Z10
’
JogTo: '$J=G91F300Z-30
’
JogTo: '$J=G91F2500X25
’
JogTo: '$J=G91F2500X75.09Y-74.94
’
JogTo: '$J=G91F2500Y89
’
JogTo: '$J=G91F2500Y2.5
’
Home pos set for: X
Home pos set for: Y
[G54:107.715,-93.700,7.250]
[G54:107.715,-2.202,7.250]
[MSG:WARN: Motor current on Bottom Left axis exceeded threshold of 4000]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.009mm Counter: 1]
[MSG:WARN: Previous error was 15.009mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.036mm Counter: 2]
[MSG:WARN: Previous error was 15.036mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.070mm Counter: 3]
[MSG:WARN: Previous error was 15.070mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.094mm Counter: 4]
[MSG:WARN: Previous error was 15.094mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.141mm Counter: 5]
[MSG:WARN: Previous error was 15.141mm]
[MSG:WARN: Position error on Bottom Left axis exceeded 15mm while running. Error is 15.155mm Counter: 6]
[MSG:WARN: Previous error was 15.155mm]
[MSG:ERR: Emergency stop! Stopping all motors]
[MSG:WARN: The machine will not respond until turned off and back on again]
[MSG:INFO: Reset during file job at line: 3997]
[MSG:ERR: Position error > 15mm while running. E-Stop triggered.]
Stop Maslow and Gcode
We are definitely still very much in the early adopter stage of the technology so there is a lot to learn and improve on, but you should be able to get better results than that.
What was your depth of cut with each pass?
How did the tension in the belts feel while you were cutting?
After the M4 shut itself down I re-booted it and retracted the belts. Only three of the four belts retracted. The (lower right?) belt would not come in. The motor on that belt was warm…not hot, but definitely warmer than the others.
The next morning I went back out to the shop and tried retracting the belts again. Even after increasing the force the one belt still will not retract all the way. I can easily move the belt in and out by hand, but the motor only moves for a second each time I press retract all…
Depth of cut was 6mm for the pocket operation and 7mm for the cutout.
Belt tension seemed to be normal during the entire job.
I have completed other projects with satisfactory results, which is why I had such high hopes for this one. This is the first project I have attempted since upgrading to M4.1 and the new firmware. This is also the most complex project I have attempted…but others have already demonstrated success with much more complicated projects.
That’s pretty aggressive, but not crazy. I haven’t personally tried cutting that deep per pass, but I don’t think that is the core issue here. Generally speaking, but shallower the depth of cut per pass the cleaner the results. I’d recommend giving like 3mm/pas a try.
This sounds like the real issue to me. I think that there is something jammed up in that arm probably the spool isn’t allowing it to rotate freely. Unfortunately I can’t think of a way to test or fix that without taking the arm apart.
There’s also a known issue of the arms hitting that vacuum attachment when calibrating or if the Z is near the minimum.
I had a nut back off and get jammed into the belt winding once and it caused the machine to go all wonky like this. Caught it by a fluke. I’ve also had the arm gears seize due to using the wrong lubricant and/or assembling them and not checking that the gears move freely. Definitely make sure they move freely.
Another thing to check is that both Z steppers move consistently in unison. There’s been some control board issues that cause one to intermittently not move. Jog it up and down ~10mm about 20 times and watch to make sure both Z steppers move together. That could cause some pretty wonky cuts as well.
Ok good to know. I thought I had read somewhere that the recommended max depth per cut was equal to or less than the diameter of the mill being used. Being a compression mill, the down-cut part of the mill isn’t even in the stock until you get 7mm deep. I’ll experiment with shallower cuts, do you think that 1000mm/min is a reasonable feed rate at 3 or 4mm depth per pass?
I had only bumped the retraction force up to 1200 and it wouldn’t budge…I was tired and feeling defeated and didn’t want to risk going any higher and breaking something (if that’s even possible). After reading your reply today I bumped it upto 2000 and it started moving after making a noise suggesting that there was something stuck in the gears. I tried many different settings, and it now moves freely in and out but only at 1250 or higher force. All the other arms move easily at 900, which was the setting during calibration and during the job.
I confirmed that the Z steppers are moving together. I will have to go back out to the shop and re-calibrate to confirm if the vacuum attachment is interfering with the arm in question. The successful calibration before trying to cut this project was a 1500x800 grid, size 7x7.
This is the general rule of thumb for normal gantry type CNC routers, the Maslow is significantly less “Stiff” with the play and stretch in the belts so you definitely want to err on the shallower side of this recommendation. I haven’t done a ton of cutting but the only time i got wobbling like that on my cuts was when i was pushing the machine too hard as far as depth and speed were concerned. If i were you, I’d dial it right back to really safe depth and speeds for your first cuts and gradually dial it up to find the limit from there
I love compression bits, especially for cutting ply, but I’ve avoided using them on the maslow because of the required initial cutting depth
Ok good to know. I thought I had read somewhere that the recommended max depth
per cut was equal to or less than the diameter of the mill being used. Being a
compression mill, the down-cut part of the mill isn’t even in the stock until
you get 7mm deep. I’ll experiment with shallower cuts, do you think that
1000mm/min is a reasonable feed rate at 3 or 4mm depth per pass?
I have seen recommendations of 1/2 bit diameter up to 2x bit diameter. The
maslow is not a very rigid machine, so it’s probably worth being cautious. But
you said you had done this depth before, so I don’t think it’s that.
I had only bumped the retraction force up to 1200 and it wouldn’t budge…I
was tired and feeling defeated and didn’t want to risk going any higher and
breaking something (if that’s even possible). After reading your reply today I
bumped it upto 2000 and it started moving after making a noise suggesting that
there was something stuck in the gears. I tried many different settings, and
it now moves freely in and out but only at 1250 or higher force. All the other
arms move easily at 900, which was the setting during calibration and during
the job.
yep, sounds like something came loose inside the arm.
I mentioned in a previous post that I had done some successful projects, two of which I have not previously shared here. I went back and took a close look at the tool paths for these two projects, and was surprised at what I found.
The first was a fishing rod holder. I purchased the .svg files from a vendor on Etsy, and then made the gcode with Carbide Create Pro.
The top and sides cut great. The holes for the rods were a little wonky, but good enough for this project. I used the same 1/4" compression end mill on this project with a slower speed of only 600mm / min feed rate but 12mm depth per pass. I didn’t believe it at first, so I checked the actual .nc file and sure enough it was 12mm depth of cut!
The other project was a custom-designed ski rack that I made for a friend of mine. It was cut from some scrap 3/4" plywood and intended as a prototype, but he liked it enough that I never made a nicer one. The rack was designed from scratch in Carbide Create.
For this one I used the same 1/4" compression bit with 1200 mm / min feed rate and 6.5mm depth each pass. Half the depth and twice the speed of the fishing rod holder. This is the cleanest of all the projects I have attempted with the cuts straight and smooth.
Both pieces were nearly identical. They were cut from two pieces of scrap plywood, mounted near the center of my spoil board.
What is the takeaway? Honestly I don’t really know…Both used the same end mill in the same 3/4" stock. Surprisingly, the best results I have experienced were with 1200mm feed rate and 6.5mm depth. I guess this is why I was thinking that 6-7mm depth and slower speed of only 600 mm / min would be safe numbers for the speaker project. The settings for all three projects are similar enough I would expect similar results. The only thing different about the speaker project is that it was done on M4.1 hardware and 1.05 firmware. The other two projects were done before I upgraded the hardware, and using 0.8x firmware…perhaps this has nothing to to with it and the real problem is that something came loose in one arm and fugged up my project. I’ll take the arm apart and let you know what I find. Thanks for all the support and encouragement.
Just chiming in to say your speeds and depth of pass are not the problem here. Those cuts look shocking, but it’s not speed.
I have a horizontal mounted M4 using threaded bolts into my concrete garage floor too. I’m having no issue with 6-8mm passes at 2,000mm/min speeds.
(Back yourself Bar, the M4 is better than the nervousness you’re showing in this thread )
My 2c, it’s definitely a problem with that 4th arm. I have had those tell-tale “drunken” wobbly lines before and it was a problem with the grub screw inside the arm. Bite the bullet, disassemble, take your time, take it apart gently. Tighten the grub screw. Add Loctite this time. Patiently reassemble. She’ll be right as rain.
@DanVinar thanks for the encouragement. Looking closely at two previous projects I completed with the M4 I don’t think my problem was speed or depth, as I’ve had success with similar settings before. I’ll try and disassemble the arm today and see what I find in there…report back here after.
And for the record, I hope I didn’t sound like I was disparaging @Bar or the M4. I am still really excited about the potential of this machine, and grateful for the help of this community.
As we’re seeing here it’s pretty difficult to diagnose after the fact. Might want to run one of those cuts again on some scrap to see if it happens again and pay close attention to what the machine is doing. Watch for loose belts, sled tilting, etc. Take a video if you can.
As @bar said, we’re still sorting this machine out so switching into a diagnostic mindset and paying close attention to how everything is functioning will help a lot.
I was watching the sled like a hawk the whole time it was cutting. Unfortunately I didn’t take any video, but I can say with confidence that the belts were never loose. The sled would sometimes tilt, and I did notice that occasionally the belts brushed the corners of the stock as the machine was jogging.
My setup uses 1" rigid foam insulation as spoil board, sitting on the concrete floor of my shop. Anchor points are threaded inserts in the floor, with 12’ x 10’ “frame size”. Configuration was done with the M4 on the stock I was going to cut on top of the spoil board.
When cutting parts from partial sheets or scraps of ply I screw them to a sheet of plywood spoil board (resting on top of the rigid foam board).
In this case I was cutting from a full sheet of 3/4" plywood and it was secured using @bar 's non-slip pad method. I don’t know how else to secure full sheets or the foam spoil board to the concrete floor. Perhaps I need to try some sort of tape or…?
My bet would be that the workpiece is moving, I think Bar had some trouble with that as well. If you’re already drilling the concrete for the corner anchors, why not drill a few more and epoxy some threaded anchors into the ground for the spoil board?