Printer reset detected - initalizing


I have just built my first cnc mill macine. I have used Arduino mega + Ramps 1.4 with drv8825 drivers, just like in your MPCNC. Also, I have used your MPCNC813_GLCD firmware for ramps.

When I trying to use Manual control in Repeater-Host, steppers moving ok with 0.1 and 1 mm step command. But with 10, 50 or with G-code with large value (ex. “G1 Y100”), yellow LED on ramps flash 2 times and printer reset settings, i guess:

21:20:45.645 : N76 G1 Y60 F480012
21:20:51.067 : Printer reset detected - initalizing
21:20:51.067 : start
21:20:51.067 : echo:Marlin 1.1.0-1
21:20:51.071 : echo: Last Updated: 2017-05-04 12:00 | Author: (none, default config)
21:20:51.071 : Compiled: Nov 27 2017
21:20:51.073 : echo: Free Memory: 3553 PlannerBufferBytes: 1232
21:20:51.073 : echo:EEPROM version mismatch (EAPROM=? Marlin=V37)
21:20:51.073 : echo:Hardcoded Default Settings Loaded
21:20:51.073 : echo: G21 ; Units in mm
21:20:51.073 : echo: M149 C ; Units in Celsius
21:20:51.073 : echo:Fihament settings: Disabled
21:20:51.073 : echo: M200 D3.00
21:20:51.073 : echo: M200 D0
21:20:51.073 : echo:Steps per unit:
21:20:51.073 : echo: M92 X4266.67 Y4266.67 Z4266.67 E1.00
21:20:51.088 : echo:Maximum feedrates (units/s):
21:20:51.088 : echo: M203 X10.00 Y10.00 Z10.00 E25.00
21:20:51.088 : echo:Maximum Acceleration (units/s2):
21:20:51.088 : echo: M201 X500 Y500 Z35 E10000
21:20:51.088 : echo:Acceleration (units/s2): P<print_accel> R<retract_accel> T<travel_accel>
21:20:51.088 : echo: M204 P400.00 R3000.00 T400.00
21:20:51.088 : acho:Advanced: S<min_feedrate> T<min_travel_feedrate> B<min_segmant_time_ms> X<max_xy_jerk> Z<max_z_jerk> E<max_e_jerk>
21:20:51.104 : echo: M205 S0.00 T0.00 B20000 X4.00 Y4.00 Z0.20 E5.00
21:20:51.104 : echo:Home offset:
21:20:51.104 : echo: M206 X0.00 Y0.00 Z0.00
21:20:51.104 : echo:Material heatup parameters:
21:20:51.104 : acho: M145 S0 H196 B62 F0
21:20:51.104 : M145 S1 H240 B110 F0
21:20:51.104 : echo:PID settijgs:
21:20:51.104 : echo: M301 P17.98 I0.98 D83.62
21:20:51.270 : N1 M110
21:20:51.270 : N2 M11536
21:20:51.270 : N3 M105
21:20:51.270 : N4 M11435
21:20:51.272 : N5 M111 S6
21:20:51.273 : N6 T25562
21:20:51.275 : N7 M80
21:20:56.223 : echo:SD init fail
21:20:56.238 : FIRMWARE_NAME:Marlin 1.1.0-1 (Github) SOQRCE_CODE_URL: PROTOCOL_RERSION:1.0 MACHINE_TYPE:MPCNC EXTRUDER_COUNT:1 UUID:cede2a2f-41a2-4748-9b12-c55c62f367ff
21:20:56.238 : N8 M220 S100105
21:20:56.238 : N9 M221 S100
21:20:56.238 : N10 M111 S686
21:20:56.238 : N11 T255
21:20:56.285 : X:0.00 Y:0.00 Z:0.00 E:0.00 Count X:0 Y:0 Z:0
21:20:56.301 : echo:DEBUG:INFO,ERRORS
21:20:56.303 : echo:Active Expruder: 255
21:20:56.304 : echo:DEBUG:INFO,ERRORS
21:20:56.306 : echo:Active Expruder: 255


Same problem with test printing with your crown file.

My printer is connected to PC with Win7 by 0,5m USB cable from arduino standert package.

What is your feed rate? I guess that doesn’t explain the reset on the crown gcode…

Is your per supply strong enough? If you have a usb connected, it should keep the Arduino up though…

Tricky one.

I use 32 microstepping with M10 leadersrew (1.5 mm per rotation). So I have (200*32)/1.5=4266.67 steps per cm, 1 cm/sec. Acceleration is default (400). I almost sure that all connections are ok because printer does not resets randomly. It resets every time when it moves more than ~4 cm.

The configuration is in steps/mm, not steps/cm. If you put in 4266, then that is way high, and explains everything. If you do something like this, it will probably move without a reset:

G01 Y100 F60

Just be aware, if you have your steps wrong, it will try to go 1 meter!

The F is in mm/min (I know, right! Stupid units). 900 or so is pretty normal for x and y, but if you have the steps off by 10x, then that’s equivalent to 100mm/s movement, which is way fast and the CPU probably can’t keep up at 1/32nd stepping.

Get the z steps right and that will solve it, using my code and higher than usual Z steps will reset the board. We had this issue for an entire year and finally figured it out. I never moved very fast and never had issues the speed racers kept getting resets and that was why.

Yes, I have decreased max. feed rate parameter and now it working till crown finish. Config is looks like that now:



  • Default Axis Steps Per Unit (steps/mm)
  • Override with M92
  • X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
    32/1.5, 20032/1.5, 20032/1.5, 1 } //MPCNC


  • Default Max Feed Rate (mm/s)
  • Override with M203
  • X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
    #define DEFAULT_MAX_FEEDRATE { 5, 5, 1, 25 } //MPCNC


  • Default Max Acceleration (change/s) change = mm/s
  • (Maximum start speed for accelerated moves)
  • Override with M201
  • X, Y, Z, E0 [, E1[, E2[, E3[, E4]]]]
    #define DEFAULT_MAX_ACCELERATION { 500, 500, 35, 10000 } //MPCNC


  • Default Acceleration (change/s) change = mm/s
  • Override with M204
  • M204 P Acceleration
  • M204 R Retract Acceleration
  • M204 T Travel Acceleration
    #define DEFAULT_ACCELERATION 400 // MPCNC X, Y, Z and E acceleration for printing moves
    #define DEFAULT_RETRACT_ACCELERATION 3000 // E acceleration for retracts
    #define DEFAULT_TRAVEL_ACCELERATION 400 // MPCNC X, Y, Z acceleration for travel (non printing) moves


I guess that problem is solved now, thank you all very much. Going to upgrade mechanics now for silence and accuracy)


This is still enormous:

#define DEFAULT_AXIS_STEPS_PER_UNIT { 20032/1.5, 20032/1.5, 200*32/1.5, 1 } //MPCNC

Are you sure those are right? Especially for the X/Y? The Z is close to what’s in the 5/16" leadscrew firmware, but the X/Y are 200 steps/mm, not 4300!

Do you have leadscrews on the X,Y or something? When you move 10mm in x,y does the machine move 10mm or 213mm?

When I plug jumpers for microstepping, every “step” in programm is microstep (1/32 step). So when stepper make 200 steps in this mode, it rotates for (360/32)=11.25 degrees, not for 360 degrees. I change these parametrs manually, with testing after each changing, untill make stepper moving correctly. And yes, when I move it for 10mm, it moves for 10mm. The problem was in feed rate, but I have decreesed it now.

Unfortinatly I can’t calculate in inches, but M10 leadersrew has 1.5mm shift for every full rotation. Thats why, for 1mm shifting I must divide amount of stepper’s steps by 1.5.

Most steppers are 1.8 degree steppers, in full step mode you would takes 200 steps for a full 360° rotation, so 32nd stepping makes 6,400 steps/rotation, a 16Tooth pulley at 2mm per tooth makes 32mm/rotation, so our typical setting is 200steps/1mm of movement for the belt drive and a T8. Your m10 either has a 1.5 (4266.67steps/mm) or a 1.25 (5120.00steps/mm). Your numbers seem odd but if you have tested them something in your system is not like ours other than your lead screw.

So you must have m10 on all your axes, careful of backlash.

Sure, but the leadscrew is for Z. In X,Y it’s the GT belt, and the number should be much smaller, right? GT2 belt moves 32mm for one rotation of a 16 tooth gear, so that would be 32mm/360degrees, so it should be:
200*32steps/rev * 1rev/32mm = 200 steps/mm.

You say it’s correct, so maybe you’ve changed the numbers in the EEPROM after you’ve flashed it? Or are you using leadscrews for X and Y?

(((I’m trying to be helpful, but if you’ve got this all figured out already, then there’s no need to explain it to me. I can just leave it be.)))