How to use extruder with endstop

My system description

  • I am using smoothie board for liquid handling which requires 3axis for positioning. Smoothie can control 2 more steppers(extruder motors) along with 3 axis so my application requires one stepper which is to be taken to zero first after that certain movement given to it so that it can suck certain amount of water according to rotation.

I need support regarding this , how to use the extruder motor(delta) with an endstop.
Do i need some change in firmware ? If so please suggest how to do that?

Looks like you want to use the 6axis build/feature, check out 6axis [smoothieware.org]

hi arthur,
can u please check the config file im sharing below, i have compiled smoothiware for AXIS=4 CNC=1 and renamed the main.bin file to FIRMWARE.bin and modified config file but while trying out i have noticed that normal movements can be done using pronterface but homing sequence is not working, endstops not working

#Basic motion configuration
default_feed_rate                            4000             # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate                            2000             # Default speed (mm/minute) for G0 moves
mm_per_arc_segment                           0.0              # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment                         5                # Cut lines into segments this size
mm_max_arc_error                             0.01             # The maximum error for line segments that divide arcs 0 to disable
                                                              # note it is invalid for both the above be 0
                                                              # if both are used, will use largest segment length based on radius

#Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions

alpha_steps_per_mm                           160	      # Steps per mm for alpha ( X ) stepper
<!--# 797 for 2 axis system1-->
beta_steps_per_mm                            160              # Steps per mm for beta ( Y ) stepper
<!-- # 797 for 2 axis system1-->
gamma_steps_per_mm                           100             # Steps per mm for gamma ( Z ) stepper

#Planner module configuration : Look-ahead and acceleration configuration

acceleration                                 2000             # Acceleration in mm/second/second.
z_acceleration                               300              # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
junction_deviation                           0.05             # See 
#z_junction_deviation                        0.0              # For Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA

#Cartesian axis speed limits
x_axis_max_speed                             30000            # Maximum speed in mm/min
y_axis_max_speed                             30000            # Maximum speed in mm/min
z_axis_max_speed                             3000             # Maximum speed in mm/min

#Stepper module configuration
#Pins are defined as  ports, and pin numbers, appending "!" to the number will invert a pin

alpha_step_pin                               2.0         # Pin for alpha stepper step signal
alpha_dir_pin                                0.5          # Pin for alpha stepper direction, add '!' to reverse direction
alpha_en_pin                                 0.4           # Pin for alpha enable pin
alpha_current                                0.5           # X stepper motor current
alpha_max_rate                               30000.0          # Maximum rate in mm/min

beta_step_pin                                2.1          # Pin for beta stepper step signal
beta_dir_pin                                 0.11          # Pin for beta stepper direction, add '!' to reverse direction
beta_en_pin                                  0.10             # Pin for beta enable
beta_current                                 0.5              # Y stepper motor current
beta_max_rate                                30000.0          # Maxmimum rate in mm/min

gamma_step_pin                               2.2              # Pin for gamma stepper step signal
gamma_dir_pin                                0.20             # Pin for gamma stepper direction, add '!' to reverse direction
gamma_en_pin                                 0.19             # Pin for gamma enable
gamma_current                                0.5              # Z stepper motor current
gamma_max_rate                               30000.0            # Maximum rate in mm/min

delta_steps_per_mm               	         140           # Steps per mm for extruder stepper
delta_default_feed_rate                          600           # Default rate ( mm/minute ) for moves where only the extruder moves
delta_acceleration                               500           # Acceleration for the stepper motor mm/sec²
delta_max_speed                                  300            # Maximum speed in mm/s

delta_step_pin                                   2.3           # Pin for extruder step signal
delta_dir_pin                                    0.22          # Pin for extruder dir signal ( add '!' to reverse direction )
delta_en_pin                                     0.21          # Pin for extruder enable signal
delta_current                                    0.5          # First extruder stepper motor current



#Firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults
#extruder.hotend.retract_length                  3            # Retract length in mm
#extruder.hotend.retract_feedrate                45           # Retract feedrate in mm/sec
#extruder.hotend.retract_recover_length          0            # Additional length for recover
#extruder.hotend.retract_recover_feedrate        8            # Recover feedrate in mm/sec (should be less than retract feedrate)
#extruder.hotend.retract_zlift_length            0            # Z-lift on retract in mm, 0 disables
#extruder.hotend.retract_zlift_feedrate          6000         # Z-lift feedrate in mm/min (Note mm/min NOT mm/sec)


#Second extruder module configuration
#extruder.hotend2.enable                         false         # Whether to activate the extruder module at all. All configuration is ignored if false
#extruder.hotend2.steps_per_mm                   140          # Steps per mm for extruder stepper
#extruder.hotend2.default_feed_rate              600          # Default rate ( mm/minute ) for moves where only the extruder moves
#extruder.hotend2.acceleration                   500          # Acceleration for the stepper motor, as of 0.6, arbitrary ratio
#extruder.hotend2.max_speed                      50           # mm/s

#extruder.hotend2.step_pin                       2.8          # Pin for extruder step signal
#extruder.hotend2.dir_pin                        2.13         # Pin for extruder dir signal ( add '!' to reverse direction )
#extruder.hotend2.en_pin                         4.29         # Pin for extruder enable signal

#extruder.hotend2.x_offset                       0            # x offset from origin in mm
#extruder.hotend2.y_offset                       25.0         # y offset from origin in mm
#extruder.hotend2.z_offset                       0            # z offset from origin in mm

#epsilon_current                                 0.5          # Second extruder stepper motor current


##Laser module configuration
laser_module_enable                           false           # Whether to activate the laser module at all
laser_module_pwm_pin                          2.5             # This pin will be PWMed to control the laser.
                                                              # Only pins 2.0, 2.1, 2.2, 2.3, 2.4, 2.5, 1.18, 1.20, 1.21, 1.23, 1.24, 1.26, 3.25 and 3.26
                                                              # can be used since laser requires hardware PWM, see 
#laser_module_ttl_pin 	                      1.30            # This pin turns on when the laser turns on, and off when the laser turns off.
#laser_module_maximum_power                   1.0             # This is the maximum duty cycle that will be applied to the laser
#laser_module_minimum_power                   0.0             # This is a value just below the minimum duty cycle that keeps the laser
                                                              # active without actually burning.
#laser_module_default_power                   0.8             # This is the default laser power that will be used for cuts if a power has not been specified.  The value is a scale between
                                                              # the maximum and minimum power levels specified above
#laser_module_pwm_period                      20              # This sets the pwm frequency as the period in microseconds

##Temperature control configuration


#First hotend configuration
temperature_control.hotend.enable            false             # Whether to activate this ( "hotend" ) module at all.
temperature_control.hotend.thermistor_pin    0.23             # Pin for the thermistor to read
temperature_control.hotend.heater_pin        2.7              # Pin that controls the heater, set to nc if a readonly thermistor is being defined
temperature_control.hotend.thermistor        EPCOS100K        # See 
#temperature_control.hotend.beta             4066             # Or set the beta value
temperature_control.hotend.set_m_code        104              # M-code to set the temperature for this module
temperature_control.hotend.set_and_wait_m_code 109            # M-code to set-and-wait for this module
temperature_control.hotend.designator        T                # Designator letter for this module
#temperature_control.hotend.max_temp         300              # Set maximum temperature - Will prevent heating above 300 by default
#temperature_control.hotend.min_temp         0                # Set minimum temperature - Will prevent heating below if set

#Safety control is enabled by default and can be overidden here, the values show the defaults

#temperature_control.hotend.runaway_heating_timeout      900  # How long it can take to heat up, max is 2040 seconds.
#temperature_control.hotend.runaway_cooling_timeout        0  # How long it can take to cool down if temp is set lower, max is 2040 seconds
#temperature_control.hotend.runaway_range                20   # How far from the set temperature it can wander, max setting is 63°C

#PID configuration

#temperature_control.hotend.p_factor         13.7             # P ( proportional ) factor
#temperature_control.hotend.i_factor         0.097            # I ( integral ) factor
#temperature_control.hotend.d_factor         24               # D ( derivative ) factor

#temperature_control.hotend.max_pwm          64               # Max pwm, 64 is a good value if driving a 12v resistor with 24v.

#Second hotend configuration
#temperature_control.hotend2.enable            false           # Whether to activate this ( "hotend" ) module at all.
#temperature_control.hotend2.thermistor_pin    0.25           # Pin for the thermistor to read
#temperature_control.hotend2.heater_pin        1.23           # Pin that controls the heater
#temperature_control.hotend2.thermistor        EPCOS100K    
#thermistor
##temperature_control.hotend2.beta             4066           # or set the beta value
#temperature_control.hotend2.set_m_code        104            # M-code to set the temperature for this module
#temperature_control.hotend2.set_and_wait_m_code 109          # M-code to set-and-wait for this module
#temperature_control.hotend2.designator        T1             # Designator letter for this module

#temperature_control.hotend2.p_factor          13.7           # P ( proportional ) factor
#temperature_control.hotend2.i_factor          0.097          # I ( integral ) factor
#temperature_control.hotend2.d_factor          24             # D ( derivative ) factor

#temperature_control.hotend2.max_pwm          64              # Max pwm, 64 is a good value if driving a 12v resistor with 24v.

temperature_control.bed.enable               false	      # Whether to activate this ( "hotend" ) module at all.
temperature_control.bed.thermistor_pin       0.24             # Pin for the thermistor to read
temperature_control.bed.heater_pin           2.5              # Pin that controls the heater
temperature_control.bed.thermistor           Honeywell100K    # See 
#temperature_control.bed.beta                3974             # Or set the beta value
temperature_control.bed.set_m_code           140              # M-code to set the temperature for this module
temperature_control.bed.set_and_wait_m_code  190              # M-code to set-and-wait for this module
temperature_control.bed.designator           B                # Designator letter for this module

#Bang-bang ( simplified ) control

#temperature_control.bed.bang_bang           false            # Set to true to use bang bang control rather than PID
#temperature_control.bed.hysteresis          2.0              # Set to the temperature in degrees C to use as hysteresis

##Switch modules


#Switch module for fan control
switch.fan.enable                            true	      # Enable this module
switch.fan.input_on_command                  M106             # Command that will turn this switch on
switch.fan.input_off_command                 M107             # Command that will turn this switch off
switch.fan.output_pin                        2.6              # Pin this module controls
switch.fan.output_type                       digital              # PWM output settable with S parameter in the input_on_comand
#switch.fan.max_pwm                          255              # Set max pwm for the pin default is 255

switch.misc.enable                          true             # Enable this module
switch.misc.input_on_command                M42              # Command that will turn this switch on
switch.misc.input_off_command               M43              # Command that will turn this switch off
switch.misc.output_pin                      2.4              # Pin this module controls
switch.misc.output_type                     digital          # Digital means this is just an on or off pin

#switch.bltouch.enable                    true         #
#switch.bltouch.output_pin                2.4          # sw pwm can use any digital pin
#switch.bltouch.input_on_command          M280         #
#switch.bltouch.input_off_command         M281         #
#switch.bltouch.output_type               swpwm        # sw pwm must be low frequency
#switch.bltouch.pwm_period_ms             20           # 50Hz
#switch.bltouch.startup_state             false        # start up in the stow state
#switch.bltouch.startup_value             7.43         # On boot it will go into stow mode, also set with the M281
#switch.bltouch.default_on_value          3.3          # if M280 is issued without S this is the value it will set it to

#Switch module for servo control using S/W PWM
switch.servo.enable                            true             # Enable this module
switch.servo.input_on_command                  M280             # M280 S7.5 would be midway
switch.servo.input_off_command                 M281             # Same as M280 S0 0% duty cycle, effectively off
switch.servo.output_pin                        3.25             # May be any spare pin
switch.servo.output_type                       swpwm            # Software pwm output settable with S parameter in the input_on_command
switch.servo.pwm_period_ms                    20               # set period to 20ms (50Hz) default is 50Hz
#switch.servo.startup_state                    false            # false uses startup_value on boot true uses default_on_value
#switch.servo.startup_value                    7.43             # On boot and HALT it will set this PWM value
#switch.servo.default_on_value                 3.3              # This PWM value will be set if M280 doe snot have an S parameter, it is also the value used if startup_state is true


##Temperatureswitch

#Automatically toggle a switch at a specified temperature. Different ones of these may be defined to monitor different temperatures and switch different swithxes
#Useful to turn on a fan or water pump to cool the hotend
#temperatureswitch.hotend.enable              true            #
#temperatureswitch.hotend.designator          T               # first character of the temperature control designator to use as the temperature sensor to monitor
#temperatureswitch.hotend.switch              misc            # select which switch to use, matches the name of the defined switch
#temperatureswitch.hotend.threshold_temp      60.0            # temperature to turn on (if rising) or off the switch
#temperatureswitch.hotend.heatup_poll         15              # poll heatup at 15 sec intervals
#temperatureswitch.hotend.cooldown_poll       60              # poll cooldown at 60 sec intervals

##Old Endstops config
endstops_enable                              true             # The endstop module is enabled by default and can be disabled here
#corexy_homing                               true            # Set to true if homing on a hbot or corexy
#alpha_min_endstop                            1.24^            # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#alpha_max_endstop                           1.25^            # Pin to read max endstop, uncomment this and comment the above if using max endstops
#alpha_homing_direction                       home_to_min      # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
#alpha_min                                    0                # This gets loaded as the current position after homing when home_to_min is set
#alpha_max                                    200              # This gets loaded as the current position after homing when home_to_max is set

#beta_min_endstop                             1.26^            # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#beta_max_endstop                            1.27^             # Pin to read max endstop, uncomment this and comment the above if using max endstops
#beta_homing_direction                        home_to_min      # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
#beta_min                                     0                # This gets loaded as the current position after homing when home_to_min is set
#beta_max                                     200              # This gets loaded as the current position after homing when home_to_max is set

#gamma_min_endstop                            1.28^           # Pin to read min endstop, add a ! to invert if endstop is NO connected to ground
#gamma_max_endstop                           1.29^            # Pin to read max endstop, uncomment this and comment the above if using max endstops
#gamma_homing_direction                      home_to_min      # Or set to home_to_max and set alpha_max and uncomment the alpha_max_endstop
#gamma_min                                    0               # This gets loaded as the current position after homing when home_to_min is set
#gamma_max                                    245             # This gets loaded as the current position after homing when home_to_max is set

#alpha_max_travel                             250             # Max travel in mm for alpha/X axis when homing
#for 2 axis system x=162
#beta_max_travel                              210              # Max travel in mm for beta/Y axis when homing
#for 2 axis system y=223
#gamma_max_travel                             200              # Max travel in mm for gamma/Z axis when homing

#Optional enable limit switches, actions will stop if any enabled limit switch is triggered
#alpha_limit_enable                          true	# Set to true to enable X min and max limit switches
#beta_limit_enable                           true 	# Set to true to enable Y min and max limit switches
#gamma_limit_enable                          true	# Set to true to enable Z min and max limit switches

#Endstops home at their fast feedrate first, then once the endstop is found they home again at their slow feedrate for accuracy
#alpha_fast_homing_rate_mm_s                  25               # Alpha/X fast homing feedrate in mm/second
#alpha_slow_homing_rate_mm_s                  10               # Alpha/X slow homing feedrate in mm/second
#beta_fast_homing_rate_mm_s                   25               # Beta/Y  fast homing feedrate in mm/second
#beta_slow_homing_rate_mm_s                   10               # Beta/Y  slow homing feedrate in mm/second
#gamma_fast_homing_rate_mm_s                  7                # Gamma/Z fast homing feedrate in mm/second
#gamma_slow_homing_rate_mm_s                  5               # Gamma/Z slow homing feedrate in mm/second

#alpha_homing_retract_mm                      1                # Distance to retract from the endstop after it is hit for alpha/X
#beta_homing_retract_mm                       1                # Distance to retract from the endstop after it is hit for beta/Y
#gamma_homing_retract_mm                      1                # Distance to retract from the endstop after it is hit for gamma/Z

#Optional order in which axis will home, default is they all home at the same time,
#If this is set it will force each axis to home one at a time in the specified order
homing_order                                 XYZ              #  axis followed by Y then Z last
#move_to_origin_after_home                    true            # Move XY to 0,0 after homing
#endstop_debounce_count                       100              # Uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms                          1                # Uncomment if you get noise on your endstops, default is 1 millisecond debounce
#End of endstop config
#home_z_first                                 true             # Uncomment and set to true to home the Z first, otherwise Z homes after XY

#--------------------------------------------------New Endstop syntaxes----------------------------------------------------------------------------------------------------

##Endstops new syntax (the name is not significant)
#NOTE only a min or a max homing endstop maybe defined
endstop.minx.enable                          true             # enable an endstop
endstop.minx.pin                             1.24^             # pin
endstop.minx.homing_direction                home_to_min      # direction it moves to the endstop
endstop.minx.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.minx.axis                            X                # the axis designator
endstop.minx.max_travel                      250              # the maximum travel in mm before it times out
endstop.minx.fast_rate                       25               # fast homing rate in mm/sec
endstop.minx.slow_rate                       10               # slow homing rate in mm/sec
endstop.minx.retract                         1                # bounce off endstop in mm

#uncomment for homing to max and comment the minx above
endstop.maxx.enable                          false             # enable an endstop
#endstop.maxx.pin                             1.25^             # pin
#endstop.maxx.homing_direction                home_to_max      # direction it moves to the endstop
#endstop.maxx.homing_position                 200              # the cartesian coordinate this is set to when it homes
#endstop.maxx.axis                            X                # the axis designator
#endstop.maxx.max_travel                      250              # the maximum travel in mm before it times out
#endstop.maxx.fast_rate                       25               # fast homing rate in mm/sec
#endstop.maxx.slow_rate                       10               # slow homing rate in mm/sec
#endstop.maxx.retract                         1                # bounce off endstop in mm

endstop.miny.enable                          true             # enable an endstop
endstop.miny.pin                             1.26^             # pin
endstop.miny.homing_direction                home_to_min      # direction it moves to the endstop
endstop.miny.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.miny.axis                            Y                # the axis designator
endstop.miny.max_travel                      250              # the maximum travel in mm before it times out
endstop.miny.fast_rate                       25               # fast homing rate in mm/sec
endstop.miny.slow_rate                       10               # slow homing rate in mm/sec
endstop.miny.retract                         1                # bounce off endstop in mm

#uncomment for homing to max and comment the min above
endstop.maxy.enable                          false            # enable an endstop
#endstop.maxy.pin                             1.27^             # pin
#endstop.maxy.homing_direction                home_to_max      # direction it moves to the endstop
#endstop.maxy.homing_position                 200              # the cartesian coordinate this is set to when it homes
#endstop.maxy.axis                            Y                # the axis designator
#endstop.maxy.max_travel                      250              # the maximum travel in mm before it times out
#endstop.maxy.fast_rate                       25               # fast homing rate in mm/sec
#endstop.maxy.slow_rate                       10               # slow homing rate in mm/sec
#endstop.maxy.retract                         1                # bounce off endstop in mm

endstop.minz.enable                          false             # enable an endstop
#endstop.minz.pin                             1.28^            # pin
#endstop.minz.homing_direction                home_to_min      # direction it moves to the endstop
#endstop.minz.homing_position                 0                # the cartesian coordinate this is set to when it homes
#endstop.minz.axis                            Z                # the axis designator
#endstop.minz.max_travel                      100              # the maximum travel in mm before it times out
#endstop.minz.fast_rate                       7                # fast homing rate in mm/sec
#endstop.minz.slow_rate                       5                # slow homing rate in mm/sec
#endstop.minz.retract                         1                # bounce off endstop in mm

#uncomment for homing to max and comment the min above
endstop.maxz.enable                          false            # enable an endstop
endstop.maxz.pin                             1.29^            # pin
endstop.maxz.homing_direction                home_to_max      # direction it moves to the endstop
endstop.maxz.homing_position                 100              # the cartesian coordinate this is set to when it homes
endstop.maxz.axis                            Z                # the axis designator
endstop.maxz.max_travel                      100              # the maximum travel in mm before it times out
endstop.maxz.fast_rate                       7                # fast homing rate in mm/sec
endstop.maxz.slow_rate                       5                # slow homing rate in mm/sec
endstop.maxz.retract                         1                # bounce off endstop in mm

#optional enable limit switches, actions will stop if any enabled limit switch is triggered
endstop.minx.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.miny.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.maxz.limit_enable                   false            # set to true to enable the limit on this endstop

#also define the pin needed and the Axis designator if limit on a max pin not defined above
#endstop.maxx.enable                          true              # enable an endstop
#endstop.maxx.pin                             1.25^             # pin
#endstop.maxx.limit_enable                    true              # set to true to enable the limit on this endstop
#endstop.maxx.axis                            X                 # the axis designator

#OPTIONAL uncomment for homing the A axis to min
endstop.mina.enable                          false		# enable an endstop
endstop.mina.pin                             1.28^              # pin
endstop.mina.homing_direction                home_to_min        # direction it moves to the endstop
endstop.mina.homing_position                 0                  # the cartesian coordinate this is set to when it homes
endstop.mina.axis                            A                  # the axis designator
endstop.mina.max_travel                      100                # the maximum travel in mm before it times out
endstop.mina.fast_rate                       7                  # fast homing rate in mm/sec
endstop.mina.slow_rate                       5                  # slow homing rate in mm/sec
endstop.mina.retract                         1                  # bounce off endstop in mm

#type of machine
corexy_homing                               true            # set to true if homing on a hbot or corexy

#optional order in which axis will home, default is they all home at the same time,
#if this is set it will force each axis to home one at a time in the specified order
homing_order                                 XYZ              # x axis followed by y then z last
#move_to_origin_after_home                    false            # move XY to 0,0 after homing
#endstop_debounce_count                       100              # uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms                          1                # uncomment if you get noise on your endstops, default is 1 millisecond debounce
#home_z_first true # uncomment and set to true to home the Z first, otherwise Z homes after XY
#Delete the above endstop section and uncomment next line and copy and edit Snippets/abc-endstop.config file to enable endstops for ABC axis
#include abc-endstop.config

##Z-probe
zprobe.enable                                false           # Set to true to enable a zprobe
zprobe.probe_pin                             1.28!^          # Pin probe is attached to, if NC remove the !
zprobe.slow_feedrate                         5               # Mm/sec probe feed rate
#zprobe.debounce_ms                          1               # Set if noisy
zprobe.fast_feedrate                         100             # Move feedrate mm/sec
zprobe.probe_height                          5               # How much above bed to start probe
#gamma_min_endstop                           nc              # Normally 1.28. Change to nc to prevent conflict,

#Levelling strategy
#Example for 3-point levelling strategy, see wiki documentation for other strategies
#leveling-strategy.three-point-leveling.enable         true        # a leveling strategy that probes three points to define a plane and keeps the Z parallel to that plane
#leveling-strategy.three-point-leveling.point1         100.0,0.0   # the first probe point (x,y) optional may be defined with M557
#leveling-strategy.three-point-leveling.point2         200.0,200.0 # the second probe point (x,y)
#leveling-strategy.three-point-leveling.point3         0.0,200.0   # the third probe point (x,y)
#leveling-strategy.three-point-leveling.home_first     true        # home the XY axis before probing
#leveling-strategy.three-point-leveling.tolerance      0.03        # the probe tolerance in mm, anything less that this will be ignored, default is 0.03mm
#leveling-strategy.three-point-leveling.probe_offsets  0,0,0       # the probe offsets from nozzle, must be x,y,z, default is no offset
#leveling-strategy.three-point-leveling.save_plane     false       # set to true to allow the bed plane to be saved with M500 default is false

##Panel
#Please find your panel on the wiki and copy/paste the right configuration here
panel.enable                                 false             # Set to true to enable the panel code

#Example for reprap discount GLCD
#on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
#+5v is EXP1 pin 10, Gnd is EXP1 pin 9
#panel.lcd                                   reprap_discount_glcd     #
#panel.spi_channel                           0                 # SPI channel to use  ; GLCD EXP1 Pins 3,5 (MOSI, SCLK)
#panel.spi_cs_pin                            0.16              # SPI chip select     ; GLCD EXP1 Pin 4
#panel.encoder_a_pin                         3.25!^            # Encoder pin         ; GLCD EXP2 Pin 3
#panel.encoder_b_pin                         3.26!^            # Encoder pin         ; GLCD EXP2 Pin 5
#panel.click_button_pin                      1.30!^            # Click button        ; GLCD EXP1 Pin 2
#panel.buzz_pin                              1.31              # Pin for buzzer      ; GLCD EXP1 Pin 1
#panel.back_button_pin                       2.11!^            # Back button         ; GLCD EXP2 Pin 8

panel.menu_offset                            0                 # Some panels will need 1 here

panel.alpha_jog_feedrate                     6000              # X jogging feedrate in mm/min
panel.beta_jog_feedrate                      6000              # Y jogging feedrate in mm/min
panel.gamma_jog_feedrate                     200               # Z jogging feedrate in mm/min

panel.hotend_temperature                     185               # Temp to set hotend when preheat is selected
panel.bed_temperature                        60                # Temp to set bed when preheat is selected

##Custom menus : Example of a custom menu entry, which will show up in the Custom entry.
#NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable                true              #
custom_menu.power_on.name                  Power_on          #
custom_menu.power_on.command               M80               #

custom_menu.power_off.enable               true              #
custom_menu.power_off.name                 Power_off         #
custom_menu.power_off.command              M81               #


##Network settings
network.enable                               false            # Enable the ethernet network services
network.webserver.enable                     true             # Enable the webserver
network.telnet.enable                        true             # Enable the telnet server
network.ip_address                           dhcp             # Use dhcp to get ip address
#Uncomment the 3 below to manually setup ip address
network.ip_address                           192.168.3.222   # The IP address
network.ip_mask                              255.255.255.0   # The ip mask
network.ip_gateway                           192.168.3.1     # The gateway address
#network.mac_override                         xx.xx.xx.xx.xx.xx  # Override the mac address, only do this if you have a conflict

##System configuration
#Serial communications configuration ( baud rate defaults to 9600 if undefined )
#For communication over the UART port, *not* the USB/Serial port
uart0.baud_rate                              115200           # Baud rate for the default hardware ( UART ) serial port

second_usb_serial_enable                     false            # This enables a second USB serial port
#leds_disable                                true             # Disable using leds after config loaded
#play_led_disable                            true             # Disable the play led

#Kill button maybe assigned to a different pin, set to the onboard pin by default

kill_button_enable                           true             # Set to true to enable a kill button
kill_button_pin                              2.12             # Kill button pin. default is same as pause button 2.12 (2.11 is another good choice)

#msd_disable                                 false            # Disable the MSD (USB SDCARD), see 
#dfu_enable                                  false            # For linux developers, set to true to enable DFU

#Only needed on a smoothieboard

currentcontrol_module_enable                 true             # Control stepper motor current via the configuration file

Hi @Arthur_Wolf
i have tried passing the G1 commands for XYZA axes from pronterface and they moved pretty fine, but homing sequence is not respondig and endstrops are not getting detected till now, please suggest what to do

isn’t it supposed to be firmware.bin and not FIRMWARE.bin?

I also noticed you didn’t enable Z endstop nor A axis endstop which is strange since I thought you wanted more than just X and Y endstops.

Use M119 to determine what’s going on with the endstops.

Also, start from the example config file and change the STRICT minimum you need to change to have it work the way you need, no HTML-style comments, no extra sections/if there are entire blocks that are commented out just remove them.

@Arthur_Wolf
I’ve modified the config file and also tested endstops by manually pressing them and the response to the M119 was correct
I’m also attaching the config file please check it once and suggest why the homing is not working but G1 commands working fine

# Basic motion configuration
default_feed_rate                            3000             # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate                            2000             # Default speed (mm/minute) for G0 moves
mm_per_arc_segment                           0.0              # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment                         5                # Cut lines into segments this size
mm_max_arc_error                             0.01             # The maximum error for line segments that divide arcs 0 to disable
                                                              # note it is invalid for both the above be 0
                                                              # if both are used, will use largest segment length based on radius

# Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm                           160	      # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm                            160              # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm                           1600             # Steps per mm for gamma ( Z ) stepper

# Planner module configuration : Look-ahead and acceleration configuration
acceleration                                 2000             # Acceleration in mm/second/second.
z_acceleration                               400              # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
junction_deviation                           0.05             # Se
#z_junction_deviation                        0.0              # For Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA

# Cartesian axis speed limits
x_axis_max_speed                             30000            # Maximum speed in mm/min
y_axis_max_speed                             30000            # Maximum speed in mm/min
z_axis_max_speed                             30000             # Maximum speed in mm/min

# Stepper module configuration
# Pins are defined as  ports, and pin numbers, appending "!" to the number will invert a pin
alpha_step_pin                               2.0              # Pin for alpha stepper step signal
alpha_dir_pin                                0.5              # Pin for alpha stepper direction, add '!' to reverse direction
alpha_en_pin                                 0.4              # Pin for alpha enable pin
alpha_current                                0.5              # X stepper motor current
alpha_max_rate                               30000.0          # Maximum rate in mm/min

beta_step_pin                                2.1              # Pin for beta stepper step signal
beta_dir_pin                                 0.11             # Pin for beta stepper direction, add '!' to reverse direction
beta_en_pin                                  0.10             # Pin for beta enable
beta_current                                 0.5              # Y stepper motor current
beta_max_rate                                30000.0          # Maxmimum rate in mm/min

gamma_step_pin                               2.2              # Pin for gamma stepper step signal
gamma_dir_pin                                0.20!             # Pin for gamma stepper direction, add '!' to reverse direction
gamma_en_pin                                 0.19             # Pin for gamma enable
gamma_current                                0.5              # Z stepper motor current
gamma_max_rate                               30000.0            # Maximum rate in mm/min

delta_steps_per_mm               	     750           # Steps per mm for extruder stepper
delta_default_feed_rate                      600           # Default rate ( mm/minute ) for moves where only the extruder moves
delta_acceleration                           500           # Acceleration for the stepper motor mm/sec²
delta_max_speed                              300            # Maximum speed in mm/s

delta_step_pin                               2.3           # Pin for extruder step signal
delta_dir_pin                                0.22          # Pin for extruder dir signal ( add '!' to reverse direction )
delta_en_pin                                 0.21          # Pin for extruder enable signal
delta_current                                0.5          # First extruder stepper motor current



# Firmware retract settings when using G10/G11, these are the defaults if not defined, must be defined for each extruder if not using the defaults

# Second extruder module configuration

#epsilon_current                                 0.5          # Second extruder stepper motor current


## Laser module configuration
laser_module_enable                           false           # Whether to activate the laser module at all

## Temperature control configuration

# First hotend configuration
temperature_control.hotend.enable            false             # Whether to activate this ( "hotend" ) module at all.


#temperature_control.hotend.max_pwm          64               # Max pwm, 64 is a good value if driving a 12v resistor with 24v.

temperature_control.bed.enable               false	      # Whether to activate this ( "hotend" ) module at all.

# Bang-bang ( simplified ) control


# Switch module for fan control
switch.fan.enable                            false	      # Enable this module

switch.misc.enable                          false		# Enable this module

# Switch module for servo control using S/W PWM
switch.servo.enable                            false             # Enable this module


#endstops_enable                              true             # The endstop module is enabled by default and can be disabled here

# Optional enable limit switches, actions will stop if any enabled limit switch is triggered

# Optional order in which axis will home, default is they all home at the same time,
# If this is set it will force each axis to home one at a time in the specified order

#--------------------------------------------------New Endstop syntaxes----------------------------------------------------------------------------------------------------

## Endstops new syntax (the name is not significant)
# NOTE only a min or a max homing endstop maybe defined
endstop.minx.enable                          true             # enable an endstop
endstop.minx.pin                             1.24^             # pin
endstop.minx.homing_direction                home_to_min      # direction it moves to the endstop
endstop.minx.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.minx.axis                            X                # the axis designator
endstop.minx.max_travel                      250              # the maximum travel in mm before it times out
endstop.minx.fast_rate                       25               # fast homing rate in mm/sec
endstop.minx.slow_rate                       10               # slow homing rate in mm/sec
endstop.minx.retract                         1                # bounce off endstop in mm

# uncomment for homing to max and comment the minx above

endstop.miny.enable                          true             # enable an endstop
endstop.miny.pin                             1.26^             # pin
endstop.miny.homing_direction                home_to_min      # direction it moves to the endstop
endstop.miny.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.miny.axis                            Y                # the axis designator
endstop.miny.max_travel                      250              # the maximum travel in mm before it times out
endstop.miny.fast_rate                       25               # fast homing rate in mm/sec
endstop.miny.slow_rate                       10               # slow homing rate in mm/sec
endstop.miny.retract                         1                # bounce off endstop in mm


# uncomment for homing to max and comment the min above
endstop.maxz.enable                          true            # enable an endstop
endstop.maxz.pin                             1.29^            # pin
endstop.maxz.homing_direction                home_to_max      # direction it moves to the endstop
endstop.maxz.homing_position                 100              # the cartesian coordinate this is set to when it homes
endstop.maxz.axis                            Z                # the axis designator
endstop.maxz.max_travel                      100              # the maximum travel in mm before it times out
endstop.maxz.fast_rate                       7                # fast homing rate in mm/sec
endstop.maxz.slow_rate                       5                # slow homing rate in mm/sec
endstop.maxz.retract                         1                # bounce off endstop in mm

# optional enable limit switches, actions will stop if any enabled limit switch is triggered
endstop.minx.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.miny.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.maxz.limit_enable                   true            # set to true to enable the limit on this endstop
endstop.mina.limit_enable		    true

# OPTIONAL uncomment for homing the A axis to min
endstop.mina.enable                          true		# enable an endstop
endstop.mina.pin                             1.28^              # pin
endstop.mina.homing_direction                home_to_min        # direction it moves to the endstop
endstop.mina.homing_position                 0                  # the cartesian coordinate this is set to when it homes
endstop.mina.axis                            A                  # the axis designator
endstop.mina.max_travel                      100                # the maximum travel in mm before it times out
endstop.mina.fast_rate                       7                  # fast homing rate in mm/sec
endstop.mina.slow_rate                       5                  # slow homing rate in mm/sec
endstop.mina.retract                         1                  # bounce off endstop in mm

# type of machine
corexy_homing                               true            # set to true if homing on a hbot or corexy
delta_homing				    true
# optional order in which axis will home, default is they all home at the same time,
# if this is set it will force each axis to home one at a time in the specified order
homing_order                                 XYZ              # x axis followed by y then z last
move_to_origin_after_home                    true            # move XY to 0,0 after homing
#endstop_debounce_count                       100              # uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms                          1                # uncomment if you get noise on your endstops, default is 1 millisecond debounce
#home_z_first true # uncomment and set to true to home the Z first, otherwise Z homes after XY
# Delete the above endstop section and uncomment next line and copy and edit Snippets/abc-endstop.config file to enable endstops for ABC axis
#include abc-endstop.config

## Z-probe
zprobe.enable                                false           # Set to true to enable a zprobe

#gamma_min_endstop                           nc              # Normally 1.28. Change to nc to prevent conflict,


## Panel
# Se
# Please find your panel on the wiki and copy/paste the right configuration here
panel.enable                                 false             # Set to true to enable the panel code

# Example for reprap discount GLCD
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9

panel.menu_offset                            0                 # Some panels will need 1 here

panel.alpha_jog_feedrate                     6000              # X jogging feedrate in mm/min
panel.beta_jog_feedrate                      6000              # Y jogging feedrate in mm/min
panel.gamma_jog_feedrate                     200               # Z jogging feedrate in mm/min

panel.hotend_temperature                     185               # Temp to set hotend when preheat is selected
panel.bed_temperature                        60                # Temp to set bed when preheat is selected

## Custom menus : Example of a custom menu entry, which will show up in the Custom entry.
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable                true              #
custom_menu.power_on.name                  Power_on          #
custom_menu.power_on.command               M80               #

custom_menu.power_off.enable               true              #
custom_menu.power_off.name                 Power_off         #
custom_menu.power_off.command              M81               #


## Network settings
network.enable                               false            # Enable the ethernet network services
network.webserver.enable                     true             # Enable the webserver
network.telnet.enable                        true             # Enable the telnet server
network.ip_address                           dhcp             # Use dhcp to get ip address
# Uncomment the 3 below to manually setup ip address
network.ip_address                           192.168.3.222   # The IP address
network.ip_mask                              255.255.255.0   # The ip mask
network.ip_gateway                           192.168.3.1     # The gateway address
#network.mac_override                         xx.xx.xx.xx.xx.xx  # Override the mac address, only do this if you have a conflict

## System configuration
# Serial communications configuration ( baud rate defaults to 9600 if undefined )
# For communication over the UART port, *not* the USB/Serial port
uart0.baud_rate                              115200           # Baud rate for the default hardware ( UART ) serial port

second_usb_serial_enable                     false            # This enables a second USB serial port
#leds_disable                                true             # Disable using leds after config loaded
#play_led_disable                            true             # Disable the play led

# Kill button maybe assigned to a different pin, set to the onboard pin by default
# See
kill_button_enable                           true             # Set to true to enable a kill button
kill_button_pin                              2.12             # Kill button pin. default is same as pause button 2.12 (2.11 is another good choice)

#msd_disable                                 false            # Disable the MSD (USB SDCARD), see http://smoothieware.org/troubleshooting#disable-msd
#dfu_enable                                  false            # For linux developers, set to true to enable DFU

# Only needed on a smoothieboard

currentcontrol_module_enable                 true             # Control stepper motor current via the configuration file

Try using much slower homing speeds ( like 100x slower, for testing).

When you say homing doesn’t work, what happens/doesn’t happen exactly ?

@Om_Prakash_Banerjee please paste your configuration files between lines with only three single backquote characters. I have edited your posts to do that. Like this:

```
(contents of your configuration file here
````
1 Like

@Arthur_Wolf
I tried homing From the pronterface homing buttons and also by passing G28 command
G28 X or G28 Y or G28 Z or G28 A nothing works
Motors simply don’t move for these command in any direction

As the motors are responding to G1 commands which ensures that the wiring as well as config part is fine for motors.

G28 is a return to origin not homing, this is not a 3D printer.

Use “$H”.

@Arthur_Wolf
I have modified the config file and now homing is working fine for XYZ axis but for axis A i cant understand how to home this axis
G1 movement for all axes also working fine.
Now Im using UGS platform as host software to control the system.
I’m attaching the modified config file please check it once and suggest what to do

#Basic motion configuration
default_feed_rate                            3000             # Default speed (mm/minute) for G1/G2/G3 moves
default_seek_rate                            2000             # Default speed (mm/minute) for G0 moves
mm_per_arc_segment                           0.0              # Fixed length for line segments that divide arcs, 0 to disable
#mm_per_line_segment                         5                # Cut lines into segments this size
mm_max_arc_error                             0.01             # The maximum error for line segments that divide arcs 0 to disable
                                                              # note it is invalid for both the above be 0
                                                              # if both are used, will use largest segment length based on radius

#Arm solution configuration : Cartesian robot. Translates mm positions into stepper positions
alpha_steps_per_mm                           160	      # Steps per mm for alpha ( X ) stepper
beta_steps_per_mm                            160              # Steps per mm for beta ( Y ) stepper
gamma_steps_per_mm                           1600             # Steps per mm for gamma ( Z ) stepper
delta_steps_per_mm               	     750           # Steps per mm for extruder stepper

#Planner module configuration : Look-ahead and acceleration configuration
acceleration                                 2000             # Acceleration in mm/second/second.
z_acceleration                               400              # Acceleration for Z only moves in mm/s^2, 0 uses acceleration which is the default. DO NOT SET ON A DELTA
junction_deviation                           0.05             # Se
#z_junction_deviation                        0.0              # For Z only moves, -1 uses junction_deviation, zero disables junction_deviation on z moves DO NOT SET ON A DELTA

#Cartesian axis speed limits
x_axis_max_speed                             30000            # Maximum speed in mm/min
y_axis_max_speed                             30000            # Maximum speed in mm/min
z_axis_max_speed                             30000             # Maximum speed in mm/min

#Stepper module configuration
#Pins are defined as  ports, and pin numbers, appending "!" to the number will invert a pin
alpha_step_pin                               2.0              # Pin for alpha stepper step signal
alpha_dir_pin                                0.5              # Pin for alpha stepper direction, add '!' to reverse direction
alpha_en_pin                                 0.4              # Pin for alpha enable pin
alpha_current                                0.4              # X stepper motor current
alpha_max_rate                               30000.0          # Maximum rate in mm/min

beta_step_pin                                2.1              # Pin for beta stepper step signal
beta_dir_pin                                 0.11             # Pin for beta stepper direction, add '!' to reverse direction
beta_en_pin                                  0.10             # Pin for beta enable
beta_current                                 0.4              # Y stepper motor current
beta_max_rate                                30000.0          # Maxmimum rate in mm/min

gamma_step_pin                               2.2              # Pin for gamma stepper step signal
gamma_dir_pin                                0.20!             # Pin for gamma stepper direction, add '!' to reverse direction
gamma_en_pin                                 0.19             # Pin for gamma enable
gamma_current                                0.6              # Z stepper motor current
gamma_max_rate                               400.0            # Maximum rate in mm/min

delta_step_pin                               2.3           # Pin for extruder step signal
delta_dir_pin                                0.22          # Pin for extruder dir signal ( add '!' to reverse direction )
delta_en_pin                                 0.21          # Pin for extruder enable signal
delta_current                                0.4          # First extruder stepper motor current


delta_default_feed_rate                      600           # Default rate ( mm/minute ) for moves where only the extruder moves
delta_acceleration                           500           # Acceleration for the stepper motor mm/sec²
delta_max_speed                              100            # Maximum speed in mm/s


##Laser module configuration
laser_module_enable                           false           # Whether to activate the laser module at all


#First hotend configuration
temperature_control.hotend.enable            false             # Whether to activate this ( "hotend" ) module at all.

temperature_control.bed.enable               false	      # Whether to activate this ( "hotend" ) module at all.

#Switch module for fan control
switch.fan.enable                            false	      # Enable this module

switch.misc.enable                          false		# Enable this module

#Switch module for servo control using S/W PWM
switch.servo.enable                            false             # Enable this module

#--------------------------------------------------New Endstop syntaxes----------------------------------------------------------------------------------------------------

# NOTE only a min or a max homing endstop maybe defined
endstop.minx.enable                          true             # enable an endstop
endstop.minx.pin                             1.24^             # pin
endstop.minx.homing_direction                home_to_min      # direction it moves to the endstop
endstop.minx.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.minx.axis                            X                # the axis designator
endstop.minx.max_travel                      250              # the maximum travel in mm before it times out
endstop.minx.fast_rate                       25               # fast homing rate in mm/sec
endstop.minx.slow_rate                       10               # slow homing rate in mm/sec
endstop.minx.retract                         2                # bounce off endstop in mm

endstop.miny.enable                          true             # enable an endstop
endstop.miny.pin                             1.26^             # pin
endstop.miny.homing_direction                home_to_min      # direction it moves to the endstop
endstop.miny.homing_position                 0                # the cartesian coordinate this is set to when it homes
endstop.miny.axis                            Y                # the axis designator
endstop.miny.max_travel                      250              # the maximum travel in mm before it times out
endstop.miny.fast_rate                       25               # fast homing rate in mm/sec
endstop.miny.slow_rate                       10               # slow homing rate in mm/sec
endstop.miny.retract                         2                # bounce off endstop in mm

endstop.maxz.enable                          true            # enable an endstop
endstop.maxz.pin                             1.29^            # pin
endstop.maxz.homing_direction                home_to_max      # direction it moves to the endstop
endstop.maxz.homing_position                 150              # the cartesian coordinate this is set to when it homes
endstop.maxz.axis                            Z                # the axis designator
endstop.maxz.max_travel                      155              # the maximum travel in mm before it times out
endstop.maxz.fast_rate                       7                # fast homing rate in mm/sec
endstop.maxz.slow_rate                       5                # slow homing rate in mm/sec
endstop.maxz.retract                         2                # bounce off endstop in mm

endstop.mina.enable                          true		# enable an endstop
endstop.mina.pin                             1.28^              # pin
endstop.mina.homing_direction                home_to_min        # direction it moves to the endstop
endstop.mina.homing_position                 0                  # the cartesian coordinate this is set to when it homes
endstop.mina.axis                            A                  # the axis designator
endstop.mina.max_travel                      100                # the maximum travel in mm before it times out
endstop.mina.fast_rate                       7                  # fast homing rate in mm/sec
endstop.mina.slow_rate                       5                  # slow homing rate in mm/sec
endstop.mina.retract                         1                  # bounce off endstop in mm

# optional enable limit switches, actions will stop if any enabled limit switch is triggered
endstop.minx.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.miny.limit_enable                   true             # set to true to enable the limit on this endstop
endstop.maxz.limit_enable                   true            # set to true to enable the limit on this endstop
endstop.mina.limit_enable		    true

# type of machine
corexy_homing                               true            # set to true if homing on a hbot or corexy
# optional order in which axis will home, default is they all home at the same time,
# if this is set it will force each axis to home one at a time in the specified order
homing_order                                 XYZ                # x axis followed by y then z last
move_to_origin_after_home                    false               # move XY to 0,0 after homing
#endstop_debounce_count                       100               # uncomment if you get noise on your endstops, default is 100
#endstop_debounce_ms                          1                 # uncomment if you get noise on your endstops, default is 1 millisecond debounce
home_z_first 				      false 		# uncomment and set to true to home the Z first, otherwise Z homes after XY


# Please find your panel on the wiki and copy/paste the right configuration here
panel.enable                                 false             # Set to true to enable the panel code

# Example for reprap discount GLCD
# on glcd EXP1 is to left and EXP2 is to right, pin 1 is bottom left, pin 2 is top left etc.
# +5v is EXP1 pin 10, Gnd is EXP1 pin 9

panel.menu_offset                            0                 # Some panels will need 1 here

panel.alpha_jog_feedrate                     6000              # X jogging feedrate in mm/min
panel.beta_jog_feedrate                      6000              # Y jogging feedrate in mm/min
panel.gamma_jog_feedrate                     200               # Z jogging feedrate in mm/min

panel.hotend_temperature                     185               # Temp to set hotend when preheat is selected
panel.bed_temperature                        60                # Temp to set bed when preheat is selected

## Custom menus : Example of a custom menu entry, which will show up in the Custom entry.
# NOTE _ gets converted to space in the menu and commands, | is used to separate multiple commands
custom_menu.power_on.enable                true              #
custom_menu.power_on.name                  Power_on          #
custom_menu.power_on.command               M80               #

custom_menu.power_off.enable               true              #
custom_menu.power_off.name                 Power_off         #
custom_menu.power_off.command              M81               #


## Network settings
network.enable                               false            # Enable the ethernet network services
network.webserver.enable                     true             # Enable the webserver
network.telnet.enable                        true             # Enable the telnet server
network.ip_address                           dhcp             # Use dhcp to get ip address
# Uncomment the 3 below to manually setup ip address
network.ip_address                           192.168.3.222   # The IP address
network.ip_mask                              255.255.255.0   # The ip mask
network.ip_gateway                           192.168.3.1     # The gateway address
#network.mac_override                         xx.xx.xx.xx.xx.xx  # Override the mac address, only do this if you have a conflict

## System configuration
# Serial communications configuration ( baud rate defaults to 9600 if undefined )
# For communication over the UART port, *not* the USB/Serial port
uart0.baud_rate                              115200           # Baud rate for the default hardware ( UART ) serial port

second_usb_serial_enable                     false            # This enables a second USB serial port
#leds_disable                                true             # Disable using leds after config loaded
#play_led_disable                            true             # Disable the play led

# Kill button maybe assigned to a different pin, set to the onboard pin by default
kill_button_enable                           true             # Set to true to enable a kill button
kill_button_pin                              2.12             # Kill button pin. default is same as pause button 2.12 (2.11 is another good choice)



currentcontrol_module_enable                 true             # Control stepper motor current via the configuration file

FYI, it looks like the Z endstop is triggered in the above example.
I see X endstop on pin 1.24 and is low/0
I see Y endstop on pin 1.26 and is low/0
I see Z endstop on pin 129 and is high/1

So you can manually( with your fingers ) trigger an endstop and send the M119 command and see if the correct pin/endstop shows it has changed state. When building a new machine, this is how I test to see that the endstops are recognized before doing any movement.

Homing for XYZ working now,but now I’m stuck at homing A axis. Please check my previous comment, i have attached new config file with it.
@Arthur_Wolf

why’s that?

When passing $H it only homes XYZ not the axis A
I don’t know why and how to home axis A now thts why I’m stuck here

I was asking why suddenly you were able to Home your X Y and X axis to their endstops. ie why did it all of a sudden start working. But I will guess that it is a results of you using the $H Home command as opposed to the G28, Goto Origin command.

Isn’t there a setting in the configuration file which lists/sets the Axis which are to be homed? Does it include X Y Z and A?

  • Smoothieboard in cnc build doesn’t respond to G28 like a 3D printer does.
  • It need $H for homing
  • I’ve also removed delta homing from the config file after that homing started working
    There is a part in config file which says
    homing_order which is currently set to XYZ but I think XYZA may work for me

good idea, it makes sense that there’s something in the config which setups up the list of axis to home just as there is a configuration area for enabling particular endstops.

@Arthur_Wolf
The system is working fine now, i’m having difficulty when trying to execute a series of gcode commands through a gcode extension file like (test.gcode)
It executes the first line $H and after that it doesnt execute next moves
Can u suggest which file format i should use so that it can execute gcode instructions line by line ?