FluidNC - The next generation of motion control firmware

Overview

FluidNC (CNC Controller) For ESP32

Introduction

FluidNC is the next generation of Grbl_ESP32. It has a lot of improvements over Grbl_ESP32 as listed below.

Status

We are currently in an alpha testing state. Basic machines are fully functional. We are actively testing the advanced functions and improving the usability.

Firmware Architecture

  • Object-Oriented hierarchical design
  • Hardware abstraction for machine features like spindles, motors, and stepper drivers
  • Extensible - Adding new features is much easier for the firmware as well as gcode senders.

Machine Definition Method

Grbl_ESP32 used C preprocessor machine definition files (myMachineDef.h) and config.h to define a machine. Any change required a recompile. The goal with FluidNC is that virtually everyone uses the same compiled firmware and configures it with a structured YAML text file. That file is dynamically loaded from the local FLASH on ESP32. It can be uploaded via the serial port or Wifi.

You can have multiple YAML files stored on the ESP32. The default is config.yaml, but you can change that with $Config/Filename=

Basic Grbl Compatibility

The intent is to maintain as much Grbl compatibility as possible. It is 100% compatible with the day to day operations of running GCode with a sender, so there is no change to the Grbl GCode send/response protocol, and all Grbl GCodes are supported. The Grbl $ settings and commands that a sender might issue after each reset are similarly supported. Grbl $ settings that are used only for initial machine setup, then never changed unless the machine is physically reconfigured, will not be supported. Grbl's $number=number method for machine setup is simply too weak to support the range of machine configurations that FluidNC can handle. (In fact, Grbl's $number machine setup method was too weak even for classic Grbl, which required editing C files and recompiling for many kinds of changes.) What this means is that existing senders will still be able to run GCode jobs on Fluid, but the "setup wizards" that a few senders have will not work in their current form. We are working on a mechanism to enable even better setup wizards - graphical configuration helpers - that can handle the vast range of machines that FluidNC supports, extensible so that senders will be able to automatically support new FluidNC features without sender code changes.

I/O Pins

Pin configuration is a key step in machine setup. You must assign specific pins - be they GPIOs or pins on I/O expander chips - to functions like stepper control, limit switches, spindle control, and I/O buses that communicate with other devices. Furthermore, pins have attributes like active state (high or low) and internal pullups that must be specified. In classic Grbl, you assign pins by editing a ".h" C preprocessor file, then recompiling. Classic Grbl does let you choose the active state (but not the pullup states) for some pins with $ commands, but the interface is clumsy, requiring the user to perform binary-to-decimal math on "bitmask" variables. The bitmask technique, in addition to being obscure to users who are not programmers, cannot handle things like multiple independent motors on the same axis.

FluidNC's pin assignment syntax is clear, straightforward, capable and consistent. For example, to assign GPIO 4 as the probe pin, active low, with internal pullups enabled, you write:

probe:
  pin: gpio.4:low:pu

The following example illustrates that both input and output pins can be assigned in the same way, with the direction being implicit in the function that the pin is used for.

control:
   feed_hold: gpio.14:low:pu
coolant:
   mist: gpio.21

The feed hold pin, known to be an input because that is what the feed hold function requires, is set to GPIO 12, active low so a feed hold will be triggered when the pin goes to the electrical low state. The internal pullup is enabled, which is appropriate and necessary if there is no external pullup resistor or active high drive on that signal. The mist pin, known to be an output because the mist function controls an external relay or similar actuator, is assigned to GPIO 21. The signal is active high, which is the default if neither ":low" nor ":high" is explicitly mentioned, and no internal pullups are enabled. If GCode turns on mist coolant, the pin will go to the electrical high state.

The firmware knows additional requirements for pins based on how they are used, applying and checking those automatically. For example, a limit pin must be an input that support interrupts, so the attempt to assign a hardware pin that cannot meet those requirements triggers an error message. Other errors, such at an attempt to use the same pin for two different purposes, are similarly checked.

For functions that are not used, you can either omit the line that would assign a pin to that function, or explicitly list it as "no_pin". For example, these two are equivalent, saying that flood coolant is not supported - and attempts to turn on flood coolant will be silently ignored:

coolant:
  flood: no_pin

or you can just omit the "flood:" line in the coolant section - or omit the entire coolant section if the machine does not support any form of coolant control.

coolant:

Tuning

Many parameters like accelerations and speeds need to be tuned when setting up a new machine. These values are in the YAML file like everything else, but you can also temporarily change them by sending the YAML hierarchy for that setting as a $ command. Sending $axes/x/acceleration=50 would change the acceleration of the x axis to 50.

The changes are temporary. To make them permanent you would edit the YAML file. You can also save the all of the current changes to the YAML with the $CD=

You can show the value of an individual parameter by sending its $ name with the =, as:

ok
$axes/x/acceleration
$axes/x/acceleration=25.000
ok

The first $ line above is what you send, the second is FluidNC's response.

You can show entire subsections by sending the section name:

ok
$coolant
coolant:
  flood: NO_PIN
  mist: NO_PIN
  delay_ms: 0
ok

Spindles

FluidNC supports multiple spindles on one machine. Spindles can be controlled by different hardware interfaces like relays, PWM, DACs, or RS485 serial interfaces to VFDs. Lasers are treated as spindles. Each spindle is assigned a range of tool numbers. You change spindles by issuing the GCode command "M6 Tn", where n is the tool number. Tool numbers within the assigned range for a given spindle will activate that spindle - and the detailed number within the range could be used to select the specific tool on the spindle. This lets you have, for example, a single machine with an ATC spindle and a laser. A single GCode file could allow you to etch and cutout a part. Most CAM programs support tool numbers. You could also have a gantry with both a low-speed high-torque pulley spindle and also a high-speed direct drive spindle.

Motors

FluidNC supports, without recompiling, different motor types like

  • Stepper motors
  • Servo motors
  • Dynamixel smart servos

Stepper Drivers

FluidNC supports, without recompiling, different stepper motor drivers like

  • "Dumb" (hardware configured) stepper drivers like A4988 and DRV8825
  • External drivers
  • Trinamic drivers configured either via hardware jumpers, SPI, or UART interfaces

Homing and Limits

Homing and limit parameters are setup per axis. Each axis can have its own homing speeds, switch pull offs. Soft limits can be configured, per axis, for arbitrary endpoints and distances.

FluidNC supports many different limit switch configurations. You can have separate limit switches - on separate input pins - on each end of an axis (one on the positive end and the other on the negative end), or just one switch on a designated end, or a pair of switches on both ends that are wired together and fed into a single input pin. The use of separate switches enables things like automatic pulloff for an axis that is already at a limit when the system starts. On machines with dual (ganged) motors on one axis, that axis's limit switches can be shared (applying to both motors), or specific to each motor, thus allowing auto-squaring of the axis during homing.

Motor Enables

Motor enable/disable pins can either be shared so that a single pin controls all motors, or per-motor so that you can separately enable specific motors.

Ganged Motors

FluidNC supports up to two motors per axis, with independent drivers and homing. In contrast to classic Grbl where "ganging" can only be done either by driving two motors from the same driver or by sending the same step and direction signal to two drivers, FluidNC's independent motors permit "auto-squaring" of axes. It also supports different switch pull offs in case your switches are not square.

SD Card Support

Multiple Communications Channels

FluidNC supports sender communication via multiple channels

  • Serial / USB Serial Port (as with classic Grbl)
  • Bluetooth serial
  • Wifi/Telnet
  • Wifi/WebSockets

WebUI

FluidNC includes a built-in brower-based Web UI (Esp32_WebUI) so you control the machine from a PC, phone, or tablet on the same Wifi network.

Credits

The original Grbl is an awesome project by Sungeon (Sonny) Jeon. I have known him for many years and he is always very helpful. I have used Grbl on many projects.

The Wifi and WebUI is based on this project.

Mitch Bradley designed and implemented the $name=value settings mechanism. The YAML-format runtime configuration mechanism was spearheaded Mitch Bradley, and designed and implemented by Mitch and Stefan de Bruin. Stefan's mastery of C++ is especially evident in the Class architecture of the configuration mechanism.

Contribute

There is a Discord server for the development this project. Ask for an invite

FAQ

Start asking questions...I'll put the frequent ones here.

Donation

This project requires a lot of work and often expensive items for testing. Please consider a safe, secure and highly appreciated donation via the PayPal link below or via the Github sponsor link at the top of the page.

Comments
  • YL620 and Huanyang VFDs Not Responding.

    YL620 and Huanyang VFDs Not Responding.

    Controller Board

    6-pack

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    gantry router with dual y motors, xyyz setup dm542t stepper drivers and 6pack control board with RS485 module

    Configuration file

    board: 6 Pack
    name: 6 Pack External XYYZ Huany
    meta: 2022-06-28 B. Dring for Forest Darling Forest Darling
    stepping:
      engine: I2S_STREAM
      idle_ms: 250
      pulse_us: 4
      dir_delay_us: 1
      disable_delay_us: 0
    
    axes:
      shared_stepper_disable_pin: NO_PIN
      x:
        steps_per_mm: 100.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 100.000
        max_travel_mm: 300.000
        soft_limits: false
        homing:
          cycle: 2
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.2
            direction_pin: I2SO.1
            disable_pin: I2SO.0
    
      y:
        steps_per_mm: 100.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 100.000
        max_travel_mm: 300.000
        soft_limits: false
        homing:
          cycle: 3
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.5
            direction_pin: I2SO.4
            disable_pin: I2SO.7
        
        motor1:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.10
            direction_pin: I2SO.9
            disable_pin: I2SO.8
    
      z:
        steps_per_mm: 100.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 100.000
        max_travel_mm: 300.000
        soft_limits: false
        homing:
          cycle: 1
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 800.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.13
            direction_pin: I2SO.12
            disable_pin: I2SO.15
            
    probe:
      pin: NO_PIN
      check_mode_start: true
      
            
    i2so:
      bck_pin: gpio.22
      data_pin: gpio.21
      ws_pin: gpio.17
    
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    
    sdcard:
      card_detect_pin: NO_PIN
      cs_pin: gpio.5
    
    control:
      safety_door_pin: NO_PIN
      reset_pin: NO_PIN
      feed_hold_pin: NO_PIN
      cycle_start_pin: NO_PIN
      macro0_pin: NO_PIN
      macro1_pin: NO_PIN
      macro2_pin: NO_PIN
      macro3_pin: NO_PIN
    
    start:
      must_home: false
      
    coolant:
      flood_pin: gpio.15
      mist_pin: gpio.12
      delay_ms: 0
      
    YL620:
      uart:
        txd_pin: gpio.26
        rxd_pin: gpio.16
        rts_pin: gpio.4
        baud: 9600
        mode: 8N1
      modbus_id: 1
      tool_num: 0
      speed_map: 0=0% 0=25% 6000=25% 24000=100%
      
      
    Laser:
      pwm_hz: 5000
      output_pin: gpio.14
      enable_pin: gpio.13
      disable_with_s0: false
      s0_with_disable: true
      tool_num: 1
      speed_map: 0=0.000% 255=100.000%
    

    Startup Messages

    [MSG:INFO: FluidNC v3.3.0 (pr/easytarget/272-c8cdb9b-dirty)]
    [MSG:INFO: Compiled with ESP32 SDK:v3.3.5-1-g85c43024c]
    [MSG:INFO: Configuration file:config.yaml]
    [MSG:INFO: Machine 6 Pack External XYYZ Huany]
    [MSG:INFO: Board 6 Pack]
    [MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
    [MSG:INFO: SD Card cs_pin:gpio.5 dectect:NO_PIN]
    [MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:250ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Axis X (0.000,300.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]
    [MSG:INFO: Axis Y (-300.000,0.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7]
    [MSG:INFO:   Motor1]
    [MSG:INFO:     standard_stepper Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8]
    [MSG:INFO: Axis Z (-300.000,0.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: YL620 Spindle Uart Tx:gpio.26 Rx:gpio.16 RTS:gpio.4 Baud:9600]
    [MSG:INFO: Laser Spindle Ena:gpio.13 Out:gpio.14 Freq:5000Hz Res:13bits Laser mode:On]
    [MSG:INFO: Using spindle YL620]
    [MSG:INFO: Flood coolant gpio.15]
    [MSG:INFO: Mist coolant gpio.12]
    [MSG:INFO: STA SSID is not set]
    [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
    [MSG:INFO: AP started]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Captive Portal Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    
    Grbl 3.3 [FluidNC v3.3.0 (pr/easytarget/272-c8cdb9b-dirty) (wifi) '$' for help]
    [MSG:INFO: VFD RS485 Unresponsive]
    

    User Interface Software

    Terminal mostly and WebUI

    What happened?

    cant get the spindle (YL620) to move at all says the RS485 is unresponsive. I have spent quite a bit of time digging around and feel like I have things right. The wiring is A-A,B-B, COM-G, the first of those being from the vdf to the rs485 module. I am just not sure if Im dumb or missing somthing the code seems correct for the yaml file. Here I am though desperate for any guidance!

    Other Information

    No response

    SOLVED 
    opened by Parker3123 49
  • Problem: Can't connect to firmware on MKS-TinyBee V1.0

    Problem: Can't connect to firmware on MKS-TinyBee V1.0

    Controller Board

    MKS-TinyBee V1.0

    Help From Board Vendor

    • [ ] Yes
    • [X] No
    • [ ] Not Applicable

    Machine Description

    Busy to setup a 4-axis hot-wire foam cnc

    Configuration file

    net yet
    

    Startup Messages

    'utf-8' codec can't decode byte 0xa0 in position 3: invalid start byte
    

    User Interface Software

    No response

    What happened?

    Hello, Can’t connect to to fluidnc devices over usb

    I have 2 devices esp32 d1 r32 and MKS-TinyBee V1.0 FluidNc firmaware: fluidnc-v3.4.7 Linux and Windows

    For both devices I followed the same steps.

    I have executed in the folder those command

    fluidnc-v3.4.7-posix / ./erase.sh ./install-fs.sh ./install-wifi.sh

    MKS-TinyBee V1.0: I try to connect to this device using bCNC (window and linux) UGC (windows and linux)

    I can’t connect Get this error 'utf-8' codec can't decode byte 0xa0 in position 3: invalid start byte The software is opening the com port but is not connect to the firmware. Picture: mks

    With serial monitor in Arduino IDE, as well with fluidterm I can connect to the firmware

    Esp32 d1 r32: I try to connect to this device using bCNC (window and linux) UGC (windows and linux)

    I have no problems to connect to the firmware Picture: esp32_D1_R32

    What I need to do….? What is the different between those 2 devices….? How to fix the problem on the MKS-TinyBee V1.0

    Kr, Wolf esp32_D1_R32 mks

    Other Information

    No response

    opened by wollo-fpv 43
  • Problem: Y-Axis not homing / moving correctly after upgrade from 3.5.1 to 3.6.3

    Problem: Y-Axis not homing / moving correctly after upgrade from 3.5.1 to 3.6.3

    Controller Board

    self build

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    Gantry router Ratrig Killerbee with DM556T stepper driver, dual y motors and limit switches.

    Input Circuits

    No response

    Configuration file

    name: "ModuloController"
    board: "ModuloControl V1"
    
    stepping:
      engine: RMT
      idle_ms: 255
      dir_delay_us: 1
      pulse_us: 5
      disable_delay_us: 5
      
    start:
      must_home: true
      deactivate_parking: true
      check_limits: true
    
    axes:
      shared_stepper_disable_pin: gpio.23
      
      x:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 510.000
        soft_limits: true
        
        homing:
          cycle: 2
          mpos_mm: 510.000
          feed_mm_per_min: 200.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.35:low
          hard_limits: true
          pulloff_mm: 5.000
          stepstick:
            direction_pin: gpio.27
            step_pin: gpio.26
    
      y:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 750.000
        soft_limits: true
    
        homing:
          cycle: 3
          mpos_mm: 750.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.39:low
          hard_limits: true
          stepstick:
            direction_pin: gpio.32:low
            step_pin: gpio.25
    
        motor1:
          limit_pos_pin: gpio.36:low
          hard_limits: true
          stepstick:
            direction_pin: gpio.22:low
            step_pin: gpio.21
    
      z:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 150.000
        soft_limits: true
        
        homing:
          cycle: 1
          mpos_mm: 150.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.34:low
          hard_limits: true
          stepstick:
            direction_pin: gpio.18
            step_pin: gpio.19
    
    
    probe:
      pin: gpio.4:high
      
    control:
      safety_door_pin: gpio.33:low
      reset_pin: NO_PIN
      feed_hold_pin: NO_PIN
    
    relay:
      direction_pin: NO_PIN
      output_pin: gpio.5
      enable_pin: NO_PIN
      disable_with_s0: false
      s0_with_disable: true
      spinup_ms: 0
      spindown_ms: 0
      tool_num: 0
      speed_map: 0=0.000% 0=100.000% 1=100.000%
    

    Startup Messages

    $ss
    [MSG:INFO: FluidNC v3.6.3]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
    [MSG:INFO: Local filesystem type is spiffs]
    [MSG:INFO: Configuration file:config_ratrig_killerbee.yaml]
    [MSG:INFO: Machine ModuloController]
    [MSG:INFO: Board ModuloControl V1]
    [MSG:INFO: SPI not defined]
    [MSG:INFO: No SD Card CS Pin]
    [MSG:INFO: See http://wiki.fluidnc.com/en/config/sd_card#sdfallbackcs-access-sd-without-a-config-file]
    [MSG:INFO: Stepping:RMT Pulse:5us Dsbl Delay:5us Dir Delay:1us Idle Delay:255ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Shared stepper disable gpio.23]
    [MSG:INFO: Axis X (0.000,510.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.26 Dir:gpio.27 Disable:NO_PIN]
    [MSG:INFO:  X Pos Limit gpio.35:low]
    [MSG:INFO: Axis Y (0.000,750.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.25 Dir:gpio.32:low Disable:NO_PIN]
    [MSG:INFO:  Y Pos Limit gpio.39:low]
    [MSG:INFO:   Motor1]
    [MSG:INFO:     stepstick Step:gpio.21 Dir:gpio.22:low Disable:NO_PIN]
    [MSG:INFO:  Y2 Pos Limit gpio.36:low]
    [MSG:INFO: Axis Z (0.000,150.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.19 Dir:gpio.18 Disable:NO_PIN]
    [MSG:INFO:  Z Pos Limit gpio.34:low]
    [MSG:INFO: safety_door_pin gpio.33:low]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: Relay Spindle Ena:NO_PIN Out:gpio.5 Dir:NO_PIN]
    [MSG:INFO: Using spindle Relay]
    [MSG:INFO: Probe Pin: gpio.4]
    [MSG:INFO: AP SSID FluidNC IP 192.168.178.1 mask 255.255.255.0 channel 1]
    [MSG:INFO: AP started]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Captive Portal Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    ok
    

    User Interface Software

    WebUI, gSender

    What happened?

    If homing of the y-axis with dual motor is started, the axis goes towards the limit switches, as soon as they get activated, the motors are stopping and not moving any more. In this state, the limit switches stays activated and the motors sounds as the direction pins are changed randomly. This behaviour starts after the upgrade from 3.5.1 to 3.6.3. Before the update everything worked fine.

    Other Information

    No response

    opened by ModuloFS 41
  • Control Pendant Support w/ Jogging Encoder

    Control Pendant Support w/ Jogging Encoder

    Is there currently support to add a control pendant for manual jogging and basic controls? Ideally it could also have an lcd display with some general info.

    My main problem that I'm trying to solve is that esp3d can be quite inconsistent with the processing times when jogging or sending commands through the terminal. I've crashed the machine on a number of occasions because I ended up sending the same command too many times while it was already in the "buffer".

    A control pendant hard-wired to the esp32 would presumably be almost instantaneous, and would provide a lot better feedback to avoid overtravel into obstacles.

    One of those jogging handwheels would be the icing on the cake if there was a way to implement that.

    enhancement 
    opened by reynolds087 39
  • Limit switch is ignored if already triggered at time of homing

    Limit switch is ignored if already triggered at time of homing

    Controller Board

    MKS DLC32

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    3-axis CNC mill

    Configuration file

    board: MKS-DLC32
    name: SWOLE-CNC
    meta: V2.6 (2202.10.11) Dax Liniere, originally by Skorpi
    
    kinematics:
      Cartesian:
    
    stepping:
      engine: I2S_STATIC
      idle_ms: 0
      pulse_us: 4
      dir_delay_us: 1
      disable_delay_us: 0
      
    axes:
      shared_stepper_disable_pin: I2SO.0
      x:
        steps_per_mm: 800.000
        #was 802.341
        max_rate_mm_per_min: 1700.000
    # was 1500.000
        acceleration_mm_per_sec2: 80.000
        max_travel_mm: 302.000
        soft_limits: true
        homing:
          cycle: 2
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 20.000
          seek_mm_per_min: 200.000
    # was 100 in first SWOLE-CNC iteration running MKS firmware
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.36
          limit_pos_pin: gpio.34
          limit_all_pin: NO_PIN
          hard_limits: true
          pulloff_mm: 1.000
          stepstick:
            step_pin: I2SO.1
            direction_pin: I2SO.2:low
            disable_pin: NO_PIN
            ms1_pin: NO_PIN
            ms2_pin: NO_PIN
            ms3_pin: NO_PIN
            reset_pin: NO_PIN
    
      y:
        steps_per_mm: 802.322
        #tested 806.062, features too small
        max_rate_mm_per_min: 1700.000
        acceleration_mm_per_sec2: 80.000
    # was 300.000
        max_travel_mm: 186.000
        soft_limits: true
        homing:
          cycle: 2
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 20.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.35
          limit_pos_pin: gpio.23
          #this pin doesn't have the same input circuitry as the 3 dedicated on-board limit switch inputs
          limit_all_pin: NO_PIN
          hard_limits: true
          pulloff_mm: 1.000
          stepstick:
            step_pin: I2SO.5
            direction_pin: I2SO.6:low
            disable_pin: NO_PIN
            ms1_pin: NO_PIN
            ms2_pin: NO_PIN
            ms3_pin: NO_PIN
            reset_pin: NO_PIN
      z:
        steps_per_mm: 802.497
        max_rate_mm_per_min: 1000.000
        acceleration_mm_per_sec2: 50.000
    # was 500.000
        max_travel_mm: 100
    #46.000
        soft_limits: true
        homing:
          cycle: 1
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 20.000
          seek_mm_per_min: 100.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.18
          #this pin doesn't have the same input circuitry as the 3 dedicated on-board limit switch inputs
          hard_limits: true
          pulloff_mm: 1.000
          stepstick:
            step_pin: I2SO.3
            direction_pin: I2SO.4:low
            disable_pin: NO_PIN
            ms1_pin: NO_PIN
            ms2_pin: NO_PIN
            ms3_pin: NO_PIN
            reset_pin: NO_PIN
    
    i2so:
      bck_pin: gpio.16
      data_pin: gpio.21
      ws_pin: gpio.17
    
    spi:
      miso_pin: gpio.12
      mosi_pin: gpio.13
      sck_pin: gpio.14
    
    sdcard:
      cs_pin: gpio.15
      card_detect_pin: NO_PIN
    # This could be GPIO.39, but Card Detect has no supported functions in FluidNC
    
    control:
      safety_door_pin: gpio.33:low:pu
    # Does the start pin need to be wired to the other side of the switch??
      cycle_start_pin: NO_PIN
      feed_hold_pin: NO_PIN
      reset_pin: NO_PIN
      macro0_pin: gpio.19:low:pu
      macro1_pin: NO_PIN
      macro2_pin: NO_PIN
      macro3_pin: NO_PIN
    
    macros:
      startup_line0:
      startup_line1:
      macro0: $X&$H
      macro1:
      macro2:
      macro3: $SD/Run=lasertest.gcode
    
    coolant:
      flood_pin: gpio.0
    # continuous air
      mist_pin:  gpio.4
    # pulsed air 
      delay_ms: 0
    
    probe:
      pin: gpio.22:low
      check_mode_start: true
      
    
    10V:
    # Spindle
      direction_pin: NO_PIN
      forward_pin: gpio.5:low
      reverse_pin: NO_PIN
      output_pin: gpio.32
      enable_pin: NO_PIN
      pwm_hz: 5000
      disable_with_s0: false
      s0_with_disable: true
      spinup_ms: 10000
      spindown_ms: 12000
      tool_num: 0
      speed_map: 0=0% 0=25% 5868=25% 23237=99% 24000=100%
    #DLC32 Spindle TTL max output voltage is 4.89v, so it can never reach 24000rpm/400Hz
    
    
    #pwm:
    #  direction_pin: NO_PIN
    #  output_pin: gpio.32
    #  enable_pin: gpio.5:low
    #  pwm_hz: 5000
    #  disable_with_s0: false
    #  s0_with_disable: true
    #  spinup_ms: 10000
    #  spindown_ms: 12000
    #  tool_num: 0
    #  speed_map: 0=0% 0=25% 5868=25% 23237=99% 24000=100%
    
    
    user_outputs:
      analog0_pin: NO_PIN
      analog1_pin: NO_PIN
      analog2_pin: NO_PIN
      analog3_pin: NO_PIN
      analog0_hz: 5000
      analog1_hz: 5000
      analog2_hz: 5000
      analog3_hz: 5000
      digital0_pin: NO_PIN
      digital1_pin: NO_PIN
      digital2_pin: NO_PIN
      digital3_pin: NO_PIN
    
    start:
      must_home: false
    # Pins that could be used: 0(SDA), 4(SCL), 5, 18, 19, 22, 23, 25, 26, 27, 32 (TTL spindle control), 33, 39, I2SO.7
    # Pins not currently in use: 25 (TMC_CS_Y), 26 (TMC_CS_X), 27 (TMC_CS_Z), (39 SD card detect), I2SO.7
    

    Startup Messages

    *** Connecting to jserialcomm://COM5:115200
    *** Fetching device status
    *** Fetching device firmware version
    *** Fetching device status codes
    *** Fetching device state
    *** Fetching device settings
    *** Connected to FluidNC 3.6.0
    

    User Interface Software

    UGS 2.0.12+dev

    What happened?

    FNC 3.6.1-pre1-FS

    Limit switch is ignored if already triggered at time of homing, resulting in carriage grinding up again end stop until controller is reset.

    See it happen here: https://www.youtube.com/watch?v=aow6SEUhhIM

    Other Information

    No response

    opened by daxliniere 37
  • Problem: No stepper movement

    Problem: No stepper movement

    Controller Board

    Hello. I'm using the FluidNC Pen Laser Controller (SPI) with TMC2130 drivers. The board is V1.2, which I'm assuming has the same pinout as v1.0, running FluidNC v3.4.5

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    The machine is a corexy sand table (ZENXYv2).

    Configuration file

    Config file pulled from memory via the $CD command in the web interface
    
    board: FluidNC Pen/Laser 2130
    name: TMC2130 ZenXY
    meta: 
    stepping:
      engine: RMT
      idle_ms: 255
      pulse_us: 2
      dir_delay_us: 1
      disable_delay_us: 0
      segments: 6
    axes:
      shared_stepper_disable_pin: NO_PIN
      shared_stepper_reset_pin: NO_PIN
      x:
        steps_per_mm: 80.000
        max_rate_mm_per_min: 1000.000
        acceleration_mm_per_sec2: 25.000
        max_travel_mm: 450.000
        soft_limits: true
        homing:
          cycle: 2
          allow_single_axis: true
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
        motor0:
          limit_neg_pin: gpio.39
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          tmc_2130:
            step_pin: gpio.14
            direction_pin: gpio.12
            disable_pin: NO_PIN
            r_sense_ohms: 0.110
            run_amps: 0.250
            hold_amps: 0.250
            microsteps: 32
            toff_disable: 0
            toff_stealthchop: 5
            use_enable: false
            cs_pin: gpio.16
            spi_index: -1
            run_mode: StealthChop
            homing_mode: StealthChop
            stallguard: 0
            stallguard_debug: false
            toff_coolstep: 3
        motor1:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          null_motor:
      y:
        steps_per_mm: 80.000
        max_rate_mm_per_min: 1000.000
        acceleration_mm_per_sec2: 25.000
        max_travel_mm: 885.000
        soft_limits: true
        homing:
          cycle: 1
          allow_single_axis: true
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
        motor0:
          limit_neg_pin: gpio.36
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          tmc_2130:
            step_pin: gpio.25
            direction_pin: gpio.26
            disable_pin: NO_PIN
            r_sense_ohms: 0.110
            run_amps: 0.250
            hold_amps: 0.250
            microsteps: 32
            toff_disable: 0
            toff_stealthchop: 5
            use_enable: false
            cs_pin: gpio.17
            spi_index: -1
            run_mode: StealthChop
            homing_mode: StealthChop
            stallguard: 0
            stallguard_debug: false
            toff_coolstep: 3
        motor1:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          null_motor:
      z:
        steps_per_mm: 80.000
        max_rate_mm_per_min: 1000.000
        acceleration_mm_per_sec2: 25.000
        max_travel_mm: 1000.000
        soft_limits: false
        homing:
          cycle: 0
          allow_single_axis: true
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 50.000
          seek_mm_per_min: 200.000
          settle_ms: 250
          seek_scaler: 1.100
          feed_scaler: 1.100
    kinematics:
      CoreXY:
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    sdcard:
      cs_pin: gpio.5
      card_detect_pin: NO_PIN
    control:
      safety_door_pin: NO_PIN
      reset_pin: NO_PIN
      feed_hold_pin: NO_PIN
      cycle_start_pin: NO_PIN
      macro0_pin: NO_PIN
      macro1_pin: NO_PIN
      macro2_pin: NO_PIN
      macro3_pin: NO_PIN
    coolant:
      flood_pin: NO_PIN
      mist_pin: NO_PIN
      delay_ms: 0
    probe:
      pin: NO_PIN
      check_mode_start: true
    macros:
      startup_line0: 
      startup_line1: 
      macro0: 
      macro1: 
      macro2: 
      macro3: 
    start:
      must_home: true
      deactivate_parking: false
      check_limits: false
    user_outputs:
      analog0_pin: NO_PIN
      analog1_pin: NO_PIN
      analog2_pin: NO_PIN
      analog3_pin: NO_PIN
      analog0_hz: 5000
      analog1_hz: 5000
      analog2_hz: 5000
      analog3_hz: 5000
      digital0_pin: NO_PIN
      digital1_pin: NO_PIN
      digital2_pin: NO_PIN
      digital3_pin: NO_PIN
    arc_tolerance_mm: 0.002
    junction_deviation_mm: 0.010
    verbose_errors: false
    report_inches: false
    enable_parking_override_control: false
    use_line_numbers: false
    planner_blocks: 16
    NoSpindle:
    

    Startup Messages

    [MSG:INFO: FluidNC v3.4.5]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4-beta1-189-ga79dc75f0a]
    [MSG:INFO: Local filesystem type is SPIFFS]
    [MSG:INFO: Configuration file:config_01.yaml]
    [MSG:INFO: Machine TMC2130 ZenXY]
    [MSG:INFO: Board FluidNC Pen/Laser 2130]
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
    [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]
    [MSG:INFO: Stepping:RMT Pulse:2us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Axis X (0.000,450.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     tmc_2130 Step:gpio.14 Dir:gpio.12 CS:gpio.16 Disable:NO_PIN Index:-1 R:0.110]
    [MSG:INFO:     Neg Limit gpio.39]
    [MSG:INFO:   Motor1]
    [MSG:INFO: Axis Y (0.000,885.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     tmc_2130 Step:gpio.25 Dir:gpio.26 CS:gpio.17 Disable:NO_PIN Index:-1 R:0.110]
    [MSG:INFO:     Neg Limit gpio.36]
    [MSG:INFO:   Motor1]
    [MSG:INFO: Axis Z (-1000.000,0.000)]
    [MSG:INFO: X Axis driver test passed]
    [MSG:INFO: Y Axis driver test passed]
    [MSG:INFO: Kinematic system: CoreXY]
    [MSG:INFO: Using spindle NoSpindle]
    [MSG:INFO: STA SSID is not set]
    [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
    [MSG:INFO: AP started]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Captive Portal Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    

    User Interface Software

    webUI

    What happened?

    I can't get any movement out of the steppers at all. I'm fairly certain I've gone wrong somewhere in my config file. I've attempted to create one by merging the example code for a coreXY plotter using 2209 drivers (https://github.com/bdring/FluidNC/blob/main/example_configs/TMC2209_corexy.yaml) and the example config for a cartesian plotter using TMC2130 drivers (https://github.com/bdring/FluidNC/blob/main/example_configs/TMC2130_pen.yaml).

    Other Information

    No response

    opened by codingishard404 37
  • Problem: Random shifting of gcode on one axis

    Problem: Random shifting of gcode on one axis

    Controller Board

    Grbl_ESP CNC Controller 4 Axis External Drivers V2.0 https://github.com/bdring/4_Axis_External_Driver

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    Chinese CNC6040 with original control board and 0.8kw VFD spindle. FluidNC step/dir outputs are connected to the parallel port input of that control board. The same configuration has been running with grbl for years without issues. Stepper drivers are included in the control board (TB6560AH) Limit switches are NO directly connected to the "4 Axis External Drivers" pcb. NowForever VDF connected to RS485 port of the board. No sd card inserted into the slot. Board running at 24V (yes i made sure the buck converter and input cap can handle that, double and triple checked the schematic to make sure i wouldn't fry anything by doing that)

    Input Circuits

    NO switches connected to the isolated inputs of the "4 Axis External Drivers V2.0" board. Just a wire and a switch.
    

    Configuration file

    Config file:
    
    name: "CNC 6040"
    board: "Grbl_ESP32 4 Axis External Drives V2.0"
    
    start:
      must_home: true
      deactivate_parking: true
      check_limits: true
    
    control:
      feed_hold_pin: NO_PIN
      cycle_start_pin: NO_PIN
    
    stepping:
      engine: RMT
      idle_ms: 250
      dir_delay_us: 1
      pulse_us: 2
      disable_delay_us: 1
    
    axes:
      shared_stepper_disable_pin: gpio.13:low
      shared_stepper_reset_pin: NO_PIN
    
      x:
        steps_per_mm: 320
        max_rate_mm_per_min: 800
        acceleration_mm_per_sec2: 15
        max_travel_mm: 397
        soft_limits: true
    
        homing:
          cycle: 2
          allow_single_axis: true
          positive_direction: true
          mpos_mm: 0
          seek_mm_per_min: 800.000
          feed_mm_per_min: 25.000
          settle_ms: 250
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_pos_pin: gpio.34:low
          hard_limits: true
          pulloff_mm: 1
          standard_stepper:
            direction_pin: gpio.2
            step_pin: gpio.0
    
        motor1:
          null_motor:
    
      y:
        steps_per_mm: 320
        max_rate_mm_per_min: 800
        acceleration_mm_per_sec2: 15
        max_travel_mm: 583
        soft_limits: true
    
        homing:
          cycle: 2
          allow_single_axis: true
          positive_direction: false
          mpos_mm: 0
          seek_mm_per_min: 800.000
          feed_mm_per_min: 25.000
          settle_ms: 250
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.35:low
          hard_limits: true
          pulloff_mm: 1
          standard_stepper:
            direction_pin: gpio.15:low
            step_pin: gpio.26
    
        motor1:
          null_motor:
    
      z:
        steps_per_mm: 320
        max_rate_mm_per_min: 800
        acceleration_mm_per_sec2: 25
        max_travel_mm: 73
        soft_limits: true
    
        homing:
          cycle: 1
          allow_single_axis: true
          positive_direction: true
          mpos_mm: 0
          seek_mm_per_min: 600.000
          feed_mm_per_min: 25.000
          settle_ms: 250
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_pos_pin: gpio.36:low
          hard_limits: true
          pulloff_mm: 1
          standard_stepper:
            direction_pin: gpio.33:low
            step_pin: gpio.27
    
        motor1:
          null_motor:
    
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    
    sdcard:
      cs_pin: gpio.5
      card_detect_pin: NO_PIN
    
    coolant:
      flood_pin: NO_PIN
      mist_pin:  gpio.21
    
    probe:
      pin: gpio.32:low:pu
      check_mode_start: true
    
    NowForever:
      uart:
        txd_pin: gpio.17
        rxd_pin: gpio.4
        rts_pin: gpio.16
        baud: 9600
        mode: 8N1
      modbus_id: 1
      tool_num: 0
      speed_map: 0=0% 24000=100%
    
    
    
    
    Output of $CD:
    board: Grbl_ESP32 4 Axis External Drives V2.0                                                                                                                                                                    
    name: CNC 6040                                                                                                                                                                                                   
    meta:                                                                                                                                                                                                            
    stepping:                                                                                                                                                                                                        
      engine: RMT                                                                                                                                                                                                    
      idle_ms: 250                                                                                                                                                                                                   
      pulse_us: 2                                                                                                                                                                                                    
      dir_delay_us: 1                                                                                                                                                                                                
      disable_delay_us: 1                                                                                                                                                                                            
      segments: 12                                                                                                                                                                                                   
                                                                                                                                                                                                                     
    axes:                                                                                                                                                                                                            
      shared_stepper_disable_pin: gpio.13:low                                                                                                                                                                        
      shared_stepper_reset_pin: NO_PIN                                                                                                                                                                               
      x:                                                                                                                                                                                                             
        steps_per_mm: 320.000                                                                                                                                                                                        
        max_rate_mm_per_min: 800.000                                                                                                                                                                                 
        acceleration_mm_per_sec2: 15.000                                                                                                                                                                             
        max_travel_mm: 397.000                                                                                                                                                                                       
        soft_limits: true                                                                                                                                                                                            
        homing:                                                                                                                                                                                                      
          cycle: 2                                                                                                                                                                                                   
          allow_single_axis: true                                                                                                                                                                                    
          positive_direction: true                                                                                                                                                                                   
          mpos_mm: 0.000                                                                                                                                                                                             
          feed_mm_per_min: 25.000                                                                                                                                                                                    
          seek_mm_per_min: 800.000                                                                                                                                                                                   
          settle_ms: 250                                                                                                                                                                                             
          seek_scaler: 1.100                                                                                                                                                                                         
          feed_scaler: 1.100                                                                                                                                                                                         
                                                                                                                                                                                                                     
        motor0:                                                                                                                                                                                                      
          limit_neg_pin: NO_PIN                                                                                                                                                                                      
          limit_pos_pin: gpio.34:low                                                                                                                                                                                 
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: true                                                                                                                                                                                          
          pulloff_mm: 1.000                                                                                                                                                                                          
          standard_stepper:                                                                                                                                                                                          
            step_pin: gpio.0                                                                                                                                                                                         
            direction_pin: gpio.2                                                                                                                                                                                    
            disable_pin: NO_PIN                                                                                                                                                                                      
                                                                                                                                                                                                                     
        motor1:                                                                                                                                                                                                      
          limit_neg_pin: NO_PIN                                                                                                                                                                                      
          limit_pos_pin: NO_PIN                                                                                                                                                                                      
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: false                                                                                                                                                                                         
          pulloff_mm: 1.000                                                                                                                                                                                          
          null_motor:                                                                                                                                                                                                
                                                                                                                                                                                                                     
      y:                                                                                                                                                                                                             
        steps_per_mm: 320.000                                                                                                                                                                                        
        max_rate_mm_per_min: 800.000                                                                                                                                                                                 
        acceleration_mm_per_sec2: 15.000                                                                                                                                                                             
        max_travel_mm: 583.000                                                                                                                                                                                       
        soft_limits: true                                                                                                                                                                                            
        homing:                                                                                                                                                                                                      
          cycle: 2                                                                                                                                                                                                   
          allow_single_axis: true                                                                                                                                                                                    
          positive_direction: false                                                                                                                                                                                  
          mpos_mm: 0.000                                                                                                                                                                                             
          feed_mm_per_min: 25.000                                                                                                                                                                                    
          seek_mm_per_min: 800.000                                                                                                                                                                                   
          settle_ms: 250                                                                                                                                                                                             
          seek_scaler: 1.100                                                                                                                                                                                         
          feed_scaler: 1.100                                                                                                                                                                                         
                                                                                                                                                                                                                     
        motor0:                                                                                                                                                                                                      
          limit_neg_pin: gpio.35:low                                                                                                                                                                                 
          limit_pos_pin: NO_PIN                                                                                                                                                                                      
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: true                                                                                                                                                                                          
          pulloff_mm: 1.000                                                                                                                                                                                          
          standard_stepper:                                                                                                                                                                                          
            step_pin: gpio.26                                                                                                                                                                                        
            direction_pin: gpio.15:low                                                                                                                                                                               
            disable_pin: NO_PIN                                                                                                                                                                                      
                                                                                                                                                                                                                     
        motor1:                                                                                                                                                                                                      
          limit_neg_pin: NO_PIN                                                                                                                                                                                      
          limit_pos_pin: NO_PIN                                                                                                                                                                                      
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: false                                                                                                                                                                                         
          pulloff_mm: 1.000                                                                                                                                                                                          
          null_motor:                                                                                                                                                                                                
                                                                                                                                                                                                                     
      z:                                                                                                                                                                                                             
        steps_per_mm: 320.000                                                                                                                                                                                        
        max_rate_mm_per_min: 800.000                                                                                                                                                                                 
        acceleration_mm_per_sec2: 25.000                                                                                                                                                                             
        max_travel_mm: 73.000                                                                                                                                                                                        
        soft_limits: true                                                                                                                                                                                            
        homing:                                                                                                                                                                                                      
          cycle: 1                                                                                                                                                                                                   
          allow_single_axis: true                                                                                                                                                                                    
          positive_direction: true                                                                                                                                                                                   
          mpos_mm: 0.000                                                                                                                                                                                             
          feed_mm_per_min: 25.000                                                                                                                                                                                    
          seek_mm_per_min: 600.000                                                                                                                                                                                   
          settle_ms: 250                                                                                                                                                                                             
          seek_scaler: 1.100                                                                                                                                                                                         
          feed_scaler: 1.100                                                                                                                                                                                         
                                                                                                                                                                                                                     
        motor0:                                                                                                                                                                                                      
          limit_neg_pin: NO_PIN                                                                                                                                                                                      
          limit_pos_pin: gpio.36:low                                                                                                                                                                                 
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: true                                                                                                                                                                                          
          pulloff_mm: 1.000                                                                                                                                                                                          
          standard_stepper:                                                                                                                                                                                          
            step_pin: gpio.27                                                                                                                                                                                        
            direction_pin: gpio.33:low                                                                                                                                                                               
            disable_pin: NO_PIN                                                                                                                                                                                      
                                                                                                                                                                                                                     
        motor1:                                                                                                                                                                                                      
          limit_neg_pin: NO_PIN                                                                                                                                                                                      
          limit_pos_pin: NO_PIN                                                                                                                                                                                      
          limit_all_pin: NO_PIN                                                                                                                                                                                      
          hard_limits: false                                                                                                                                                                                         
          pulloff_mm: 1.000                                                                                                                                                                                          
          null_motor:                                                                                                                                                                                                
                                                                                                                                                                                                                     
    kinematics:                                                                                                                                                                                                      
      Cartesian:                                                                                                                                                                                                     
                                                                                                                                                                                                                     
    spi:                                                                                                                                                                                                             
      miso_pin: gpio.19                                                                                                                                                                                              
      mosi_pin: gpio.23                                                                                                                                                                                              
      sck_pin: gpio.18                                                                                                                                                                                               
                                                                                                                                                                                                                     
    sdcard:                                                                                                                                                                                                          
      cs_pin: gpio.5                                                                                                                                                                                                 
      card_detect_pin: NO_PIN                                                                                                                                                                                        
                                                                                                                                                                                                                     
    control:                                                                                                                                                                                                         
      safety_door_pin: NO_PIN                                                                                                                                                                                        
      reset_pin: NO_PIN                                                                                                                                                                                              
      feed_hold_pin: NO_PIN                                                                                                                                                                                          
      cycle_start_pin: NO_PIN                                                                                                                                                                                        
      macro0_pin: NO_PIN                                                                                                                                                                                             
      macro1_pin: NO_PIN                                                                                                                                                                                             
      macro2_pin: NO_PIN                                                                                                                                                                                             
      macro3_pin: NO_PIN                                                                                                                                                                                             
                                                                                                                                                                                                                     
    coolant:                                                                                                                                                                                                         
      flood_pin: NO_PIN                                                                                                                                                                                              
      mist_pin: gpio.21                                                                                                                                                                                              
      delay_ms: 0                                                                                                                                                                                                    
                                                                                                                                                                                                                     
    probe:                                                                                                                                                                                                           
      pin: gpio.32:low:pu                                                                                                                                                                                            
      check_mode_start: true                                                                                                                                                                                         
                                                                                                                                                                                                                     
    macros:                                                                                                                                                                                                          
      startup_line0:                                                                                                                                                                                                 
      startup_line1:                                                                                                                                                                                                 
      macro0:                                                                                                                                                                                                        
      macro1:                                                                                                                                                                                                        
      macro2:                                                                                                                                                                                                        
      macro3:                                                                                                                                                                                                        
                                                                                                                                                                                                                     
    start:                                                                                                                                                                                                           
      must_home: true                                                                                                                                                                                                
      deactivate_parking: true                                                                                                                                                                                       
      check_limits: true                                                                                                                                                                                             
                                                                                                                                                                                                                     
    parking:                                                                                                                                                                                                         
      enable: false                                                                                                                                                                                                  
      axis: Z                                                                                                                                                                                                        
      target_mpos_mm: -5.000                                                                                                                                                                                         
      rate_mm_per_min: 800.000                                                                                                                                                                                       
      pullout_distance_mm: 5.000                                                                                                                                                                                     
      pullout_rate_mm_per_min: 250.000                                                                                                                                                                               
                                                                                                                                                                                                                     
    user_outputs:                                                                                                                                                                                                    
      analog0_pin: NO_PIN                                                                                                                                                                                            
      analog1_pin: NO_PIN                                                                                                                                                                                            
      analog2_pin: NO_PIN                                                                                                                                                                                            
      analog3_pin: NO_PIN                                                                                                                                                                                            
      analog0_hz: 5000                                                                                                                                                                                               
      analog1_hz: 5000                                                                                                                                                                                               
      analog2_hz: 5000                                                                                                                                                                                               
      analog3_hz: 5000                                                                                                                                                                                               
      digital0_pin: NO_PIN                                                                                                                                                                                           
      digital1_pin: NO_PIN                                                                                                                                                                                           
      digital2_pin: NO_PIN                                                                                                                                                                                           
      digital3_pin: NO_PIN                                                                                                                                                                                           
                                                                                                                                                                                                                     
    arc_tolerance_mm: 0.002                                                                                                                                                                                          
    junction_deviation_mm: 0.010                                                                                                                                                                                     
    verbose_errors: false                                                                                                                                                                                            
    report_inches: false                                                                                                                                                                                             
    enable_parking_override_control: false                                                                                                                                                                           
    use_line_numbers: false                                                                                                                                                                                          
    planner_blocks: 16                                                                                                                                                                                               
    NowForever:                                                                                                                                                                                                      
      uart:                                                                                                                                                                                                          
        txd_pin: gpio.17                                                                                                                                                                                             
        rxd_pin: gpio.4                                                                                                                                                                                              
        rts_pin: gpio.16                                                                                                                                                                                             
        cts_pin: NO_PIN                                                                                                                                                                                              
        baud: 9600                                                                                                                                                                                                   
        mode: 8N1                                                                                                                                                                                                    
                                                                                                                                                                                                                     
      modbus_id: 1                                                                                                                                                                                                   
      tool_num: 0                                                                                                                                                                                                    
      speed_map: 0=0.000% 24000=100.000%                                                                                                                                                                             
      off_on_alarm: false
    

    Startup Messages

    Will add proper boot messages tomorrow. For now only without being plugged into the board and with no VFD connected. (that's why its complaining about the limits and the VFD)
    
    Resetting MCU                                                                                                                                                                                                    
    ets Jun  8 2016 00:22:57                                                                                                                                                                                         
                                                                                                                                                                                                                     
    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)                                                                                                                                                          
    configsip: 0, SPIWP:0xee                                                                                                                                                                                         
    clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00                                                                                                                                          
    mode:DIO, clock div:1                                                                                                                                                                                            
    load:0x3fff0030,len:1184                                                                                                                                                                                         
    load:0x40078000,len:12812                                                                                                                                                                                        
    load:0x40080400,len:3032                                                                                                                                                                                         
    entry 0x400805e4                                                                                                                                                                                                 
                                                                                                                                                                                                                     
    [MSG:INFO: FluidNC v3.6.2]                                                                                                                                                                                       
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]                                                                                                                                                         
    [MSG:INFO: Local filesystem type is spiffs]                                                                                                                                                                      
    [MSG:INFO: Configuration file:config.yaml]                                                                                                                                                                       
    [MSG:DBG: Running after-parse tasks]                                                                                                                                                                             
    [MSG:DBG: Checking configuration]                                                                                                                                                                                
    [MSG:INFO: Machine CNC 6040]                                                                                                                                                                                     
    [MSG:INFO: Board Grbl_ESP32 4 Axis External Drives V2.0]                                                                                                                                                         
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]                                                                                                                                                            
    [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]                                                                                                                                                                  
    [MSG:INFO: Stepping:RMT Pulse:2us Dsbl Delay:1us Dir Delay:1us Idle Delay:250ms]                                                                                                                                 
    [MSG:INFO: Axis count 3]                                                                                                                                                                                         
    [MSG:INFO: Shared stepper disable gpio.13:low]                                                                                                                                                                   
    [MSG:INFO: Axis X (-397.000,0.000)]                                                                                                                                                                              
    [MSG:INFO:   Motor0]                                                                                                                                                                                             
    [MSG:INFO:     standard_stepper Step:gpio.0 Dir:gpio.2 Disable:NO_PIN]                                                                                                                                           
    [MSG:INFO:  X Pos Limit gpio.34:low]                                                                                                                                                                             
    [MSG:DBG: Updating  X Pos Limit]                                                                                                                                                                                 
    [MSG:DBG:  X Pos Limit 1]                                                                                                                                                                                        
    [MSG:INFO:   Motor1]                                                                                                                                                                                             
    [MSG:INFO: Axis Y (0.000,583.000)]                                                                                                                                                                               
    [MSG:INFO:   Motor0]                                                                                                                                                                                             
    [MSG:INFO:     standard_stepper Step:gpio.26 Dir:gpio.15:low Disable:NO_PIN]                                                                                                                                     
    [MSG:INFO:  Y Neg Limit gpio.35:low]                                                                                                                                                                             
    [MSG:DBG: Updating  Y Neg Limit]                                                                                                                                                                                 
    [MSG:DBG:  Y Neg Limit 1]                                                                                                                                                                                        
    [MSG:INFO:   Motor1]                                                                                                                                                                                             
    [MSG:INFO: Axis Z (-73.000,0.000)]                                                                                                                                                                               
    [MSG:INFO:   Motor0]                                                                                                                                                                                             
    [MSG:INFO:     standard_stepper Step:gpio.27 Dir:gpio.33:low Disable:NO_PIN]                                                                                                                                     
    [MSG:INFO:  Z Pos Limit gpio.36:low]                                                                                                                                                                             
    [MSG:DBG: Updating  Z Pos Limit]                                                                                                                                                                                 
    [MSG:DBG:  Z Pos Limit 1]                                                                                                                                                                                        
    [MSG:INFO:   Motor1]                                                                                                                                                                                             
    [MSG:INFO: Kinematic system: Cartesian]                                                                                                                                                                          
    [MSG:INFO: NowForever Spindle Uart Tx:gpio.17 Rx:gpio.4 RTS:gpio.16 Baud:9600]                                                                                                                                   
    [MSG:INFO: Using spindle NowForever]                                                                                                                                                                             
    [MSG:INFO: Mist coolant gpio.21]                                                                                                                                                                                 
    [MSG:INFO: Probe Pin: gpio.32:low:pu]                                                                                                                                                                            
    [MSG:INFO: WiFi is disabled]                                                                                                                                                                                     
    [MSG:DBG: VFD setState:0 SpindleSpeed:0]                                                                                                                                                                         
    [MSG:DBG: RPM:0 mapped to device units:1073423424]                                                                                                                                                               
                                                                                                                                                                                                                     
    Grbl 3.6 [FluidNC v3.6.2 (wifi) '$' for help]                                                                                                                                                                    
    [MSG:INFO: Check limits]                                                                                                                                                                                         
    [MSG:INFO: '$H'|'$X' to unlock]                                                                                                                                                                                  
    [MSG:INFO: VFD RS485 Unresponsive]
    

    User Interface Software

    Universal Gcode Platform 20220917

    What happened?

    Sometimes axis just randomly "shift" while executing gcode. In this example the X axis shifted towards +X about 2mm. Other times the Z axis was shifting towards -Z an unknown amount. This causes parts of the cuts to be misaligned with the rest or travel moves to intersect with the part. The attached pictures show the result (was repeatable 3x) vs the expected part (ugs preview and camotics simulation) The misaligned features so far were only "G2" commands as far as i could tell (not 1000% sure though). Also not sure if that's related or not but after aborting the execution of that file i remember having issues with homing. Some axis would still report an alarm even though as far as i could tell none of the limit switches were triggered. Motor movement while homing a second time was also erratic. cut_part camotics ugs

    GCode file in question:
    Generated using Version: 0.21.30193 (Git) AppImage and grbl post processor with the following options: --no-show-editor --translate_drill

    SolenoidMountPlate.txt

    Other Information

    Earlier the same day i cut 3 parts without issues (that included G2 spiral path codes as well, lots of them in fact) without issues. The fourth part failed with the issues described above (didnt notice that yet). After a few hours of the machine and host pc being completely powered down (plugs pulled) i tried to cut the part in the picture. Rebooted and power cycled the machine after the first failure without any effect.

    SOLVED 
    opened by LukasGossmann 33
  • problemi di scansione utilizzando mks dlc32 e lightburn

    problemi di scansione utilizzando mks dlc32 e lightburn

    Controller Board

    mks dlc32 v.2.1

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    Laser co2 50w su telaio autocostruito con piano di 1300x900.

    Configuration file

    board: MKS DLC32 2.1
    name: MKS DLC32 XYZ
    meta: (08/07/2022) Biagio
    
    arc_tolerance_mm: 0.002
    junction_deviation_mm: 0.010
    verbose_errors: false
    report_inches: false
    enable_parking_override_control: false
    use_line_numbers: false
    planner_blocks: 16
    
    stepping:
      engine: I2S_STREAM
      idle_ms: 255
      pulse_us: 10
      dir_delay_us: 1
      disable_delay_us: 0
    
    axes:
      shared_stepper_disable_pin: i2so.0
      x:
        steps_per_mm: 79.973
        max_rate_mm_per_min: 20000.000
        acceleration_mm_per_sec2: 3000.000
        max_travel_mm: 1226.000
        soft_limits: true
        homing:
          cycle: 1
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 1000.000
          seek_mm_per_min: 5000.000
          settle_ms: 250.000
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.36:low
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm:1.000
          stepstick:
            step_pin:  i2so.1
            direction_pin: I2SO.2
    
      y:
        steps_per_mm: 80.194
        max_rate_mm_per_min: 10000.000
        acceleration_mm_per_sec2: 350.000
        max_travel_mm: 898.000
        soft_limits: true
        homing:
          cycle: 1
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 1000.000
          seek_mm_per_min: 5000.000
          settle_ms: 250.000
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.35:low
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm:1.000
          stepstick:
            step_pin: I2SO.5
            direction_pin: I2SO.6
    
      z:
        steps_per_mm: 640.000
        max_rate_mm_per_min: 200.000
        acceleration_mm_per_sec2: 50.000
        max_travel_mm: 170.000
        soft_limits: true
        homing:
          cycle: 0
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 200.000
          seek_mm_per_min: 200.000
          settle_ms: 250.000
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.34:low
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm:1.000
          stepstick:
            step_pin: I2SO.3
            direction_pin: I2SO.4:low
    
    i2so:
      bck_pin: gpio.16
      data_pin: gpio.21
      ws_pin: gpio.17
    
    spi:
      miso_pin: gpio.12
      mosi_pin: gpio.13
      sck_pin: gpio.14
    
    sdcard:
      card_detect_pin: NO_PIN
      cs_pin: gpio.15
    
    probe:
      pin: gpio.2
      check_mode_start: false
    
    start:
      must_home: false
    
    Laser:
      pwm_hz: 5000
      output_pin: gpio.32
      enable_pin: NO_PIN
      disable_with_s0: false
      s0_with_disable: true
      speed_map: 0=0.000% 0=9.000% 1000=100.000%
    

    Startup Messages

    nessun errore
    

    User Interface Software

    lightburn

    What happened?

    Salve, ho la configurazione come sopra e ho notato problemi di scansione di testo riempito con lightburn. in pratica il mio testo, anche impostando una sovrascansione del 5% viene come sdoppiato. sono riuscito ad accendere il laser al 1% grazie a speed_map, anche variandolo non ottengo cambiamenti. ho trovato in rete di impostare I2S_static al posto di I2S_stream. ottengo benefici senza perdere niente?

    Other Information

    No response

    opened by distebia 33
  • The laser does not turn off in M3 mode for G0 moves

    The laser does not turn off in M3 mode for G0 moves

    Controller Board

    mks dlc 2.1

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    mks dlc32 v2.1

    Configuration file

    board: MKS DLC32 2.1 name: MKS DLC32 XYZ meta: (08/07/2022) Biagio

    arc_tolerance_mm: 0.002 junction_deviation_mm: 0.010 verbose_errors: false report_inches: false enable_parking_override_control: false use_line_numbers: false planner_blocks: 16

    stepping: engine: I2S_STATIC idle_ms: 255 pulse_us: 4 dir_delay_us: 1 disable_delay_us: 0

    axes: shared_stepper_disable_pin: i2so.0 x: steps_per_mm: 79.973 max_rate_mm_per_min: 20000.000 acceleration_mm_per_sec2: 5000.000 max_travel_mm: 1226.000 soft_limits: true homing: cycle: 1 positive_direction: false mpos_mm: 0.000 feed_mm_per_min: 1000.000 seek_mm_per_min: 5000.000 settle_ms: 250.000 seek_scaler: 1.100 feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.36
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.500
      stepstick:
        step_pin:  i2so.1
        direction_pin: I2SO.2
    

    y: steps_per_mm: 80.194 max_rate_mm_per_min: 10000.000 acceleration_mm_per_sec2: 200.000 max_travel_mm: 898.000 soft_limits: true homing: cycle: 1 positive_direction: false mpos_mm: 0.000 feed_mm_per_min: 1000.000 seek_mm_per_min: 5000.000 settle_ms: 250.000 seek_scaler: 1.100 feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.35
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.500
      stepstick:
        step_pin: I2SO.5
        direction_pin: I2SO.6
    

    z: steps_per_mm: 640.000 max_rate_mm_per_min: 200.000 acceleration_mm_per_sec2: 50.000 max_travel_mm: 170.000 soft_limits: true homing: cycle: 0 positive_direction: true mpos_mm: 0.000 feed_mm_per_min: 200.000 seek_mm_per_min: 200.000 settle_ms: 250.000 seek_scaler: 1.100 feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.34
      limit_pos_pin: NO_PIN
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.000
      stepstick:
        step_pin: I2SO.3
        direction_pin: I2SO.4:low
    

    i2so: bck_pin: gpio.16 data_pin: gpio.21 ws_pin: gpio.17

    spi: miso_pin: gpio.12 mosi_pin: gpio.13 sck_pin: gpio.14

    sdcard: card_detect_pin: NO_PIN cs_pin: gpio.15

    coolant: flood_pin: gpio.4 mist_pin: NO_PIN delay_ms: 0

    probe: pin: gpio.2 check_mode_start: false

    start: must_home: false

    Laser: pwm_hz: 15000 output_pin: gpio.32 enable_pin: NO_PIN disable_with_s0: false s0_with_disable: true speed_map: 0=0.000% 0=10.000% 1000=100.000%

    Salve, ho un laser co2 autocostruito e, fra alimentatore e tubo, in arduino uno impostavo in config.h il comando PWM_MIN_VALUE=25 (pwm da 0 a 255) per accendere il laser al 1% in Lightburn. Passo a MKS DLC32 e carico FluidNc 3.4.4 per un problema di scansione e funziona perfettamente. Riesco ad accendere il laser al 1% (quindi il mio Speed_map funziona) e ho M4 all'avvio...tutto perfetto...Ieri ho effettuato un taglio con Constant power mode, quindi M3, e il laser non si spegneva nei movimenti rapidi...dove sbaglio? p.s.: LB configurato con SMax=1000

    Other Information

    No response

    opened by distebia 30
  • RS 485 issue

    RS 485 issue

    Controller Board

    6-pack

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    Gantry router with tb6600's Recommended Huanyang vfd 2.2 Kw water cooled spindle no end stops connected yet

    Input Circuits

    No response

    Configuration file

    board: 6 Pack
    name: FluidNC
    meta: 2022-09-05 Andrew Luger 315469
    stepping:
      engine: I2S_STREAM
      idle_ms: 250
      pulse_us: 4
      dir_delay_us: 1
      disable_delay_us: 0
    
    axes:
      shared_stepper_disable_pin: NO_PIN
      x:
        steps_per_mm: 160.000
        max_rate_mm_per_min: 4000.000
        acceleration_mm_per_sec2: 750.000
        max_travel_mm: 1220.000
        soft_limits: false
        homing:
          cycle: 2
          positive_direction: false
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.33
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.2
            direction_pin: I2SO.1
            disable_pin: I2SO.0
    
      y:
        steps_per_mm: 160.000
        max_rate_mm_per_min: 4000.000
        acceleration_mm_per_sec2: 750.000
        max_travel_mm: 640.000
        soft_limits: false
        homing:
          cycle: 2
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 200.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: gpio.32
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.5
            direction_pin: I2SO.4:low
            disable_pin: I2SO.7
        
        motor1:
          limit_neg_pin: NO_PIN
          limit_pos_pin: NO_PIN
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.10
            direction_pin: I2SO.9:low
            disable_pin: I2SO.8
    
      z:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 3000.000
        acceleration_mm_per_sec2: 500.000
        max_travel_mm: 105.000
        soft_limits: false
        homing:
          cycle: 1
          positive_direction: true
          mpos_mm: 0.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 800.000
          settle_ms: 500
          seek_scaler: 1.100
          feed_scaler: 1.100
    
        motor0:
          limit_neg_pin: NO_PIN
          limit_pos_pin: gpio.35
          limit_all_pin: NO_PIN
          hard_limits: false
          pulloff_mm: 1.000
          standard_stepper:
            step_pin: I2SO.13
            direction_pin: I2SO.12:low
            disable_pin: I2SO.15
            
    
    i2so:
      bck_pin: gpio.22
      data_pin: gpio.21
      ws_pin: gpio.17
    
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    
    sdcard:
      card_detect_pin: NO_PIN
      cs_pin: gpio.5
    
    control:
      safety_door_pin: NO_PIN
      reset_pin: NO_PIN
      feed_hold_pin: NO_PIN
      cycle_start_pin: NO_PIN
      macro0_pin: NO_PIN
      macro1_pin: NO_PIN
      macro2_pin: NO_PIN
      macro3_pin: NO_PIN
      
    probe:
      pin: gpio.34
      check_mode_start: true
    
    start:
      must_home: false
      
    coolant:
      flood_pin: gpio.15
      mist_pin: gpio.12
      delay_ms: 0
    
    Huanyang:
      uart:
        txd_pin: gpio.26
        rxd_pin: gpio.16
        rts_pin: gpio.4
        baud: 19200
        mode: 8N1
      modbus_id: 1
      tool_num: 0
      speed_map: 0=0% 0=25% 6000=25% 24000=100%
      off_on_alarm: true
    

    Startup Messages

    FluidNC v1.2.0 using COM4
    Exit: Ctrl-C, Ctrl-Q or Ctrl-], Clear screen: CTRL-W
    Upload: Ctrl-U, Reset ESP32: Ctrl-R, Send Override: Ctrl-O
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    
    Grbl 1.1h [FluidNC v3.6.3 (wifi) '$' for help]
    [MSG:INFO: '$H'|'$X' to unlock]
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    ALARM:10
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    
    Grbl 1.1h [FluidNC v3.6.3 (wifi) '$' for help]
    [MSG:INFO: '$H'|'$X' to unlock]
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    ALARM:10
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    
    Grbl 1.1h [FluidNC v3.6.3 (wifi) '$' for help]
    [MSG:INFO: '$H'|'$X' to unlock]
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    ALARM:10
    [MSG:INFO: VFD Queue Full]
    [MSG:ERR: Huanyang spindle did not reach device units 1073423424. Reported value is 0]
    [MSG:INFO: VFD Queue Full]
    Resetting MCU
    
    [MSG:INFO: FluidNC v3.6.3]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
    [MSG:INFO: Local filesystem type is spiffs]
    [MSG:INFO: Configuration file:config.yaml]
    [MSG:INFO: Machine PrintNC]
    [MSG:INFO: Board 6 Pack]
    [MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
    [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]
    [MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:250ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Axis X (0.000,1220.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]
    [MSG:INFO:  X Neg Limit gpio.33]
    [MSG:INFO: Axis Y (-640.000,0.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.5 Dir:I2SO.4:low Disable:I2SO.7]
    [MSG:INFO:  Y Neg Limit gpio.32]
    [MSG:INFO:   Motor1]
    [MSG:INFO:     standard_stepper Step:I2SO.10 Dir:I2SO.9:low Disable:I2SO.8]
    [MSG:INFO: Axis Z (-105.000,0.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.13 Dir:I2SO.12:low Disable:I2SO.15]
    [MSG:INFO:  Z Pos Limit gpio.35]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: Huanyang Spindle Uart Tx:gpio.26 Rx:gpio.16 RTS:gpio.4 Baud:19200]
    [MSG:INFO: Using spindle Huanyang]
    [MSG:INFO: Flood coolant gpio.15]
    [MSG:INFO: Mist coolant gpio.12]
    [MSG:INFO: Probe Pin: gpio.34]
    [MSG:INFO: Connecting to STA SSID:LUGER]
    [MSG:INFO: Connecting.]
    [MSG:INFO: Connected - IP is 192.168.50.100]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Start mDNS with hostname:http://fluidnc.local/]
    [MSG:INFO: SSDP Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    
    Grbl 1.1h [FluidNC v3.6.3 (wifi) '$' for help]
    [MSG:INFO: VFD RS485 Unresponsive
    

    User Interface Software

    No response

    What happened?

    I cannot start the spindle

    Connection with Rs 485 seems to be ok, however communication is garbled. I have tried this at 9600 and 19200 and i get the exact same results.

    VFD sends back the the stuff at the top. as well as the queue full errors so i'm not sure what is going on

    Rs 485 is installed on module 3

    thanks

    Other Information

    No response

    SOLVED 
    opened by lugeral 29
  • Problem: Interruptions in motion during Jogging with gSender

    Problem: Interruptions in motion during Jogging with gSender

    Controller Board

    selfmade CNC-Controller_V2.pdf

    Help From Board Vendor

    • [ ] Yes
    • [ ] No
    • [X] Not Applicable

    Machine Description

    Gantry router Ratrig Killerbee with DM556T stepper driver, dual y motors and limit switches.

    Input Circuits

    No response

    Configuration file

    name: "ModuloController"
    board: "ModuloControl V1"
    
    stepping:
      engine: RMT
      idle_ms: 255
      dir_delay_us: 5
      pulse_us: 5
      disable_delay_us: 5
      
    start:
      must_home: true
      deactivate_parking: true
      check_limits: true
    
    axes:
      shared_stepper_disable_pin: gpio.23
      
      x:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 510.000
        soft_limits: true
        
        homing:
          cycle: 2
          mpos_mm: 510.000
          feed_mm_per_min: 200.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.35:low
          hard_limits: true
          pulloff_mm: 5.000
          standard_stepper:
            direction_pin: gpio.27
            step_pin: gpio.26
    
      y:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 750.000
        soft_limits: true
    
        homing:
          cycle: 3
          mpos_mm: 750.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.34:low
          hard_limits: true
          pulloff_mm: 2.000
          standard_stepper:
            direction_pin: gpio.18:low
            step_pin: gpio.19
    
        motor1:
          limit_pos_pin: gpio.36:low
          hard_limits: true
          pulloff_mm: 2.000
          standard_stepper:
            direction_pin: gpio.22:low
            step_pin: gpio.21
    
      z:
        steps_per_mm: 400.000
        max_rate_mm_per_min: 5000.000
        acceleration_mm_per_sec2: 150.000
        max_travel_mm: 150.000
        soft_limits: true
        
        homing:
          cycle: 1
          mpos_mm: 150.000
          feed_mm_per_min: 100.000
          seek_mm_per_min: 400.000
          positive_direction: true
    
        motor0:
          limit_pos_pin: gpio.39:low
          hard_limits: true
          pulloff_mm: 5.000
          standard_stepper:
            direction_pin: gpio.32
            step_pin: gpio.25
    
    
    probe:
      pin: gpio.4:high
      
    control:
      safety_door_pin: gpio.33:low
      reset_pin: NO_PIN
      feed_hold_pin: NO_PIN
    
    10V:
      forward_pin: gpio.5
      reverse_pin: NO_PIN
      pwm_hz: 5000
      output_pin: gpio.13
      enable_pin: NO_PIN
      direction_pin: NO_PIN
      disable_with_s0: false
      s0_with_disable: true
      spinup_ms: 1000
      spindown_ms: 1000
      tool_num: 0
      speed_map: 0=10.000% 3000=10.000% 24000=90.000%
      off_on_alarm: false
    

    Startup Messages

    $SS
    [MSG:INFO: FluidNC v3.6.4-pre1]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
    [MSG:INFO: Local filesystem type is spiffs]
    [MSG:INFO: Configuration file:config_ratrig_killerbee.yaml]
    [MSG:DBG: Running after-parse tasks]
    [MSG:DBG: Checking configuration]
    [MSG:INFO: Machine ModuloController]
    [MSG:INFO: Board ModuloControl V1]
    [MSG:INFO: SPI not defined]
    [MSG:INFO: No SD Card CS Pin]
    [MSG:INFO: See http://wiki.fluidnc.com/en/config/sd_card#sdfallbackcs-access-sd-without-a-config-file]
    [MSG:INFO: Stepping:RMT Pulse:5us Dsbl Delay:5us Dir Delay:5us Idle Delay:255ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Shared stepper disable gpio.23]
    [MSG:INFO: Axis X (0.000,510.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:gpio.26 Dir:gpio.27 Disable:NO_PIN]
    [MSG:INFO:  X Pos Limit gpio.35:low]
    [MSG:DBG:  X Pos Limit 0]
    [MSG:INFO: Axis Y (0.000,750.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:gpio.19 Dir:gpio.18:low Disable:NO_PIN]
    [MSG:INFO:  Y Pos Limit gpio.34:low]
    [MSG:DBG:  Y Pos Limit 0]
    [MSG:INFO:   Motor1]
    [MSG:INFO:     standard_stepper Step:gpio.21 Dir:gpio.22:low Disable:NO_PIN]
    [MSG:INFO:  Y2 Pos Limit gpio.36:low]
    [MSG:DBG:  Y2 Pos Limit 0]
    [MSG:INFO: Axis Z (0.000,150.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:gpio.25 Dir:gpio.32 Disable:NO_PIN]
    [MSG:INFO:  Z Pos Limit gpio.39:low]
    [MSG:DBG:  Z Pos Limit 0]
    [MSG:INFO: safety_door_pin gpio.33:low]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: 10V Spindle Ena:NO_PIN Out:gpio.13 Dir:NO_PIN Fwd:gpio.5 Rev:NO_PIN Freq:5000Hz Period:8191]
    [MSG:INFO: Using spindle 10V]
    [MSG:INFO: Probe Pin: gpio.4]
    [MSG:INFO: Connecting to STA SSID:MW8s3mb43P5jtbZKJyom]
    [MSG:INFO: Connecting.]
    [MSG:INFO: Connected - IP is 192.168.178.93]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Start mDNS with hostname:http://fluidnc.local/]
    [MSG:INFO: SSDP Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    ok
    

    User Interface Software

    gSender, webUI

    What happened?

    If the controller is connectet to the gcode sender gSender 1.1.4 (https://github.com/Sienci-Labs/gsender) and i use a jogging function, the machine does start with the jogging motion but has some very hard interruptions in the motion. The interruptions are more frequently with higher speeds. I recognize interruptions from a speed of aprox. 3000 mm/min. It looses stepps during this interruptions because the home position at the limit switche is not the same after the interruptions. The interruptions during jogging occour if i use gSender as command source as well as with the webUI if i the controller is only connected with gSender at the same time. If i disconnect gSender and do the jogging either with the webUI or with fluidTerm everything works perfectly. I discoverd this behaviour since the FluidNC version 3.6.3 respectively 3.6.4-pre1. With FluidNC 3.5.1 I could not detect this behavior.

    Does anyone use gSender as Gcode sender and has similar issues?

    Other Information

    No response

    opened by ModuloFS 27
  • gcode clustering

    gcode clustering

    Machine Context

    mks dlc32

    Feature Description

    autocostruita

    Other Approaches

    .

    How I Can Help

    Salve, utilizzo lightburn e una mks dlc32 con firmware FluidNC. Controllando le impostazioni macchina di LB mi accorgo che c'è un'opzione che consente una maggiore velocità per le incisioni a tono di grigio, Leggo poi che bisogna avere un firmware supportato. Non so se è una particolarità dell'hardware o del firmware e mi chiedo se fluidnc ha questa funzionalità.

    enhancement 
    opened by distebia 4
  • Negative homing bails out before max travel is reached

    Negative homing bails out before max travel is reached

    Controller Board

    6 Pack External Driver CNC Controller

    Machine Description

    3 axis Chinese 3040 machine.

    Input Circuits

    No response

    Configuration file

    board: 6 Pack
    name: 6 Pack External XYYZ No Square - v2
    meta: Based on 2022-09-19 B. Dring for Dean Embrey
    
    stepping:
      engine: I2S_STREAM
      idle_ms: 255
      pulse_us: 4
      dir_delay_us: 1
      disable_delay_us: 0
    
    axes:
      shared_stepper_disable_pin: NO_PIN
      x:
        steps_per_mm: 500
        max_rate_mm_per_min: 5000
        acceleration_mm_per_sec2: 50
        max_travel_mm: 285
        soft_limits: false
        homing:
          cycle: 2
          positive_direction: false
          allow_single_axis: true
          mpos_mm: 0
          seek_mm_per_min: 800
    
        motor0:
          limit_all_pin: gpio.34:low
          hard_limits: true
          pulloff_mm: 2
          standard_stepper:
            step_pin: I2SO.2
            direction_pin: I2SO.1
            disable_pin: I2SO.0
    
      y:
        steps_per_mm: 500
        max_rate_mm_per_min: 5000
        acceleration_mm_per_sec2: 50
        max_travel_mm: 382
        soft_limits: false
        homing:
          cycle: 2
          positive_direction: true
          allow_single_axis: true
          mpos_mm: 382
          seek_mm_per_min: 1000
        motor0:
          limit_all_pin: gpio.35:low
          hard_limits: true
          pulloff_mm: 2
          standard_stepper:
            step_pin: I2SO.5
            direction_pin: I2SO.4:low
            disable_pin: I2SO.7
    
      z:
        steps_per_mm: 400
        max_rate_mm_per_min: 2000
        acceleration_mm_per_sec2: 50
        max_travel_mm: 48
        soft_limits: false
        homing:
          cycle: 1
          positive_direction: true
          allow_single_axis: true
          mpos_mm: 48
          seek_mm_per_min: 400
    
        motor0:
          limit_all_pin: gpio.36:low
          hard_limits: true
          pulloff_mm: 2
          standard_stepper:
            step_pin: I2SO.10
            direction_pin: I2SO.9:low
            disable_pin: I2SO.8
    
    i2so:
      bck_pin: gpio.22
      data_pin: gpio.21
      ws_pin: gpio.17
    
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    
    #sdcard:
    #  card_detect_pin: NO_PIN
    #  cs_pin: gpio.5
    
    start:
      must_home: false
      deactivate_parking: false
      check_limits: false
    
    arc_tolerance_mm: 0.002
    junction_deviation_mm: 0.010
    verbose_errors: true
    report_inches: false
    enable_parking_override_control: false
    use_line_numbers: false
    planner_blocks: 16
    
    NoSpindle:
    
    coolant:
      mist_pin: i2so.3
    

    Startup Messages

    [MSG:INFO: FluidNC v3.6.4]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
    [MSG:INFO: Local filesystem type is spiffs]
    [MSG:INFO: Configuration file:config.yaml]
    [MSG:INFO: Machine 6 Pack External XYYZ No Square - v2]
    [MSG:INFO: Board 6 Pack]
    [MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
    [MSG:INFO: No SD Card CS Pin]
    [MSG:INFO: See http://wiki.fluidnc.com/en/config/sd_card#sdfallbackcs-access-sd-without-a-config-file]
    [MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Axis X (0.000,285.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]
    [MSG:INFO:  X All Limit gpio.34:low]
    [MSG:INFO: Axis Y (0.000,382.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.5 Dir:I2SO.4:low Disable:I2SO.7]
    [MSG:INFO:  Y All Limit gpio.35:low]
    [MSG:INFO: Axis Z (0.000,48.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     standard_stepper Step:I2SO.10 Dir:I2SO.9:low Disable:I2SO.8]
    [MSG:INFO:  Z All Limit gpio.36:low]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: Using spindle NoSpindle]
    [MSG:INFO: Mist coolant I2SO.3]
    [MSG:INFO: Connecting to STA SSID:3_Primo]
    [MSG:INFO: Connecting.]
    [MSG:INFO: Connected - IP is 192.168.1.34]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Start mDNS with hostname:http://fluidnc.local/]
    [MSG:INFO: SSDP Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    

    User Interface Software

    WebUI

    What happened?

    H there!

    Using latest release v3.6.4.

    After clearing up switches, X is set to 280 and max travel is 285. But it bails when -250 is reached (traveling 250 mm).

    Unless I am not getting something, it should bail out after 285.

    $h <Home|MPos:0.000,0.000,4.293|FS:400,0> <Home|MPos:0.000,0.000,24.255|FS:400,0> <Home|MPos:0.000,0.000,44.255|FS:400,0> <Home|MPos:0.000,0.000,48.472|FS:50,0> <Home|MPos:0.000,0.000,49.865|FS:50,0> <Home|MPos:-0.002,0.002,48.000|FS:419,0> <Home|MPos:-30.310,50.784,48.000|FS:1281,0|WCO:0.000,0.000,0.000> <Home|MPos:-63.106,105.730,48.000|FS:1281,0|Ov:100,100,100> <Home|MPos:-95.872,160.628,48.000|FS:1281,0> <Home|MPos:-128.676,215.588,48.000|FS:1281,0> <Home|MPos:-161.488,270.564,48.000|FS:1281,0> <Home|MPos:-194.288,325.516,48.000|FS:1281,0> <Home|MPos:-227.088,380.472,48.000|FS:1281,0> <Home|MPos:-250.800,384.170,48.000|FS:0,0|Pn:Y> ALARM:9 Homing fail. Could not find limit switch within search distances. Try increasing max travel, decreasing pull-off distance, or check wiring. ok

    Other Information

    No response

    opened by arhuaco 16
  • Reboot when executing g-code

    Reboot when executing g-code

    Controller Board

    ESP32+OLED+SD the presence or absence of OLED does not affect the problem.

    Machine Description

    The drivers are not connected.

    Input Circuits

    No response

    Configuration file

    name: "ESP32 Dev Controller V4"
    board: "ESP32 Dev Controller V4"
    
    stepping:
      engine: RMT
      idle_ms: 255
      dir_delay_us: 1
      pulse_us: 2
      disable_delay_us: 0
    
    axes:
      shared_stepper_disable_pin: gpio.13:high
      
      x:
        steps_per_mm: 17.777
        max_rate_mm_per_min: 100000
        acceleration_mm_per_sec2: 5000
        max_travel_mm: 1000
        homing:
          cycle: 2
          mpos_mm: 10
          positive_direction: false
        
        motor0:
          limit_all_pin: gpio.17:low:pu
          stepstick:
            direction_pin: gpio.14
            step_pin: gpio.12
        motor1:
          null_motor:
    
      y:
        steps_per_mm: 17.777
        max_rate_mm_per_min: 100000
        acceleration_mm_per_sec2: 5000
        max_travel_mm: 1000
        homing:
          cycle: 2
          mpos_mm: 10
          positive_direction: false
    
        motor0:
          limit_all_pin: gpio.4:low:pu
          stepstick:
            direction_pin: gpio.15
            step_pin: gpio.26
        motor1:
          null_motor:
    
      z:
        steps_per_mm: 800
        max_rate_mm_per_min: 2000
        acceleration_mm_per_sec2: 25
        max_travel_mm: 1000
        homing:
          cycle: 1
          mpos_mm: 10
          positive_direction: true
    
        motor0:
          limit_all_pin: gpio.16:low:pu
          stepstick:
            direction_pin: gpio.33
            step_pin: gpio.27
        motor1:
          null_motor:
    
    spi:
      miso_pin: gpio.19
      mosi_pin: gpio.23
      sck_pin: gpio.18
    
    sdcard:
      cs_pin: gpio.5
      card_detect_pin: NO_PIN
    

    Startup Messages

    FluidNC v1.2.0 using COM4
    Exit: Ctrl-C, Ctrl-Q or Ctrl-], Clear screen: CTRL-W
    Upload: Ctrl-U, Reset ESP32: Ctrl-R, Send Override: Ctrl-O
    $ss
    [MSG:INFO: FluidNC v3.0.x (noGit)]
    [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e]
    [MSG:INFO: Local filesystem type is spiffs]
    [MSG:INFO: Configuration file:config.yaml]
    [MSG:INFO: Machine ESP32 Dev Controller V4]
    [MSG:INFO: Board ESP32 Dev Controller V4]
    [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]
    [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN]
    [MSG:INFO: Stepping:RMT Pulse:2us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
    [MSG:INFO: Axis count 3]
    [MSG:INFO: Shared stepper disable gpio.13]
    [MSG:INFO: Axis X (10.000,1010.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.12 Dir:gpio.14 Disable:NO_PIN]
    [MSG:INFO:  X All Limit gpio.17:low:pu]
    [MSG:INFO:   Motor1]
    [MSG:INFO: Axis Y (10.000,1010.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.26 Dir:gpio.15 Disable:NO_PIN]
    [MSG:INFO:  Y All Limit gpio.4:low:pu]
    [MSG:INFO:   Motor1]
    [MSG:INFO: Axis Z (-990.000,10.000)]
    [MSG:INFO:   Motor0]
    [MSG:INFO:     stepstick Step:gpio.27 Dir:gpio.33 Disable:NO_PIN]
    [MSG:INFO:  Z All Limit gpio.16:low:pu]
    [MSG:INFO:   Motor1]
    [MSG:INFO: Kinematic system: Cartesian]
    [MSG:INFO: Using spindle NoSpindle]
    [MSG:INFO: STA SSID is not set]
    [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]
    [MSG:INFO: AP started]
    [MSG:INFO: WiFi on]
    [MSG:INFO: Captive Portal Started]
    [MSG:INFO: HTTP started on port 80]
    [MSG:INFO: Telnet started on port 23]
    ok
    

    User Interface Software

    No response

    What happened?

    When the browser is connected to esp 32, when executing a large G code, everything ends OK. If you exit the browser, then when you finish reading from the SD card (the strip ends), the system goes into reboot. Occurs on releases after 3.4.4.

    Other Information

    Another observation: when starting from the phone, after disabling Wi-Fi, the execution stops. Then crash.

    rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) flash read err, 1000 ets_main.c 371 ets Jun 8 2016 00:22:57

    rst:0x10 (RTCWDT_RTC_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1184 load:0x40078000,len:12812 load:0x40080400,len:3032 entry 0x400805e4

    [MSG:INFO Init OLED SDA:gpio.21 SCL:gpio.22] [MSG:INFO: FluidNC v3.0.x (noGit)] [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e] [MSG:INFO: Local filesystem type is spiffs] [MSG:INFO: Configuration file:config.yaml] [MSG:INFO: Machine ESP32 Dev Controller V4] [MSG:INFO: Board ESP32 Dev Controller V4] [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19] [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN] [MSG:INFO: Stepping:RMT Pulse:2us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms] [MSG:INFO: Axis count 3] [MSG:INFO: Shared stepper disable gpio.13] [MSG:INFO: Axis X (10.000,1010.000)] [MSG:INFO: Motor0] [MSG:INFO: stepstick Step:gpio.12 Dir:gpio.14 Disable:NO_PIN] [MSG:INFO: X All Limit gpio.17:low:pu] [MSG:INFO: Motor1] [MSG:INFO: Axis Y (10.000,1010.000)] [MSG:INFO: Motor0] [MSG:INFO: stepstick Step:gpio.26 Dir:gpio.15 Disable:NO_PIN] [MSG:INFO: Y All Limit gpio.4:low:pu] [MSG:INFO: Motor1] [MSG:INFO: Axis Z (-990.000,10.000)] [MSG:INFO: Motor0] [MSG:INFO: stepstick Step:gpio.27 Dir:gpio.33 Disable:NO_PIN] [MSG:INFO: Z All Limit gpio.16:low:pu] [MSG:INFO: Motor1] [MSG:INFO: Kinematic system: Cartesian] [MSG:INFO: Using spindle NoSpindle] [MSG:INFO: STA SSID is not set] [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1] [MSG:INFO: AP started] [MSG:INFO: WiFi on] [MSG:INFO: Captive Portal Started] [MSG:INFO: HTTP started on port 80] [MSG:INFO: Telnet started on port 23]

    Grbl 3.0 [FluidNC v3.0.x (noGit) (wifi) '$' for help] [MSG:INFO: '$H'|'$X' to unlock] [MSG:INFO: Channel auto report interval set to 100 ms] [MSG:INFO: Channel auto report interval set to 100 ms] [MSG:INFO: Caution: Unlocked]

    abort() was called at PC 0x401a224f on core 1

    Backtrace:0x40085e25:0x3ffb22d00x4008f3b5:0x3ffb22f0 0x4009534d:0x3ffb2310 0x401a224f:0x3ffb2390 0x401a2296:0x3ffb23b0 0x401a205b:0x3ffb23d0 0x401b997d:0x3ffb23f0 0x4010c3ff:0x3ffb2410 0x4010e961:0x3ffb2430 0x400ed211:0x3ffb2450 0x400d561d:0x3ffb24b0 0x400d5766:0x3ffb24d0 0x400edada:0x3ffb2500 0x400edb79:0x3ffb2520 0x400e1d68:0x3ffb2540 0x400dc0b9:0x3ffb2560 0x400dc70e:0x3ffb2580 0x400e1dc1:0x3ffb25a0 0x400dafd2:0x3ffb25c0 0x400eb818:0x3ffb2680 0x400ec71a:0x3ffb26a0 0x400e1bed:0x3ffb27e0 0x40110b45:0x3ffb2820

    ELF file SHA256: 0000000000000000

    Rebooting... ets Jun 8 2016 00:22:57

    rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0030,len:1184 load:0x40078000,len:12812 load:0x40080400,len:3032 entry 0x400805e4

    [MSG:INFO Init OLED SDA:gpio.21 SCL:gpio.22] [MSG:INFO: FluidNC v3.0.x (noGit)] [MSG:INFO: Compiled with ESP32 SDK:v4.4.1-1-gb8050b365e] [MSG:INFO: Local filesystem type is spiffs] [MSG:ERR: Skipping configuration file due to panic] [MSG:INFO: Using default configuration] [MSG:INFO: Axes: using defaults] [MSG:INFO: Machine Default (Test Drive)] [MSG:INFO: Board None] [MSG:INFO: SPI not defined] [MSG:INFO: No SD Card CS Pin] [MSG:INFO: See http://wiki.fluidnc.com/en/config/sd_card#sdfallbackcs-access-sd-without-a-config-file] [MSG:INFO: Stepping:RMT Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:255ms] [MSG:INFO: Axis count 3] [MSG:INFO: Axis X (-1000.000,0.000)] [MSG:INFO: Axis Y (-1000.000,0.000)] [MSG:INFO: Axis Z (-1000.000,0.000)] [MSG:INFO: Kinematic system: Cartesian] [MSG:INFO: Using spindle NoSpindle] [MSG:INFO: STA SSID is not set] [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1] [MSG:INFO: AP started] [MSG:INFO: WiFi on] [MSG:INFO: Captive Portal Started] [MSG:INFO: HTTP started on port 80] [MSG:INFO: Telnet started on port 23]

    Grbl 3.0 [FluidNC v3.0.x (noGit) (wifi) '$' for help] [MSG:INFO: '$H'|'$X' to unlock]

    opened by AlexMoiseevs 12
  • TMC2209 & SpreadCycle & Interpolation

    TMC2209 & SpreadCycle & Interpolation

    How do i set the following settings for TMC2209:

    0 microstepping
    Interpolation true
    SpreadCycle
    

    There does not seem to exists SpreadCycle in the mode selection? And if i set microstepping to 0 it does not like it. Cant find anything about interpolation setting at all?

    These settings optimize torque from my nema17 motors. SpreadCycle offers higher torque than StealthChop, and having 0 microstepping gives the highest torque output, while interpolation smooths the movements and reduces motor noise when using 0 microstepping.

    As my leadscrews have 1mm lead, 200/mm steps is more than enough for my purposes.

    opened by cranefist 2
  • Corrected parser to use NoError on G38.5

    Corrected parser to use NoError on G38.5

    Currently, G38.5 is incorrectly programmed to resolve to Motion::ProbeAway incorrectly (same as G38.4). This fixes it to use Motion::ProbeAwayNoError instead.

    opened by milo-brandt 0
Releases(v3.6.5-pre2)
Owner
null
Make Epsilon Great again - Project Mu UEFI Firmware for Surface Duo (First Generation) Devices

Project Mu UEFI Implementation for Surface Duo Build Quick notes for building: Use Ubuntu 20.04 x64 Generate ACPI tables with IASL Follow this quick d

WOA Project 88 Nov 7, 2022
ESP32 firmware to read and control EMS and Heatronic compatible equipment such as boilers, thermostats, solar modules, and heat pumps

EMS-ESP is an open-source firmware for the Espressif ESP8266 and ESP32 microcontroller that communicates with EMS (Energy Management System) based equipment from manufacturers like Bosch, Buderus, Nefit, Junkers, Worcester and Sieger.

EMS-ESP 231 Nov 25, 2022
Control Heidelberg Wallbox Energy Control over WiFi using ESP8266 and configure your own local load management

< scroll down for English version and additional information > wbec WLAN-Anbindung der Heidelberg WallBox Energy Control über ESP8266 Die Heidelberg W

null 87 Nov 16, 2022
Bobby Cooke 315 Nov 19, 2022
Harsh Badwaik 1 Dec 19, 2021
Budgie Control Center is a fork of GNOME Control Center for the Budgie 10 Series.

Budgie Control Center Budgie Control Center is a fork of GNOME Settings / GNOME Control Center with the intent of providing a simplified list of setti

Buddies of Budgie 13 Sep 2, 2022
Next gen. of NekoCal: An open-source hackable and programmable e-paper display

NekoInk NekoInk is an open-source, programmable, and versatile E-paper display platform. It offers connectivity options to various type of E-paper scr

Wenting Zhang 51 Nov 16, 2022
How To Build The NeXT ROM Monitor From Sources

How To Build The NeXT ROM Monitor From Sources

Jeffrey H. Johnson 14 Sep 29, 2022
this project is a function in c to take the next line of a file or a file descriptor. this is a project of 42 school.

Get Next Line of 42. Make with ❤︎ for Luiz Cezario ?? Index What's this Repo? List of Archives Technologies How to Run Find a Bug? Or somenthing need

Luiz lima cezario 8 Aug 19, 2022
Next-gen Rowhammer fuzzer that uses non-uniform, frequency-based patterns.

Blacksmith Rowhammer Fuzzer This repository provides the code accompanying the paper Blacksmith: Scalable Rowhammering in the Frequency Domain that is

Computer Security Group @ ETH Zurich 173 Nov 16, 2022
Next Index to Query Kmer Intersection

NIQKI NIQKI stand for Next Index to Query K-mer Intersection. NIQKI is an sketch based software, similar to Mash or Dashing, which can index the large

Antoine Limasset 15 Nov 3, 2022
Get Next Line is a project at 42. It is a function that reads a file and allows you to read a line ending with a newline character from a file descriptor

Get Next Line is a project at 42. It is a function that reads a file and allows you to read a line ending with a newline character from a file descriptor. When you call the function again on the same file, it grabs the next line

Mhamed Ajjig 5 Nov 15, 2022
mCube's ultra-low-power wake-on-motion 3-axis accelerometer

MC3635 mCube's ultra-low-power wake-on-motion 3-axis accelerometer Based on mCube's Arduino demo driver, this sketch is specific for the MC3635 3-axis

Kris Winer 4 Aug 26, 2022
Motion planner built upon Tesseract and Trajopt

motion_planner Motion planner built upon Tesseract and Trajopt The abb_example package is similar to the tesseract_ros_examples, but it contain more e

Mohamed Ahmed 8 Jan 18, 2022
DIY Zigbee CC2530 Motion sensor (AM312/ AM412/ BS312/ BS412), Temperature /Humidity /Pressure sensor (BME280), Ambient Light sensor (BH1750), 2.9inch e-Paper Module

How to join: If device in FN(factory new) state: Press and hold button (1) for 2-3 seconds, until device start flashing led Wait, in case of successfu

Sergey Koptyakov 5 Feb 13, 2022
DIY Zigbee CC2530 Motion sensor (AM312/ AM412/ BS312/ BS412), Temperature /Humidity /Pressure sensor (BME280), Ambient Light sensor (BH1750), 2.9/2.13/1.54 inch e-Paper Module

How to join: If device in FN(factory new) state: Press and hold button (1) for 2-3 seconds, until device start flashing led Wait, in case of successfu

Sergey Koptyakov 32 Nov 14, 2022
Updated Vindriktning with Wifi Connectivity, Motion sensor, Temperature and Humidity

Vindriktning-plus Updated Vindriktning with Wifi Connectivity, Motion sensor, Temperature and Humidity Inspired & parts of the code are used from: htt

Glittering Dealer 4 Sep 20, 2022
Code accompanying our SIGGRAPH 2021 Technical Communications paper "Transition Motion Tensor: A Data-Driven Approach for Versatile and Controllable Agents in Physically Simulated Environments"

SIGGRAPH ASIA 2021 Technical Communications Transition Motion Tensor: A Data-Driven Framework for Versatile and Controllable Agents in Physically Simu

null 10 Apr 21, 2022
a Lightweight Motion Planning Package

MPlib MPlib is a lightweight python package for motion planning, which is decoupled from ROS and is easy to set up. With a few lines of python code, o

Hao Su's Lab, UCSD 31 Oct 4, 2022