# OpenPNP Smoothieboard configuration # Configuration for 5 Axis Build and Z homing # Adapted from: # https://groups.google.com/d/msgid/openpnp/2186b634-4bdd-45ca-a2d0-8a69fdbae4ccn%40googlegroups.com #-------------------------------------------- # Smoothieboard configuration file, see http://smoothieware.org/configuring-smoothie # NOTE Lines must not exceed 132 characters, and '#' characters mean what follows is ignored #Fix for incorrect Digipots used on Smoothieboard Clones #digipot_factor 36.6 #digipot_max_current 2.0 # Maximum current that can be set # STEP CALCULATION # Calculator: https://www.prusaprinters.org/calculator/ # X, Y Pulley: 50 teeth 1/32 uStepping ==> 64 steps/mm (new 36 teeth pulley ==> 100 steps/mm) # 20 teeth = 160 at 1/32 uStepping using GT2 # Z Cam Wheel # Command to set the steps per mm # M92 X64.00 # Basic motion configuration default_feed_rate 80000 # Default speed (mm/minute) for G1/G2/G3 moves default_seek_rate 80000 # Default speed (mm/minute) for G0 moves mm_per_arc_segment 0.5 # Arcs are cut into segments ( lines ), this is the length for these segments. # Planner module configuration : Look-ahead and acceleration configuration planner_queue_size 40 # DO NOT CHANGE THIS UNLESS YOU KNOW EXACTLY WHAT YOUR ARE DOING acceleration 5000 # Acceleration in mm/second/second (was 10,000, reduced in an attempt to reduce oscillation of belt) z_acceleration 6000 # Acceleration for Z only moves in mm/s^2, 0 disables it, disabled by default. DO NOT SET ON A DELTA acceleration_ticks_per_second 1000 # Number of times per second the speed is updated junction_deviation 0.005 # Similar to the old "max_jerk", in millimeters, see : https://github.com/grbl/grbl/blob/master/planner.c#L409 # Stepper module configuration microseconds_per_step_pulse 1 # Duration of step pulses to stepper drivers, in microseconds base_stepping_frequency 100000 # Base frequency for stepping, higher gives smoother movement # Stepper module configuration # Pins are defined as ports, and pin numbers, appending "!" to the number will invert a pin # X AXIS - Left / Right alpha_steps_per_mm 400 # 400 Steps per mm for 20 tooth alpha ( X / Left / Right ) stepper 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 2.0 # X stepper motor current alpha_max_rate 9000 # Maximum rate in mm/min alpha_acceleration 10000 # mm/sec^2 x_axis_max_speed 9000 # mm/min # Y AXIS - Towards / Away beta_steps_per_mm 322 # 322 Steps per mm for 20 tooth beta ( Y / Near / Far ) stepper 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 1.5 # Y stepper motor current beta_max_rate 7000 # Maxmimum rate in mm/min beta_acceleration 10000 # mm/sec^2 y_axis_max_speed 7000 # mm/min # Z Axis - Head Up / Down gamma_steps_per_mm 800 # 800 is the computed step rate for a cam arm 1.8 deg 1/32 uStep gamma_step_pin 2.8 # Pin for gamma stepper step signal gamma_dir_pin 2.13! # Pin for gamma stepper direction, add '!' to reverse direction gamma_en_pin 4.29 # Pin for gamma enable gamma_current 1.5 # Z stepper motor current gamma_max_rate 2500 # Maximum rate in mm/min gamma_acceleration 4000 # mm/sec/sec z_axis_max_speed 2500 # mm/min # A axis delta_steps_per_mm 126.5 # may be steps per degree for example delta_step_pin 2.3 # Pin for delta stepper step signal delta_dir_pin 0.22! # Pin for delta stepper direction delta_en_pin 0.21 # Pin for delta enable delta_current 0.3 # Stepper motor current delta_max_rate 30000.0 # mm/min delta_acceleration 50000.0 # mm/secĀ² # B axis epsilon_steps_per_mm 17.7777 # may be steps per degree for example epsilon_step_pin 2.2 # Pin for delta stepper step signal epsilon_dir_pin 0.20! # Pin for delta stepper direction epsilon_en_pin 0.19 # Pin for delta enable epsilon_current 0.60 # Stepper motor current epsilon_max_rate 300 # mm/min epsilon_acceleration 100 # mm/secĀ² b_axis_max_speed 300 # mm/min # Switch module for head light control switch.headlight.enable true # Enable this module switch.headlight.startup_state false # turned off at start switch.headlight.input_off_command M800 # Command that will turn this switch off switch.headlight.input_on_command M801 # Command that will turn this switch on switch.headlight.output_pin 2.4 # Pin this module controls: small MOSFET Q8 switch.headlight.output_type digital # Digital means this is just an on or off pin # Switch module for bottom light control switch.bottomlight.enable true # Enable this module switch.bottomlight.startup_state false # turned off at start switch.bottomlight.input_off_command M802 # Command that will turn this switch off switch.bottomlight.input_on_command M803 # Command that will turn this switch on switch.bottomlight.output_pin 2.6 # Pin this module controls: small MOSFET Q9 switch.bottomlight.output_type digital # Digital means this is just an on or off pin # Switch module for nozzle 1 puff (left) - Q4 Large MOSFET switch.pressnozzleleft.enable true # Enable this module switch.pressnozzleleft.startup_state false # turned off at start switch.pressnozzleleft.input_off_command M804 # Command that will turn this switch off switch.pressnozzleleft.input_on_command M805 # Command that will turn this switch on switch.pressnozzleleft.output_pin 1.23 # Pin this module controls: big MOSFET Q5 switch.pressnozzleleft.output_type digital # Digital means this is just an on or off pin # Switch module for nozzle 2 puff (right) - Q4 Small MOSFET switch.pressnozzleright.enable true # Enable this module switch.pressnozzleright.startup_state false # turned off at start switch.pressnozzleright.input_off_command M804 # Command that will turn this switch off switch.pressnozzleright.input_on_command M805 # Command that will turn this switch on switch.pressnozzleright.output_pin 1.23 # Pin this module controls: small MOSFET Q5 switch.pressnozzleright.output_type digital # Digital means this is just an on or off pin # Switch module for vacuum nozzle 1 (left) switch.vacnozzleleft.enable true # Enable this module switch.vacnozzleleft.startup_state false # turned off at start switch.vacnozzleleft.input_off_command M810 # Command that will turn this switch off switch.vacnozzleleft.input_on_command M811 # Command that will turn this switch on switch.vacnozzleleft.output_pin 2.5 # Pin this module controls: small MOSFET Q6 switch.vacnozzleleft.output_type digital # Digital means this is just an on or off pin # Switch module for vacuum nozzle 2 (right) switch.vacnozzleright.enable true # Enable this module switch.vacnozzleright.startup_state false # turned off at start switch.vacnozzleright.input_off_command M810 # Command that will turn this switch off switch.vacnozzleright.input_on_command M811 # Command that will turn this switch on switch.vacnozzleright.output_pin 2.5 # Pin this module controls: small MOSFET Q6 switch.vacnozzleright.output_type digital # Digital means this is just an on or off pin # Vacuum Sensors temperature_control.nozzle1.enable true temperature_control.nozzle1.sensor ad8495 # Nozzle 1 Vacuum temperature_control.nozzle1.ad8495_pin 0.24 # Pin to read temperature_control.nozzle1.ad8495_offset 100 temperature_control.nozzle1.readings_per_second 50 temperature_control.nozzle1.get_m_code 831 # M Code to get this temp i.e. M831 temperature_control.nozzle2.enable true temperature_control.nozzle2.sensor ad8495 # Nozzle 2 Vacuum temperature_control.nozzle2.ad8495_pin 0.23 # Pin to read temperature_control.nozzle2.ad8495_offset 100 temperature_control.nozzle2.readings_per_second 50 temperature_control.nozzle2.get_m_code 832 # M Code to get this temp i.e. M832 ## Endstops - new syntax # NOTE only a min or a max homing endstop maybe defined # NOTE : Failure to add a .axis property will disable the endstop !! # X MIN ENDSTOP (HOME) endstop.minx.enable true # enable an endstop endstop.minx.limit_enable true # set to true to enable the limit on this endstop endstop.minx.pin 1.24!v # 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 600 # the maximum travel in mm before it times out endstop.minx.fast_rate 100 # fast homing rate in mm/sec endstop.minx.slow_rate 10 # slow homing rate in mm/sec endstop.minx.retract 5 # bounce off endstop in mm # X MAX ENDSTOP (HARD ENDSTOP) endstop.maxx.enable true # enable an endstop endstop.maxx.pin 1.25!v # pin endstop.maxx.limit_enable true # set to true to enable the limit on this endstop endstop.maxx.axis X # the axis designator endstop.maxx.max_travel 600 # the maximum travel in mm before it times out # Y MIN ENDSTOP (HARD ENDSTOP) endstop.miny.enable true # enable an endstop endstop.miny.pin 1.26!v # pin endstop.miny.limit_enable true # set to true to enable the limit on this endstop 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 550 # the maximum travel in mm before it times out endstop.miny.fast_rate 100 # fast homing rate in mm/sec endstop.miny.slow_rate 10 # slow homing rate in mm/sec endstop.miny.retract 5 # bounce off endstop in mm. note for Y, input 5 not -5 # Y MAX ENDSTOP (HOME) endstop.maxy.enable true # enable an endstop endstop.maxy.pin 1.27!v # pin endstop.maxy.limit_enable true # set to true to enable the limit on this endstop endstop.maxy.axis Y # the axis designator endstop.maxy.max_travel 550 # the maximum travel in mm before it times out # Z MAX ENDSTOP endstop.maxz.enable true # enable an endstop endstop.maxz.pin 1.29!v # pin endstop.maxz.homing_direction home_to_max # direction it moves to the endstop endstop.maxz.homing_position 0 # the cartesian coordinate this is set to when it homes endstop.maxz.axis Z # the axis designator endstop.maxz.max_travel 80 # the maximum travel in mm before it times out endstop.maxz.fast_rate 100 # fast homing rate in mm/sec endstop.maxz.slow_rate 10 # slow homing rate in mm/sec endstop.maxz.retract 10 # bounce off endstop in mm # Use soft endstops to prevent illegal moves beyond the actual endstops soft_endstop.enable true # Enable soft endstops soft_endstop.x_min -300 # Minimum X position soft_endstop.x_max 345 # Maximum X position soft_endstop.y_min -400 # Minimum Y position soft_endstop.y_max 500 # Maximum Y position #soft_endstop.z_min -40 # Minimum Z position #soft_endstop.z_max +40 # Maximum Z position soft_endstop.halt true # Whether to issue a HALT state when hitting a soft endstop (if false, will just ignore commands that would exceed the limit) # 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 home_z_first true # Do not set this to false otherwise you might drag the nozzle across the table ## Panel # See http://smoothieware.org/panel # Please find your panel on the wiki and copy/paste the right configuration here panel.enable true # 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 # setup for external sd card on the GLCD which uses the onboard sdcard SPI port #panel.external_sd true # set to true if there is an extrernal sdcard on the panel #panel.external_sd.spi_channel 1 # set spi channel the sdcard is on #panel.external_sd.spi_cs_pin 0.28 # set spi chip select for the sdcard (or any spare pin) #panel.external_sd.sdcd_pin 0.27!^ # sd detect signal (set to nc if no sdcard detect) (or any spare pin) #panel.menu_offset 0 # Some panels will need 1 here panel.alpha_jog_feedrate 9000 # X jogging feedrate in mm/min panel.beta_jog_feedrate 9000 # Y jogging feedrate in mm/min panel.gamma_jog_feedrate 3000 # Z jogging feedrate in mm/min ## System configuration # Ethernet Network settings #network.enable true # Enable the ethernet network services #network.webserver.enable true # Enable the webserver #network.telnet.enable true # Enable the telnet server #network.ip_address 192.168.100.224 # The IP address (change this to 'auto' for DHCP) #network.ip_mask 255.255.255.0 # The IP subnet mask #network.ip_gateway 192.168.100.1 # The gateway address # 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 false # Disable using leds after config loaded # Kill button maybe assigned to a different pin, set to the onboard pin by default # See http://smoothieware.org/killbutton #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) #kill_button_toggle_enable true # allows for latching estop button #unkill_enable true # false: do not unkill when button held or released # true: releasing kill button will leave kill #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 # See http://smoothieware.org/currentcontrol currentcontrol_module_enable true # Control stepper motor current via the configuration file return_error_on_unhandled_gcode false