Lowrider V2 Upgrade to fluidNC - Errors in Config.yaml

Hi everyone,

i try to upgrade my LowriderCNC V2 to fluidNC, but unfortunately, i have problems with the config.yaml file so that my PiBot FluidNC Controller V96 Pro cannot detect my TMC 2209 stepper drivers.

Thank you in advance for any help!

these are the errors i keep getting, i will also insert my config file below.

[MSG:INFO: FluidNC v3.8.3 GitHub - bdring/FluidNC: The next generation of motion control firmware]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is spiffs]
[MSG:INFO: Configuration file:Tom_config_V1.yaml]
[MSG:ERR: Configuration error at /machine: Duplicate section uart1]
[MSG:ERR: Skipping key txd_pin indent 2 this indent 0]
[MSG:ERR: Skipping key rxd_pin indent 2 this indent 0]
[MSG:ERR: Skipping key rts_pin indent 2 this indent 0]
[MSG:ERR: Skipping key baud indent 2 this indent 0]
[MSG:ERR: Skipping key mode indent 2 this indent 0]
[MSG:INFO: Machine TomCNC_V1]
[MSG:INFO: Board PiBotV49P]
[MSG:INFO: UART1 Tx:gpio.0 Rx:gpio.4 RTS:NO_PIN Baud:115200]
[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 freq:8000000]
[MSG:INFO: I2C SDA: gpio.27, SCL: gpio.25, Freq: 100000, Bus #: 0]
[MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:254ms]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (3.000,1223.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:0 CS:NO_PIN Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0:low R:0.110]
[MSG:INFO: X Neg Limit gpio.33]
[MSG:INFO: Axis Y (3.000,2443.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:1 CS:NO_PIN Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7 R:0.110]
[MSG:INFO: Y Neg Limit gpio.32]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.14 Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15 R:0.110]
[MSG:INFO: Y2 Neg Limit gpio.34]
[MSG:INFO: Axis Z (-297.000,3.000)]
[MSG:INFO: Motor0]
[MSG:INFO: tmc_2209 UART1 Addr:2 CS:NO_PIN Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8 R:0.110]
[MSG:INFO: Z Pos Limit gpio.35]
[MSG:INFO: Motor1]
[MSG:INFO: tmc_2209 UART1 Addr:3 CS:I2SO.19 Step:I2SO.18 Dir:I2SO.17 Disable:I2SO.16 R:0.110]
[MSG:INFO: Z2 Pos Limit gpio.39]
[MSG:ERR: X Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Y Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Y2 Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Z Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:ERR: Z2 Axis TMC driver not detected - expected 0x21 got 0x0]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Connecting to STA SSID:ASUS_8A_2.4GHZ]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connecting…]
[MSG:INFO: Connected - IP is 192.168.50.80]
[MSG:INFO: WiFi on]
[MSG:INFO: Start mDNS with hostname:http://fluidnc.local/]
[MSG:INFO: HTTP started on port 80]
[MSG:INFO: Telnet started on port 23]
[MSG:INFO: OLED I2C address: 0x3c width: 128 height: 64]
ok
<Alarm|MPos:0.000,0.000,0.000|FS:0,0|Pn:XYZ|Ov:100,100,100|A:>

Config.yaml:

board: PiBotV49P
name: TomCNC_V1
stepping:
engine: I2S_STREAM
idle_ms: 254
pulse_us: 4
dir_delay_us: 1
disable_delay_us: 0

uart1:
txd_pin: gpio.0
rxd_pin: gpio.4
rts_pin: NO_PIN
baud: 115200
mode: 8N1

axes:
shared_stepper_disable_pin: NO_PIN
x:
steps_per_mm: 50.000
max_rate_mm_per_min: 9000.000
acceleration_mm_per_sec2: 200.000
max_travel_mm: 1220
soft_limits: false
homing:
cycle: 2
positive_direction: false
mpos_mm: 3
feed_mm_per_min: 300.000
seek_mm_per_min: 1500.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100

motor0:
  limit_neg_pin: gpio.33:high
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000
  tmc_2209:
    uart_num: 1
    addr: 0
    cs_pin: NO_PIN
    r_sense_ohms: 0.110
    run_amps: 0.800
    homing_amps: 0.800
    hold_amps: 0.500
    microsteps: 8
    stallguard: 0
    stallguard_debug: false
    toff_disable: 0
    toff_stealthchop: 5
    toff_coolstep: 3
    run_mode: StealthChop
    homing_mode: StealthChop
    use_enable: false
    direction_pin: I2SO.1
    step_pin: I2SO.2
    disable_pin: I2SO.0:low
standard_stepper MODEL can use for extend driver output
for example: plug on the capnut H4,
the output signal from the TB4-X IS “EN STP DIR GND” to driver

#####// for some extend driver need “:low” the en signal
####///direction_pin is used to control the direction. You can invert the direction by changing the active state attribute (:high or :low)

y:
steps_per_mm: 50.000
max_rate_mm_per_min: 9000.000
acceleration_mm_per_sec2: 200.000
max_travel_mm: 2440
soft_limits: false
homing:
cycle: 2
positive_direction: false
mpos_mm: 3
feed_mm_per_min: 300.000
seek_mm_per_min: 1500.000
settle_ms: 500
seek_scaler: 1.100
feed_scaler: 1.100

#Y
motor0:
  limit_neg_pin: gpio.32:high
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000
  tmc_2209:
    uart_num: 1
    addr: 1
    cs_pin: NO_PIN
    r_sense_ohms: 0.110
    run_amps: 0.800
    homing_amps: 0.800
    hold_amps: 0.500
    microsteps: 8
    stallguard: 0
    stallguard_debug: false
    toff_disable: 0
    toff_stealthchop: 5
    toff_coolstep: 3
    run_mode: StealthChop
    homing_mode: StealthChop
    use_enable: false
    step_pin: I2SO.5
    direction_pin: I2SO.4
    disable_pin: I2SO.7

#A
motor1:
  limit_neg_pin: gpio.34:high
  limit_pos_pin: NO_PIN
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000
  tmc_2209:
    uart_num: 1
    addr: 3
    cs_pin: i2so.14
    r_sense_ohms: 0.110
    run_amps: 0.800
    homing_amps: 0.800
    hold_amps: 0.500
    microsteps: 8
    stallguard: 0
    stallguard_debug: false
    toff_disable: 0
    toff_stealthchop: 5
    toff_coolstep: 3
    run_mode: StealthChop
    homing_mode: StealthChop
    use_enable: false
    step_pin: I2SO.13
    direction_pin: I2SO.12
    disable_pin: I2SO.15
stepstick MODEL can use for onboard driver output,
for example: A4988 MS1 MS2 can be set in the plugnut, and the ms3 can set in this yaml file such as “ms3_pin: I2SO.6:low”
notice: don’t plug the capnut when use this model
the output signal from the TB4-Y IS “2B 2A 1A 1B”

z:
steps_per_mm: 200.000
max_rate_mm_per_min: 900.000
acceleration_mm_per_sec2: 80.000
max_travel_mm: 300.000
soft_limits: false
homing:
cycle: 1
positive_direction: true
mpos_mm: 3
feed_mm_per_min: 300.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:high
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000
  tmc_2209:
    uart_num: 1
    addr: 2
    cs_pin: NO_PIN
    r_sense_ohms: 0.110
    run_amps: 0.800
    homing_amps: 0.800
    hold_amps: 0.500
    microsteps: 8
    stallguard: 0
    stallguard_debug: false
    toff_disable: 0
    toff_stealthchop: 5
    toff_coolstep: 3
    run_mode: StealthChop
    homing_mode: StealthChop
    use_enable: false
    step_pin: I2SO.10
    direction_pin: I2SO.9
    disable_pin: I2SO.8

 #B
motor1:
  limit_neg_pin: NO_PIN
  limit_pos_pin: gpio.39:high
  limit_all_pin: NO_PIN
  hard_limits: false
  pulloff_mm: 4.000
  tmc_2209:
    uart_num: 1
    addr: 3
    cs_pin: i2so.19
    r_sense_ohms: 0.110
    run_amps: 0.800
    homing_amps: 0.800
    hold_amps: 0.500
    microsteps: 8
    stallguard: 0
    stallguard_debug: false
    toff_disable: 0
    toff_stealthchop: 5
    toff_coolstep: 3
    run_mode: StealthChop
    homing_mode: StealthChop
    use_enable: false
    step_pin: I2SO.18
    direction_pin: I2SO.17
    disable_pin: I2SO.16

probe:
pin: gpio.2:low:pu
toolsetter_pin: NO_PIN
check_mode_start: true
hard_stop: false

########//gpio.2 and gpio.26 need :pu when use for input

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

Begin OLED

i2c0:
sda_pin: gpio.27
scl_pin: gpio.25

oled:
i2c_num: 0
i2c_address: 60
width: 128
height: 64
radio_delay_ms: 1000

Begin relay

relay:
direction_pin: NO_PIN
output_pin: gpio.26
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%
off_on_alarm: false

Begin PWM

pwm:
pwm_hz: 5000
direction_pin: NO_PIN
output_pin: NO_PIN
enable_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
spinup_ms: 0
spindown_ms: 0
tool_num: 1
speed_map: 0=0.000% 10000=100.000%
off_on_alarm: false

Begin Laser

Laser:
pwm_hz: 5000
output_pin: gpio.12
enable_pin: NO_PIN
disable_with_s0: false
s0_with_disable: true
tool_num: 2
speed_map: 0=0.000% 255=100.000%
off_on_alarm: true

Begin 10V

10V:
forward_pin: NO_PIN
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: 0
spindown_ms: 0
tool_num: 3
speed_map: 0=0.000% 1000=0.000% 24000=100.000%
off_on_alarm: false

Begin YL620 RS485

uart1:
txd_pin: gpio.15
rxd_pin: gpio.16
rts_pin: gpio.14
baud: 9600
mode: 8N1

YL620:
uart_num: 1
modbus_id: 1
tool_num: 4
speed_map: 0=0% 0=25% 6000=25% 24000=100%
off_on_alarm: false

Add your yaml file to a zip and attach it. It’s hard to read that way and it loses the spacing which the file is very sensitive to.

Also, we completely avoid FluidNC v3.8.x versions. That was a very unstable time for FluidNC.

I’m not sure what settings a Pibot controller needs since most of us here using FluidNC have a Jackpot controller.

thank you for the fast reply.

the Pibot controller was easier to get here in Europe, which is why i bought it.
but are they not all comparable except for the used pins?

you can find the pins here on the site: PiBot FluidNC GRBL Laser CNC Controller V4.96 Pro

Tom_config_V1.zip (2.0 KB)

The Jackpot can be bought from Elecrow as well, that’s pretty easy. :stuck_out_tongue:

It looks like you took a sample PiBot config and didn’t update it. The errors are saying what is wrong.

[MSG:ERR: Configuration error at /machine: Duplicate section uart1]

It is defined at line 10 and line 315.

[MSG:ERR: Skipping key txd_pin indent 2 this indent 0]
[MSG:ERR: Skipping key rxd_pin indent 2 this indent 0]
[MSG:ERR: Skipping key rts_pin indent 2 this indent 0]
[MSG:ERR: Skipping key baud indent 2 this indent 0]
[MSG:ERR: Skipping key mode indent 2 this indent 0]

I think this just might be because uart1 is defined twice.

Are you using a relay and a spindle or a laser?