blob: 2e4613000d6e23436ab591e29e60ebd2cd9ff7cd [file] [log] [blame]
Luigi Santivetti69972f92019-11-12 22:55:40 +00001/*
2 defaults.h - defaults settings configuration file
3 Part of Grbl
4
5 Copyright (c) 2012-2016 Sungeun K. Jeon for Gnea Research LLC
6
7 Grbl is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 Grbl is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with Grbl. If not, see <http://www.gnu.org/licenses/>.
19*/
20
21/* The defaults.h file serves as a central default settings selector for different machine
22 types, from DIY CNC mills to CNC conversions of off-the-shelf machines. The settings
23 files listed here are supplied by users, so your results may vary. However, this should
24 give you a good starting point as you get to know your machine and tweak the settings for
25 your nefarious needs.
26 NOTE: Ensure one and only one of these DEFAULTS_XXX values is defined in config.h */
27
28#ifndef defaults_h
29
30#ifdef DEFAULTS_GENERIC
31 // Grbl generic default settings. Should work across different machines.
32 #define DEFAULT_X_STEPS_PER_MM 250.0
33 #define DEFAULT_Y_STEPS_PER_MM 250.0
34 #define DEFAULT_Z_STEPS_PER_MM 250.0
35 #define DEFAULT_X_MAX_RATE 500.0 // mm/min
36 #define DEFAULT_Y_MAX_RATE 500.0 // mm/min
37 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
38 #define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
39 #define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
40 #define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
41 #define DEFAULT_X_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
42 #define DEFAULT_Y_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
43 #define DEFAULT_Z_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
44 #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
45 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
46 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
47 #define DEFAULT_STEPPING_INVERT_MASK 0
48 #define DEFAULT_DIRECTION_INVERT_MASK 0
49 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
50 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
51 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
52 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
53 #define DEFAULT_REPORT_INCHES 0 // false
54 #define DEFAULT_INVERT_ST_ENABLE 0 // false
55 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
56 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
57 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
58 #define DEFAULT_INVERT_PROBE_PIN 0 // false
59 #define DEFAULT_LASER_MODE 0 // false
60 #define DEFAULT_HOMING_ENABLE 0 // false
61 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
62 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
63 #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
64 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
65 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
66#endif
67
68#ifdef DEFAULTS_SHERLINE_5400
69 // Description: Sherline 5400 mill with three NEMA 23 Keling KL23H256-21-8B 185 oz-in stepper motors,
70 // driven by three Pololu A4988 stepper drivers with a 30V, 6A power supply at 1.5A per winding.
71 #define MICROSTEPS 2
72 #define STEPS_PER_REV 200.0
73 #define MM_PER_REV (0.050*MM_PER_INCH) // 0.050 inch/rev leadscrew
74 #define DEFAULT_X_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
75 #define DEFAULT_Y_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
76 #define DEFAULT_Z_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
77 #define DEFAULT_X_MAX_RATE 635.0 // mm/min (25 ipm)
78 #define DEFAULT_Y_MAX_RATE 635.0 // mm/min
79 #define DEFAULT_Z_MAX_RATE 635.0 // mm/min
80 #define DEFAULT_X_ACCELERATION (50.0*60*60) // 50*60*60 mm/min^2 = 50 mm/sec^2
81 #define DEFAULT_Y_ACCELERATION (50.0*60*60) // 50*60*60 mm/min^2 = 50 mm/sec^2
82 #define DEFAULT_Z_ACCELERATION (50.0*60*60) // 50*60*60 mm/min^2 = 50 mm/sec^2
83 #define DEFAULT_X_MAX_TRAVEL 225.0 // mm NOTE: Must be a positive value.
84 #define DEFAULT_Y_MAX_TRAVEL 125.0 // mm NOTE: Must be a positive value.
85 #define DEFAULT_Z_MAX_TRAVEL 170.0 // mm NOTE: Must be a positive value.
86 #define DEFAULT_SPINDLE_RPM_MAX 2800.0 // rpm
87 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
88 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
89 #define DEFAULT_STEPPING_INVERT_MASK 0
90 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<Y_AXIS)|(1<<Z_AXIS))
91 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
92 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
93 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
94 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
95 #define DEFAULT_REPORT_INCHES 0 // true
96 #define DEFAULT_INVERT_ST_ENABLE 0 // false
97 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
98 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
99 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
100 #define DEFAULT_INVERT_PROBE_PIN 0 // false
101 #define DEFAULT_LASER_MODE 0 // false
102 #define DEFAULT_HOMING_ENABLE 0 // false
103 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
104 #define DEFAULT_HOMING_FEED_RATE 50.0 // mm/min
105 #define DEFAULT_HOMING_SEEK_RATE 635.0 // mm/min
106 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
107 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
108#endif
109
110#ifdef DEFAULTS_POCKETNC_FR4
111 // Description: Pocket NC FR4 CNC mill.
112 #define DEFAULT_X_STEPS_PER_MM 800.0
113 #define DEFAULT_Y_STEPS_PER_MM 800.0
114 #define DEFAULT_Z_STEPS_PER_MM 800.0
115 #define DEFAULT_X_MAX_RATE 300.0 // mm/min
116 #define DEFAULT_Y_MAX_RATE 300.0 // mm/min
117 #define DEFAULT_Z_MAX_RATE 300.0 // mm/min
118 #define DEFAULT_X_ACCELERATION (30.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
119 #define DEFAULT_Y_ACCELERATION (30.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
120 #define DEFAULT_Z_ACCELERATION (30.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
121 #define DEFAULT_X_MAX_TRAVEL 225.0 // mm NOTE: Must be a positive value.
122 #define DEFAULT_Y_MAX_TRAVEL 125.0 // mm NOTE: Must be a positive value.
123 #define DEFAULT_Z_MAX_TRAVEL 170.0 // mm NOTE: Must be a positive value.
124 #define DEFAULT_SPINDLE_RPM_MAX 7000.0 // rpm
125 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
126 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
127 #define DEFAULT_STEPPING_INVERT_MASK 0
128 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<Y_AXIS)|(1<<Z_AXIS))
129 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 250 // msec (0-254, 255 keeps steppers enabled)
130 #define DEFAULT_STATUS_REPORT_MASK 3 // WPos enabled
131 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
132 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
133 #define DEFAULT_REPORT_INCHES 0 // false
134 #define DEFAULT_INVERT_ST_ENABLE 1 // false
135 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
136 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
137 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
138 #define DEFAULT_INVERT_PROBE_PIN 0 // false
139 #define DEFAULT_LASER_MODE 0 // false
140 #define DEFAULT_HOMING_ENABLE 1 // false
141 #define DEFAULT_HOMING_DIR_MASK 1 // move positive dir
142 #define DEFAULT_HOMING_FEED_RATE 100.0 // mm/min
143 #define DEFAULT_HOMING_SEEK_RATE 300.0 // mm/min
144 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
145 #define DEFAULT_HOMING_PULLOFF 3.0 // mm
146#endif
147
148#ifdef DEFAULTS_SHAPEOKO
149 // Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos
150 // grblShield with a 24V, 4.2A power supply.
151 #define MICROSTEPS_XY 8
152 #define STEP_REVS_XY 400
153 #define MM_PER_REV_XY (0.08*18*MM_PER_INCH) // 0.08 in belt pitch, 18 pulley teeth
154 #define MICROSTEPS_Z 2
155 #define STEP_REVS_Z 400
156 #define MM_PER_REV_Z 1.250 // 1.25 mm/rev leadscrew
157 #define DEFAULT_X_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
158 #define DEFAULT_Y_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
159 #define DEFAULT_Z_STEPS_PER_MM (MICROSTEPS_Z*STEP_REVS_Z/MM_PER_REV_Z)
160 #define DEFAULT_X_MAX_RATE 1000.0 // mm/min
161 #define DEFAULT_Y_MAX_RATE 1000.0 // mm/min
162 #define DEFAULT_Z_MAX_RATE 1000.0 // mm/min
163 #define DEFAULT_X_ACCELERATION (15.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
164 #define DEFAULT_Y_ACCELERATION (15.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
165 #define DEFAULT_Z_ACCELERATION (15.0*60*60) // 15*60*60 mm/min^2 = 15 mm/sec^2
166 #define DEFAULT_X_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
167 #define DEFAULT_Y_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
168 #define DEFAULT_Z_MAX_TRAVEL 200.0 // mm NOTE: Must be a positive value.
169 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
170 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
171 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
172 #define DEFAULT_STEPPING_INVERT_MASK 0
173 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<Y_AXIS)|(1<<Z_AXIS))
174 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
175 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
176 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
177 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
178 #define DEFAULT_REPORT_INCHES 0 // false
179 #define DEFAULT_INVERT_ST_ENABLE 0 // false
180 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
181 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
182 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
183 #define DEFAULT_INVERT_PROBE_PIN 0 // false
184 #define DEFAULT_LASER_MODE 0 // false
185 #define DEFAULT_HOMING_ENABLE 0 // false
186 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
187 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
188 #define DEFAULT_HOMING_SEEK_RATE 250.0 // mm/min
189 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
190 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
191#endif
192
193#ifdef DEFAULTS_SHAPEOKO_2
194 // Description: Shapeoko CNC mill with three NEMA 17 stepper motors, driven by Synthetos
195 // grblShield at 28V.
196 #define MICROSTEPS_XY 8
197 #define STEP_REVS_XY 200
198 #define MM_PER_REV_XY (2.0*20) // 2mm belt pitch, 20 pulley teeth
199 #define MICROSTEPS_Z 2
200 #define STEP_REVS_Z 200
201 #define MM_PER_REV_Z 1.250 // 1.25 mm/rev leadscrew
202 #define DEFAULT_X_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
203 #define DEFAULT_Y_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
204 #define DEFAULT_Z_STEPS_PER_MM (MICROSTEPS_Z*STEP_REVS_Z/MM_PER_REV_Z)
205 #define DEFAULT_X_MAX_RATE 5000.0 // mm/min
206 #define DEFAULT_Y_MAX_RATE 5000.0 // mm/min
207 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
208 #define DEFAULT_X_ACCELERATION (250.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
209 #define DEFAULT_Y_ACCELERATION (250.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
210 #define DEFAULT_Z_ACCELERATION (50.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
211 #define DEFAULT_X_MAX_TRAVEL 290.0 // mm NOTE: Must be a positive value.
212 #define DEFAULT_Y_MAX_TRAVEL 290.0 // mm NOTE: Must be a positive value.
213 #define DEFAULT_Z_MAX_TRAVEL 100.0 // mm NOTE: Must be a positive value.
214 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
215 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
216 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
217 #define DEFAULT_STEPPING_INVERT_MASK 0
218 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<X_AXIS)|(1<<Z_AXIS))
219 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
220 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
221 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
222 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
223 #define DEFAULT_REPORT_INCHES 0 // false
224 #define DEFAULT_INVERT_ST_ENABLE 0 // false
225 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
226 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
227 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
228 #define DEFAULT_INVERT_PROBE_PIN 0 // false
229 #define DEFAULT_LASER_MODE 0 // false
230 #define DEFAULT_HOMING_ENABLE 0 // false
231 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
232 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
233 #define DEFAULT_HOMING_SEEK_RATE 250.0 // mm/min
234 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
235 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
236#endif
237
238#ifdef DEFAULTS_SHAPEOKO_3
239 // Description: Shapeoko CNC mill with three NEMA 23 stepper motors, driven by CarbideMotion
240 #define MICROSTEPS_XY 8
241 #define STEP_REVS_XY 200
242 #define MM_PER_REV_XY (2.0*20) // 2mm belt pitch, 20 pulley teeth
243 #define MICROSTEPS_Z 8
244 #define STEP_REVS_Z 200
245 #define MM_PER_REV_Z (2.0*20) // 2mm belt pitch, 20 pulley teeth
246 #define DEFAULT_X_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
247 #define DEFAULT_Y_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
248 #define DEFAULT_Z_STEPS_PER_MM (MICROSTEPS_Z*STEP_REVS_Z/MM_PER_REV_Z)
249 #define DEFAULT_X_MAX_RATE 5000.0 // mm/min
250 #define DEFAULT_Y_MAX_RATE 5000.0 // mm/min
251 #define DEFAULT_Z_MAX_RATE 5000.0 // mm/min
252 #define DEFAULT_X_ACCELERATION (400.0*60*60) // 400*60*60 mm/min^2 = 400 mm/sec^2
253 #define DEFAULT_Y_ACCELERATION (400.0*60*60) // 400*60*60 mm/min^2 = 400 mm/sec^2
254 #define DEFAULT_Z_ACCELERATION (400.0*60*60) // 400*60*60 mm/min^2 = 400 mm/sec^2
255 #define DEFAULT_X_MAX_TRAVEL 425.0 // mm NOTE: Must be a positive value.
256 #define DEFAULT_Y_MAX_TRAVEL 465.0 // mm NOTE: Must be a positive value.
257 #define DEFAULT_Z_MAX_TRAVEL 80.0 // mm NOTE: Must be a positive value.
258 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
259 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
260 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
261 #define DEFAULT_STEPPING_INVERT_MASK 0
262 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<X_AXIS)|(1<<Z_AXIS))
263 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
264 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
265 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
266 #define DEFAULT_ARC_TOLERANCE 0.01 // mm
267 #define DEFAULT_REPORT_INCHES 0 // false
268 #define DEFAULT_INVERT_ST_ENABLE 0 // false
269 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
270 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
271 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
272 #define DEFAULT_INVERT_PROBE_PIN 0 // false
273 #define DEFAULT_LASER_MODE 0 // false
274 #define DEFAULT_HOMING_ENABLE 0 // false
275 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
276 #define DEFAULT_HOMING_FEED_RATE 100.0 // mm/min
277 #define DEFAULT_HOMING_SEEK_RATE 1000.0 // mm/min
278 #define DEFAULT_HOMING_DEBOUNCE_DELAY 25 // msec (0-65k)
279 #define DEFAULT_HOMING_PULLOFF 5.0 // mm
280#endif
281
282#ifdef DEFAULTS_X_CARVE_500MM
283 // Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos
284 // grblShield at 24V.
285 #define MICROSTEPS_XY 8
286 #define STEP_REVS_XY 200
287 #define MM_PER_REV_XY (2.0*20) // 2mm belt pitch, 20 pulley teeth
288 #define MICROSTEPS_Z 2
289 #define STEP_REVS_Z 200
290 #define MM_PER_REV_Z 2.117 // ACME 3/8-12 Leadscrew
291 #define DEFAULT_X_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
292 #define DEFAULT_Y_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
293 #define DEFAULT_Z_STEPS_PER_MM (MICROSTEPS_Z*STEP_REVS_Z/MM_PER_REV_Z)
294 #define DEFAULT_X_MAX_RATE 8000.0 // mm/min
295 #define DEFAULT_Y_MAX_RATE 8000.0 // mm/min
296 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
297 #define DEFAULT_X_ACCELERATION (500.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
298 #define DEFAULT_Y_ACCELERATION (500.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
299 #define DEFAULT_Z_ACCELERATION (50.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
300 #define DEFAULT_X_MAX_TRAVEL 290.0 // mm NOTE: Must be a positive value.
301 #define DEFAULT_Y_MAX_TRAVEL 290.0 // mm NOTE: Must be a positive value.
302 #define DEFAULT_Z_MAX_TRAVEL 100.0 // mm NOTE: Must be a positive value.
303 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
304 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
305 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
306 #define DEFAULT_STEPPING_INVERT_MASK 0
307 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<X_AXIS)|(1<<Y_AXIS))
308 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
309 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
310 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
311 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
312 #define DEFAULT_REPORT_INCHES 0 // false
313 #define DEFAULT_INVERT_ST_ENABLE 0 // false
314 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
315 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
316 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
317 #define DEFAULT_INVERT_PROBE_PIN 0 // false
318 #define DEFAULT_LASER_MODE 0 // false
319 #define DEFAULT_HOMING_ENABLE 0 // false
320 #define DEFAULT_HOMING_DIR_MASK 3 // move positive dir
321 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
322 #define DEFAULT_HOMING_SEEK_RATE 750.0 // mm/min
323 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
324 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
325#endif
326
327#ifdef DEFAULTS_X_CARVE_1000MM
328 // Description: X-Carve 3D Carver CNC mill with three 200 step/rev motors driven by Synthetos
329 // grblShield at 24V.
330 #define MICROSTEPS_XY 8
331 #define STEP_REVS_XY 200
332 #define MM_PER_REV_XY (2.0*20) // 2mm belt pitch, 20 pulley teeth
333 #define MICROSTEPS_Z 2
334 #define STEP_REVS_Z 200
335 #define MM_PER_REV_Z 2.117 // ACME 3/8-12 Leadscrew
336 #define DEFAULT_X_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
337 #define DEFAULT_Y_STEPS_PER_MM (MICROSTEPS_XY*STEP_REVS_XY/MM_PER_REV_XY)
338 #define DEFAULT_Z_STEPS_PER_MM (MICROSTEPS_Z*STEP_REVS_Z/MM_PER_REV_Z)
339 #define DEFAULT_X_MAX_RATE 8000.0 // mm/min
340 #define DEFAULT_Y_MAX_RATE 8000.0 // mm/min
341 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
342 #define DEFAULT_X_ACCELERATION (500.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
343 #define DEFAULT_Y_ACCELERATION (500.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
344 #define DEFAULT_Z_ACCELERATION (50.0*60*60) // 25*60*60 mm/min^2 = 25 mm/sec^2
345 #define DEFAULT_X_MAX_TRAVEL 740.0 // mm NOTE: Must be a positive value.
346 #define DEFAULT_Y_MAX_TRAVEL 790.0 // mm NOTE: Must be a positive value.
347 #define DEFAULT_Z_MAX_TRAVEL 100.0 // mm NOTE: Must be a positive value.
348 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
349 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
350 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
351 #define DEFAULT_STEPPING_INVERT_MASK 0
352 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<X_AXIS)|(1<<Y_AXIS))
353 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 255 // msec (0-254, 255 keeps steppers enabled)
354 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
355 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
356 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
357 #define DEFAULT_REPORT_INCHES 0 // false
358 #define DEFAULT_INVERT_ST_ENABLE 0 // false
359 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
360 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
361 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
362 #define DEFAULT_INVERT_PROBE_PIN 0 // false
363 #define DEFAULT_LASER_MODE 0 // false
364 #define DEFAULT_HOMING_ENABLE 0 // false
365 #define DEFAULT_HOMING_DIR_MASK 3 // move positive dir
366 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
367 #define DEFAULT_HOMING_SEEK_RATE 750.0 // mm/min
368 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
369 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
370#endif
371
372#ifdef DEFAULTS_BOBSCNC_E3
373 // Grbl settings for Bob's CNC E3 Machine
374 // https://www.bobscnc.com/products/e3-cnc-engraving-kit
375 #define DEFAULT_X_STEPS_PER_MM 80.0
376 #define DEFAULT_Y_STEPS_PER_MM 80.0
377 #define DEFAULT_Z_STEPS_PER_MM 2267.717
378 #define DEFAULT_X_MAX_RATE 10000.0 // mm/min
379 #define DEFAULT_Y_MAX_RATE 10000.0 // mm/min
380 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
381 #define DEFAULT_X_ACCELERATION (500.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
382 #define DEFAULT_Y_ACCELERATION (500.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
383 #define DEFAULT_Z_ACCELERATION (300.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
384 #define DEFAULT_X_MAX_TRAVEL 450.0 // mm NOTE: Must be a positive value.
385 #define DEFAULT_Y_MAX_TRAVEL 390.0 // mm NOTE: Must be a positive value.
386 #define DEFAULT_Z_MAX_TRAVEL 85.0 // mm NOTE: Must be a positive value.
387 #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
388 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
389 #define DEFAULT_STEP_PULSE_MICROSECONDS 5
390 #define DEFAULT_STEPPING_INVERT_MASK 0
391 #define DEFAULT_DIRECTION_INVERT_MASK 0
392 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
393 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
394 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
395 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
396 #define DEFAULT_REPORT_INCHES 1 // true
397 #define DEFAULT_INVERT_ST_ENABLE 0 // false
398 #define DEFAULT_INVERT_LIMIT_PINS 1 // true
399 #define DEFAULT_SOFT_LIMIT_ENABLE 1 // true
400 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
401 #define DEFAULT_INVERT_PROBE_PIN 0 // false
402 #define DEFAULT_LASER_MODE 0 // false
403 #define DEFAULT_HOMING_ENABLE 1 // true
404 #define DEFAULT_HOMING_DIR_MASK 3 // move xy -dir, z dir
405 #define DEFAULT_HOMING_FEED_RATE 500.0 // mm/min
406 #define DEFAULT_HOMING_SEEK_RATE 4000.0 // mm/min
407 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
408 #define DEFAULT_HOMING_PULLOFF 5.0 // mm
409#endif
410
411#ifdef DEFAULTS_BOBSCNC_E4
412 // Grbl settings for Bob's CNC E4 Machine
413 // https://www.bobscnc.com/products/e4-cnc-router
414 #define DEFAULT_X_STEPS_PER_MM 80.0
415 #define DEFAULT_Y_STEPS_PER_MM 80.0
416 #define DEFAULT_Z_STEPS_PER_MM 2267.717
417 #define DEFAULT_X_MAX_RATE 10000.0 // mm/min
418 #define DEFAULT_Y_MAX_RATE 10000.0 // mm/min
419 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
420 #define DEFAULT_X_ACCELERATION (500.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
421 #define DEFAULT_Y_ACCELERATION (500.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
422 #define DEFAULT_Z_ACCELERATION (300.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
423 #define DEFAULT_X_MAX_TRAVEL 610.0 // mm NOTE: Must be a positive value.
424 #define DEFAULT_Y_MAX_TRAVEL 610.0 // mm NOTE: Must be a positive value.
425 #define DEFAULT_Z_MAX_TRAVEL 85.0 // mm NOTE: Must be a positive value.
426 #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
427 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
428 #define DEFAULT_STEP_PULSE_MICROSECONDS 5
429 #define DEFAULT_STEPPING_INVERT_MASK 0
430 #define DEFAULT_DIRECTION_INVERT_MASK 0
431 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
432 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
433 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
434 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
435 #define DEFAULT_REPORT_INCHES 1 // true
436 #define DEFAULT_INVERT_ST_ENABLE 0 // false
437 #define DEFAULT_INVERT_LIMIT_PINS 1 // true
438 #define DEFAULT_SOFT_LIMIT_ENABLE 1 // true
439 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
440 #define DEFAULT_INVERT_PROBE_PIN 0 // false
441 #define DEFAULT_LASER_MODE 0 // false
442 #define DEFAULT_HOMING_ENABLE 1 // true
443 #define DEFAULT_HOMING_DIR_MASK 3 // move xy -dir, z dir
444 #define DEFAULT_HOMING_FEED_RATE 500.0 // mm/min
445 #define DEFAULT_HOMING_SEEK_RATE 4000.0 // mm/min
446 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
447 #define DEFAULT_HOMING_PULLOFF 5.0 // mm
448#endif
449
450#ifdef DEFAULTS_ZEN_TOOLWORKS_7x7
451 // Description: Zen Toolworks 7x7 mill with three Shinano SST43D2121 65oz-in NEMA 17 stepper motors.
452 // Leadscrew is different from some ZTW kits, where most are 1.25mm/rev rather than 8.0mm/rev here.
453 // Driven by 30V, 6A power supply and TI DRV8811 stepper motor drivers.
454 #define MICROSTEPS 8
455 #define STEPS_PER_REV 200.0
456 #define MM_PER_REV 8.0 // 8 mm/rev leadscrew
457 #define DEFAULT_X_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
458 #define DEFAULT_Y_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
459 #define DEFAULT_Z_STEPS_PER_MM (STEPS_PER_REV*MICROSTEPS/MM_PER_REV)
460 #define DEFAULT_X_MAX_RATE 6000.0 // mm/min
461 #define DEFAULT_Y_MAX_RATE 6000.0 // mm/min
462 #define DEFAULT_Z_MAX_RATE 6000.0 // mm/min
463 #define DEFAULT_X_ACCELERATION (600.0*60*60) // 600*60*60 mm/min^2 = 600 mm/sec^2
464 #define DEFAULT_Y_ACCELERATION (600.0*60*60) // 600*60*60 mm/min^2 = 600 mm/sec^2
465 #define DEFAULT_Z_ACCELERATION (600.0*60*60) // 600*60*60 mm/min^2 = 600 mm/sec^2
466 #define DEFAULT_X_MAX_TRAVEL 190.0 // mm NOTE: Must be a positive value.
467 #define DEFAULT_Y_MAX_TRAVEL 180.0 // mm NOTE: Must be a positive value.
468 #define DEFAULT_Z_MAX_TRAVEL 150.0 // mm NOTE: Must be a positive value.
469 #define DEFAULT_SPINDLE_RPM_MAX 10000.0 // rpm
470 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
471 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
472 #define DEFAULT_STEPPING_INVERT_MASK 0
473 #define DEFAULT_DIRECTION_INVERT_MASK ((1<<Y_AXIS))
474 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
475 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
476 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
477 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
478 #define DEFAULT_REPORT_INCHES 0 // false
479 #define DEFAULT_INVERT_ST_ENABLE 0 // false
480 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
481 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
482 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
483 #define DEFAULT_INVERT_PROBE_PIN 0 // false
484 #define DEFAULT_LASER_MODE 0 // false
485 #define DEFAULT_HOMING_ENABLE 0 // false
486 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
487 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
488 #define DEFAULT_HOMING_SEEK_RATE 250.0 // mm/min
489 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
490 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
491#endif
492
493#ifdef DEFAULTS_OXCNC
494 // Grbl settings for OpenBuilds OX CNC Machine
495 // http://www.openbuilds.com/builds/openbuilds-ox-cnc-machine.341/
496 #define DEFAULT_X_STEPS_PER_MM 26.670
497 #define DEFAULT_Y_STEPS_PER_MM 26.670
498 #define DEFAULT_Z_STEPS_PER_MM 50
499 #define DEFAULT_X_MAX_RATE 500.0 // mm/min
500 #define DEFAULT_Y_MAX_RATE 500.0 // mm/min
501 #define DEFAULT_Z_MAX_RATE 500.0 // mm/min
502 #define DEFAULT_X_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
503 #define DEFAULT_Y_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
504 #define DEFAULT_Z_ACCELERATION (10.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
505 #define DEFAULT_X_MAX_TRAVEL 500.0 // mm NOTE: Must be a positive value.
506 #define DEFAULT_Y_MAX_TRAVEL 750.0 // mm NOTE: Must be a positive value.
507 #define DEFAULT_Z_MAX_TRAVEL 80.0 // mm NOTE: Must be a positive value.
508 #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
509 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
510 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
511 #define DEFAULT_STEPPING_INVERT_MASK 0
512 #define DEFAULT_DIRECTION_INVERT_MASK 0
513 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
514 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
515 #define DEFAULT_JUNCTION_DEVIATION 0.02 // mm
516 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
517 #define DEFAULT_REPORT_INCHES 0 // false
518 #define DEFAULT_INVERT_ST_ENABLE 0 // false
519 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
520 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
521 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
522 #define DEFAULT_INVERT_PROBE_PIN 0 // false
523 #define DEFAULT_LASER_MODE 0 // false
524 #define DEFAULT_HOMING_ENABLE 0 // false
525 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
526 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
527 #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
528 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
529 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
530#endif
531
532#ifdef DEFAULTS_SIMULATOR
533 // Settings only for Grbl Simulator (www.github.com/grbl/grbl-sim)
534 // Grbl generic default settings. Should work across different machines.
535 #define DEFAULT_X_STEPS_PER_MM 1000.0
536 #define DEFAULT_Y_STEPS_PER_MM 1000.0
537 #define DEFAULT_Z_STEPS_PER_MM 1000.0
538 #define DEFAULT_X_MAX_RATE 1000.0 // mm/min
539 #define DEFAULT_Y_MAX_RATE 1000.0 // mm/min
540 #define DEFAULT_Z_MAX_RATE 1000.0 // mm/min
541 #define DEFAULT_X_ACCELERATION (100.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
542 #define DEFAULT_Y_ACCELERATION (100.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
543 #define DEFAULT_Z_ACCELERATION (100.0*60*60) // 10*60*60 mm/min^2 = 10 mm/sec^2
544 #define DEFAULT_X_MAX_TRAVEL 1000.0 // mm NOTE: Must be a positive value.
545 #define DEFAULT_Y_MAX_TRAVEL 1000.0 // mm NOTE: Must be a positive value.
546 #define DEFAULT_Z_MAX_TRAVEL 1000.0 // mm NOTE: Must be a positive value.
547 #define DEFAULT_SPINDLE_RPM_MAX 1000.0 // rpm
548 #define DEFAULT_SPINDLE_RPM_MIN 0.0 // rpm
549 #define DEFAULT_STEP_PULSE_MICROSECONDS 10
550 #define DEFAULT_STEPPING_INVERT_MASK 0
551 #define DEFAULT_DIRECTION_INVERT_MASK 0
552 #define DEFAULT_STEPPER_IDLE_LOCK_TIME 25 // msec (0-254, 255 keeps steppers enabled)
553 #define DEFAULT_STATUS_REPORT_MASK 1 // MPos enabled
554 #define DEFAULT_JUNCTION_DEVIATION 0.01 // mm
555 #define DEFAULT_ARC_TOLERANCE 0.002 // mm
556 #define DEFAULT_REPORT_INCHES 0 // false
557 #define DEFAULT_INVERT_ST_ENABLE 0 // false
558 #define DEFAULT_INVERT_LIMIT_PINS 0 // false
559 #define DEFAULT_SOFT_LIMIT_ENABLE 0 // false
560 #define DEFAULT_HARD_LIMIT_ENABLE 0 // false
561 #define DEFAULT_INVERT_PROBE_PIN 0 // false
562 #define DEFAULT_LASER_MODE 0 // false
563 #define DEFAULT_HOMING_ENABLE 0 // false
564 #define DEFAULT_HOMING_DIR_MASK 0 // move positive dir
565 #define DEFAULT_HOMING_FEED_RATE 25.0 // mm/min
566 #define DEFAULT_HOMING_SEEK_RATE 500.0 // mm/min
567 #define DEFAULT_HOMING_DEBOUNCE_DELAY 250 // msec (0-65k)
568 #define DEFAULT_HOMING_PULLOFF 1.0 // mm
569#endif
570
571#endif