Estlcam Seems to be creating gcode file in inch and not mm

Hi,

So I created a simple sign with a name in the middle for testing. The height is 100mm, and the width is 140mm. When I import it into Estlcam. The size is correct, as I have confirmed this with the Grid. But when I create the gcode and run it on the MPCNC. It tries to create the sign much larger than the measurements above. The only thing I can think of, is that the gcode has been created in inch. Or the Marlin setup is incorrect and is interpreting the mm as inch.

I did use the following link when configuring Estlcam.

But still can’t seem to locate where the issue is. If someone could point me in the right direction, I would be most grateful

The mistake is usually the other direction, where estlcam puts in inches and marlin thinks it is mms. Here are some things you can do to narrow it down:

  • Make sure a 10mm move on the MPCNC moves 10mm. Just use the jog feature to do that. Don’t worry about 10.1mm vs. 9.9mm yet. Just make sure it isn’t 1m.
  • Try making a square 10mm on a side and make some gcode for that. You can read simple gcode like that and see that the gcode shows numbers about 10mm (± your bit diameter).
  • One thing that comes to mind is that you may not have the microsteps set correctly on the stepper drivers. If the controller is set for 1/16th microsteps and you have the drivers set on whole steps, it would be 16x bigger.

Also, you can try the premade test crown gcode. It will draw about 6" wide.

Hi Jeffeb3,

Thanks for the help. I see that if I jog the machine 30mm. It is moving 60mm.

Sorry Estlcam. I guess I must make some changes in Marlin

What controller do you have, and which firmware?

I’m using Arduino Mega 2560. Using the Marlin_V1CNC_Ramps_Dual_2.0.9.2_513

Yeah, that firmware by default assumes the DRV8825 drivers, set to 32X microstepping. If you have the A4988 drivers, it will be set to 16X microstepping max, so you need to change the steps/mm from 200 (Default) to 100.

Edit: You can do that from the 12864 LCD screen, or else you have to edit and recompile the firmware.

If you recompile the firmware, then you will need to issue an M502 command from the terminal to reset saved EEPROM values to the firmware default.

If you do it from the LCD, you will need to save the settings, or issue an M500 command to save the steps/mm to EEPROM.

1 Like

Hi Dan,

in the Configuration.h
/**

  • Default Axis Steps Per Unit (steps/mm)

  • Override with M92

  •                                  X, Y, Z [, I [, J [, K]]], E0 [, E1[, E2...]]
    

*/

#define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400 } // { 200, 200, 800, 200 } // { 80, 80, 400, 500 }

Changed it. But it doesn’t seem to make any difference

1 Like

See my edit: you will need to issue an M502 to reload the default values for the firmware

1 Like

The previous setting is stuck in the eeprom. M502 will replace the eeprom ones with the defaults in the firmware. M500 will save it.

M92 X100 Y100 Z400
M500

Will also fix it.

1 Like

Okay,

So I don’t know what I would have done without you guys. Thanks so much. It’s working now

3 Likes