Drilling in foam ok, harder materials too deep

Hi everybody,

I have a somehow spooky behaviour of my MPCNC running an Arduino Mega with Ramps 1.4, double end stops.

If I try to drill/mill in hard foam as a test the drilling depth measures exactly what I expect it to be. But when I change to some harder material like wood or some plastics the drilling depth can’t be controlled. So if I want to mill a pocket the machine goes straight through the whole wooden plate.

The test showed that the g-code did work as expected in foam.

Is it possible that the current of z axis is too low to hold the position?

Thank you for every suggestion!




Maybe your spindle enough heavy and with harder material your spindle became vibrate so z stepper losing steps.
Show a few pictures

What are your Z plunge rates? 2-4mm/s is common.

Hi Ryan,

I think Z plunge rates are about 1mm/sec. But I’ll have to verify after work. EDIT: Yes, 1.5 mm/sec Z plunge rates, other rates are 4.2 mm/sec.

@Guffy: I’ll upload a photo later even I don’t think the stepper looses steps. Loosing steps would lead to stopping earlier than expected, wouldn’t it? Sorry for the bad quality. Spindle is a Makita R07xx-type.

A few more pictures of your overall build will help.

Well you do have a very large router on you Z axis so it will need to be extra smooth but knowing nothing about your build I will wait for some pictures before making too many guesses in the dark.

Afaik this makita weight is 1,8kg and it could use 6mm, 8mm, 1/4" and 3/8" bits. No 3mm, no 1/8". On the photo it looks like 6mm

@Guffy: You’re right. I’ll post some photos later this day.

The first thing I see, which might not matter but could, is you have the nut for your Z axis lead screw on the top. If it’s on the top the only thing keeping it from ripping loose when you raise Z is those little screws. Better is to mount it on the bottom so gravity holds it in place when lowering Z and the lead screw itself pushes it in place when raising Z.

Hi Bill,

thank you for that hint! I’ll check/correct this tomorrow!

The nut is supposed to be on top. Especially with that heavy router, nothing you do(correctly) while cutting should push it up. If the nut is on the bottom, it’s being held in by some really small screws in plastic. If they let go while cutting the router is going to push whatever cutter is currently on it right through whatever you’re cutting, then start a fire.

1 Like

The assembly instructions state to put the nut on top. That way gravity pushes it down and the screws keep it from spinning. Raising the Z wouldn’t raise the nut, it would actually push it down so that the assembly can move upwards. Equal and opposite reaction.



1 Like

ensure that you can’t slide down spindle by a finger when z stepper is on
check current on z stepper (voltage on the driver. i use 0.82V /DVR8825/)

1 Like

@Guffy: I can’t slide down the spindle by finger but turn the spindle by hand when z stepper is on. Voltage on z stepper is about 0.71V on A4988. I’ll check raising the voltage to 0.8V.

for A4988 a formula can be different than for DRV8825. may be 0.7 is good value A4988 and 0.8 is too high. ensure with documentation

the problem is that on the market there are a few variations of A4988 with different resistors on pcb
usually it’s 100 or 50 Ohm. original pololu uses 68 scince 2017

Current Limit = Vref / 8 * (RS)
Vref = Current Limit * 8 * (RS)

RS = 0,100
Vref = Current Limit * 8 * 0,100 = Current Limit / 1,25

RS = 0,050
Vref = Current Limit * 8 * 0,050 = Current Limit / 2,5

RS = 0,068
Vref = Current Limit * 8 * 0,068 = Current Limit / 1,84

current for your stepper is (i think) 1,7A

so if you have 100Ohm or 68Ohm version - 0,7V is maybe low value
but if you have 50Ohm driver - 0,68V is ok. 0,8V is too much

1 Like

And the step rate is different, verify 20mm is actually 20mm.

1 Like

Sorry for my late reply: I can’t read what resistors I have on PCB. I’ll test today. My steppers can take up to 2A. I’m aiming at 1.7 to 1.8A as stepper current (w/ active cooling).

Vref1=1.7/2.5=0.68V (RS=50Ohm)

Vref2=1.7/1.25=1.36V (RS=100Ohm)

I see the voltages might double depending on RS. So I have to verify what resistor is set on PCB.

Edit: Verified Rs=100Ohm.

Thanks for your hints. Raising the voltage to 0.87V did the job! MPCNC is working as expected!

You guys were a great help! Nice experience to listen to your advices! Thanks again!