Ymin not working

Hello !

I am currently building a laser-cutter (40w, 1200*600) almost from scratch. Everything is documented here -> the blog

The hardware is pretty done, and I am beginning to test the SmoothieBoard (with the official guide).

I have the 3XC Smoothieboard 1.0.x [OLD VERSION]. And I have only X and Y axis on the machine (one motor for X, two for Y).

The problem is that Y min limit switch is not working. It means that when I use Pronterface to home in Y, the motors are spinning properly, then either the aluminium profile or my finger press the limit switch and it does not stop the motors.

The X axis it working fine (homing OK, switch OK) and I wired the Y min limit switch the same way. I also tested it with a multi-meter. I also used the M119 command to test the switches. I think it’s a wiring/board problem…

Enclosed there is the pic of the wiring, the config file and the M119 result (I am a new user, I cannot put all of that)

Thanks a lot guys !!

default_feed_rate                            4000             # Default rate ( mm/minute ) for G1/G2/G3 moves
default_seek_rate                            4000             # Default rate ( mm/minute ) for G0 moves
mm_per_arc_segment                           0.5              # Arcs are cut into segments ( lines ), this is the length for

alpha_steps_per_mm                           80               # Steps per mm for alpha stepper
beta_steps_per_mm                            80               # Steps per mm for beta stepper
gamma_steps_per_mm                           80               # Steps per mm for gamma stepper

planner_queue_size                           32               # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING
acceleration                                 3000             # Acceleration in mm/second/second.
acceleration_ticks_per_second                1000             # Number of times per second the speed is updated
junction_deviation                           0.05             # Similar to the old "max_jerk", in millimeters,

microseconds_per_step_pulse                  1                # Duration of step pulses to stepper drivers, in microseconds
base_stepping_frequency                      100000           # Base frequency for stepping

x_axis_max_speed                             30000            # mm/min
y_axis_max_speed                             30000            # mm/min
z_axis_max_speed                             300              # mm/min

alpha_step_pin                               2.0              # Pin for alpha stepper step signal
alpha_dir_pin                                0.5!              # Pin for alpha stepper direction
alpha_en_pin                                 0.4              # Pin for alpha enable pin
alpha_current                                1.7              # X stepper motor current
alpha_max_rate                               30000.0          # mm/min

beta_step_pin                                2.1              # Pin for beta stepper step signal
beta_dir_pin                                 0.11!             # Pin for beta stepper direction
beta_en_pin                                  0.10             # Pin for beta enable
beta_current                                 1.7              # Y stepper motor current
beta_max_rate                                30000.0          # mm/min

gamma_current                                1.7              # Z stepper motor current
gamma_max_rate                               300.0            # mm/min

uart0.baud_rate                              115200           # Baud rate for the default hardware serial port
second_usb_serial_enable                     false            # This enables a second usb serial port (to have both pronterface

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             #

extruder.hotend.enable                          false             # Whether to activate the extruder module at all. All configuration is ignored if false

delta_current                                1.5              # First extruder stepper motor current

laser_module_enable                          true            # Whether to activate the laser module at all. All configuration is
                                                              # ignored if false.
laser_module_pin                             2.5             # this pin will be PWMed to control the laser. Only P2.0 - P2.5, P1.18, P1.20, P1.21, P1.23, P1.24, P1.26, P3.25, P3.26
                                                              # can be used since laser requires hardware PWM
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
laser_module_pwm_period                      20              # this sets the pwm frequency as the period in microseconds

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

temperature_control.bed.enable               false             #

switch.fan.enable                            false             #

endstops_enable                              true             # the endstop module is enabled by default and can be disabled here
alpha_min_endstop                            1.24^            # add a ! to invert if endstop is NO connected to ground
alpha_max_endstop                            1.25^            # NOTE set to nc if this is not installed
alpha_homing_direction                       home_to_min      # or set to home_to_max and set alpha_max
alpha_min                                    0                # this gets loaded after homing when home_to_min is set
alpha_max                                    200              # this gets loaded after homing when home_to_max is set
beta_min_endstop                             1.26^            #
beta_max_endstop                             1.27^            #
beta_homing_direction                        home_to_min      #
beta_min                                     0                #
beta_max                                     200              #
gamma_min_endstop                            1.28^            #
gamma_max_endstop                            1.29^            #
gamma_homing_direction                       home_to_min      #
gamma_min                                    0                #
gamma_max                                    200              #

alpha_fast_homing_rate_mm_s                  50               # feedrates in mm/second
beta_fast_homing_rate_mm_s                   50               # "
gamma_fast_homing_rate_mm_s                  4                # "
alpha_slow_homing_rate_mm_s                  25               # "
beta_slow_homing_rate_mm_s                   25               # "
gamma_slow_homing_rate_mm_s                  2                # "

alpha_homing_retract_mm                      5                # distance in mm
beta_homing_retract_mm                       5                # "
gamma_homing_retract_mm                      1                # "

zprobe.enable                                false           # set to true to enable a zprobe

panel.enable                                 false             # set to true to enable the panel code

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_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.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                           auto             # use dhcp to get ip address

Change the pin assignment to use the Y Max port for your Y Min switch. (pretty much swap 1.26 and 1.27 with each other. See if that is a viable workaround.

1 Like

This is a very good workardoung thank you !
M119 shows the switch now works. But this mean the board is somewhat faulty isn’t it ?

That would be a discussion for the manufacturer of the product or the vendor you purchased it from.

1 Like

I’ll try to deal with them. If I have any positive answer, I’ll post it here in case it could help.

If you don’t get an answer from the manufacturer after a while, please email wolf.arthur@gmail.com with info about the problem.