Root controller and GRBL

Hello, I’m new to the forum and I apologize if I make any mistakes.
I would like to buy the ROOT CONTROLLER REV.3 for a 4-axis CNC (3 + rotary). I would like to use it with the G-SENDER software (SIENCI LAB) and I would like to know if they are compatible for use together.
I would also like to know how to program the relay and optoisolated outputs to be used by g-sender (flood, mist or probe).
I hope I was clear.
Thanks in advance
Matteo

Hi Matteo,

I cannot say I have used SIENCI LAB software before. I personally use Universal Gcode Sender. which works great! though, any GRBL compatible G-code sender will work fine!

If you want Mist, Flood - these are dedicated G-code commands which can be assigned a pin - super easy and configurable in the machine configuration YAML file. For example;

control:
  safety_door_pin: NO_PIN
  reset_pin: NO_PIN
  feed_hold_pin: gpio.36
  cycle_start_pin: gpio.39
  macro0_pin: gpio.34
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

coolant:
  flood_pin: gpio.33
  mist_pin: gpio.13
  delay_ms: 0

Likewise the Probe has a user defined pin too!

probe:
  pin: gpio.27
  check_mode_start: true

if you want user controller outputs, then again this is easily done with the M62 / M36 commands; for example;

user_outputs:
  analog0_pin: gpio.13
  analog1_pin: gpio.14:low
  analog2_pin: NO_PIN
  analog3_pin: NO_PIN
  analog0_hz: 5000
  analog1_hz: 5000
  analog2_hz: 5000
  analog3_hz: 5000
  digital0_pin: gpio.26
  digital1_pin: gpio.4
  digital2_pin: i2so.5
  digital3_pin: i2so.6:low
  digital4_pin: NO_PIN
  digital5_pin: NO_PIN
  digital6_pin: NO_PIN
  digital7_pin: NO_PIN

Please note - if you’re struggle in the regard. I do offer a video call functionality where we can run through the configuration together.

Thanks Pete, I have two questions:
1_ does the motherboard already come with FLUID NC loaded as firmware?
2_ Could you send me an example of a config.yaml file for a CNC with 3 axes, (limit x,y,z) flood, coolant, and work cycle start and stop buttons? (I would like to create two buttons to start the cycle and stop without intervening with the mouse on the PC)
Thank you in advance and sorry because I still don’t know FLUIDNC, and I still have a lot to learn.

P.S. The motherboard hasn’t arrived yet

This is the tracking link but it looks like the motherboard is in the US
Can you please check it too?

www.royalmail.com/portal/rm/track?trackNumber=RY470421669GB .

Thanks a lot
Matteo Diversi

Hey Matteo,

I does indeed come pre-loaded with the Fluidnc Firmware. That you will need to upload you’re configuration too. naturally, a newer version might have been released. So its always wise to double check this page for the lates version;

Please use this as a starter (I’ve not tested this but I’m fairly confident it’ll work)

board: Root Controller ISO Rev 3
name: Matteo
stepping:
  engine: I2S_STREAM
  idle_ms: 255
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 3

axes:
  shared_stepper_disable_pin: NO_PIN
  x:
    steps_per_mm: 160.000
    max_rate_mm_per_min: 4500.000
    acceleration_mm_per_sec2: 500.000
    max_travel_mm: 100
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 100
      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: gpio.34
      hard_limits: true
      pulloff_mm:1.000
      standard_stepper:
        step_pin: I2SO.7:low
        direction_pin: I2SO.5:low
        disable_pin: I2SO.3:high

  y:
    steps_per_mm: 160.000
    max_rate_mm_per_min: 4500.000
    acceleration_mm_per_sec2: 500.000
    max_travel_mm: 100.000
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 100
      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: gpio.32
      hard_limits: true
      pulloff_mm:1.000
      standard_stepper:
        step_pin: I2SO.12:low
        direction_pin: I2SO.10:low
        disable_pin: I2SO.8:high

  z:
    steps_per_mm: 160.000
    max_rate_mm_per_min: 4500.000
    acceleration_mm_per_sec2: 500.000
    max_travel_mm: 100.000
    soft_limits: true
    homing:
      cycle: 1
      positive_direction: true
      mpos_mm: 100
      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: gpio.27
      hard_limits: true
      pulloff_mm:1.000
      standard_stepper:
        step_pin: I2SO.18:low
        direction_pin: I2SO.16:low
        disable_pin: I2SO.14:high

i2so:
  bck_pin: gpio.22
  data_pin: gpio.12
  ws_pin: gpio.21

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: gpio.26
  cycle_start_pin: gpio.35
  macro0_pin: NO_PIN
  macro1_pin: NO_PIN
  macro2_pin: NO_PIN
  macro3_pin: NO_PIN

coolant:
  flood_pin: I2SO.20
  mist_pin: I2SO.21
  delay_ms: 0

probe:
  pin: gpio.2
  check_mode_start: true

macros:
  startup_line0:
  startup_line1:
  macro0: 
  macro1: 
  macro2: 
  macro3:
  
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: true
  

PS it would seem your controller is due for delivery today or tomorrow!

Kind Regards Pete!

Thanks Pete you are very kind, I hope you arrive soon to try it on my cnc.
One last question: how do I understand which electrical terminals on the outside of the controller case correspond to the various inputs GPIO or I2 SO outputs that are written in the .yaml program, for example to which terminals should I connect the start and end cycle buttons, or which terminals to connect the refrigerant?

Hi Pete
This is the tacking numer
RY470421669GB
Unfortunately the ROOT CONTROLLER hasn’t arrived yet, with the tracking you sent me it seems to be in America !!! Can you please check and send me news?
Thanks
Matteo

Hey Matteo!

Oh my! the tracking information is rouge! I am sorry about this. let me look into this - failing this. I shall get a new one sent out to you!

Kind Regards Pete

Please let me know as soon as possible otherwise I will have to open a dispute with PAYPAL to get my money back
I look forward to hearing from you within 1 or 2 days
Thanks
Matteo