Problem: Offline Controller Not Working
Wiki Search Terms
Offline controller with uart
Controller Board
piBot v4.8A
Machine Description
3020 CNC with drv8825 drivers and Nema17 Steppers
Input Circuits
gpio.25 used as TX and gpio.27 as RX
Configuration file
board: PiBotV48A
name: ASHOK
stepping:
engine: I2S_STREAM
idle_ms: 25
pulse_us: 4
dir_delay_us: 1
disable_delay_us: 0
axes:
shared_stepper_disable_pin: NO_PIN
x:
steps_per_mm: 800.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: 150.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:low
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: 800.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: true
mpos_mm: 150.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:low
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
z:
steps_per_mm: 800.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: 150.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: gpio.35:low
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
a:
steps_per_mm: 53.400
max_rate_mm_per_min: 5000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 960.000
soft_limits: false
homing:
cycle: 2
positive_direction: false
mpos_mm: 150.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: 3.000
standard_stepper:
step_pin: I2SO.13
direction_pin: I2SO.12
disable_pin: I2SO.15
b:
steps_per_mm: 808.000
max_rate_mm_per_min: 5000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 200.000
soft_limits: false
homing:
cycle: 1
positive_direction: false
mpos_mm: 150.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: 3.000
standard_stepper:
step_pin: I2SO.18
direction_pin: I2SO.17
disable_pin: I2SO.16
c:
steps_per_mm: 808.000
max_rate_mm_per_min: 5000.000
acceleration_mm_per_sec2: 100.000
max_travel_mm: 200.000
soft_limits: false
homing:
cycle: 1
positive_direction: false
mpos_mm: 150.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: 3.000
standard_stepper:
step_pin: I2SO.21
direction_pin: I2SO.20
disable_pin: I2SO.23
uart1:
txd_pin: gpio.25
rxd_pin: gpio.27
rts_pin: NO_PIN
cts_pin: NO_PIN
baud: 115200
mode: 8N1
uart_channel1:
report_interval_ms: 75
uart_num: 1
message_level: Verbose
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
probe:
pin: gpio.2:high
toolsetter_pin: gpio.26:high
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: gpio.4
# 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: NO_PIN
# cts_pin: NO_PIN
# baud: 115200
# mode: 8N1
#uart_channel1:
# report_interval_ms: 75
# uart_num: 1
# message_level: Verbose
#YL620:
# uart_num: 1
# modbus_id: 1
# tool_num: 4
# speed_map: 0=0% 0=25% 6000=25% 24000=100%
# off_on_alarm: false
################################################################################################################################
# Begin Huanyang RS485
#uart1:
#txd_pin: gpio.15
#rxd_pin: gpio.16
#rts_pin: gpio.14
#baud: 9600
#mode: 8N1
#Huanyang:
#uart_num: 1
#modbus_id: 1
#tool_num: 0
#speed_map: 0=0% 0=25% 6000=25% 24000=100%
#off_on_alarm: false
# #begin PWM
# pwm:
# pwm_hz: 5000
# direction_pin: NO_PIN
# output_pin: gpio.13
# enable_pin: gpio.14
# disable_with_s0: false
# s0_with_disable: true
# spinup_ms: 0
# spindown_ms: 0
# tool_num: 0
# speed_map: 0=0.000% 10000=100.000%
# off_on_alarm: false
# #begin Laser
# Laser:
# pwm_hz: 5000
# output_pin: gpio.4
# enable_pin: gpio.12
# disable_with_s0: false
# s0_with_disable: true
# tool_num: 1
# speed_map: 0=0.000% 255=100.000%
# off_on_alarm: true
# #begin 10V
10V:
forward_pin: gpio.15
reverse_pin: gpio.14
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: 0
speed_map: 0=0.000% 1000=0.000% 24000=100.000%
off_on_alarm: false
# Using MOSFETs (Check Spindle Pin Usage)
# coolant:
# flood_pin: gpio.12
# mist_pin: gpio.4
# delay_ms: 0
# 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: 0
#speed_map: 0=0% 0=25% 6000=25% 24000=100%
#off_on_alarm: false
Startup Messages
[MSG:INFO: FluidNC v3.9.8 https://github.com/bdring/FluidNC]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.7-dirty]
[MSG:INFO: Local filesystem type is littlefs]
[MSG:INFO: Configuration file:config.yaml]
[MSG:INFO: Machine ASHOK]
[MSG:INFO: Board PiBotV48A]
[MSG:INFO: UART1 Tx:gpio.25 Rx:gpio.27 RTS:NO_PIN Baud:115200]
[MSG:INFO: uart_channel1 created at report interval: 75]
[MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21Min Pulse:2us]
[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: Stepping:I2S_STREAM Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:25ms]
[MSG:INFO: Axis count 6]
[MSG:INFO: Axis X (150.000,450.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]
[MSG:INFO: Neg Limit gpio.33:low]
[MSG:INFO: Axis Y (-150.000,150.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7]
[MSG:INFO: Neg Limit gpio.32:low]
[MSG:INFO: Axis Z (-150.000,150.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8]
[MSG:INFO: Neg Limit gpio.35:low]
[MSG:INFO: Axis A (150.000,1110.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.13 Dir:I2SO.12 Disable:I2SO.15]
[MSG:INFO: Axis B (150.000,350.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.18 Dir:I2SO.17 Disable:I2SO.16]
[MSG:INFO: Axis C (150.000,350.000)]
[MSG:INFO: Motor0]
[MSG:INFO: standard_stepper Step:I2SO.21 Dir:I2SO.20 Disable:I2SO.23]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Connecting to STA SSID:SDECIVIL]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connected - IP is 192.168.151.171]
[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: Laser Ena:NO_PIN Out:gpio.12 Freq:5000Hz Period:8191]
[MSG:INFO: 10V Spindle Ena:NO_PIN Out:gpio.13 Dir:NO_PIN Fwd:gpio.15 Rev:gpio.14 Freq:5000Hz Period:8191]
[MSG:INFO: Changed to spindle:10V]
[MSG:INFO: Probe gpio.2]
[MSG:INFO: Toolsetter gpio.26]
ok
User Interface Software
WebUI and UGS
What happened?
I have defined uart1: and uart_channel1: in config files. But Offline controller is not connecting. I have tested 2 years back, does it changed something in recent versions?
GCode File
No response
Other Information
No response
What offline controller are you using?
I am using the controller came with machine. It has ESP32 with 3.2inch TFT. One other which is made by me ESP32 4.0inch TFT. Both were working with FluidNC I have tested earlier (2 Years Back) Now a days I was using LinuxCNC so didnt tested. Now That setup broked.
You would have to ask the display designer.
Earlier it was working on earlier versions of FluidNC. Nothing changed since then, only the change is latest FluidNC.
I found a photo that shows a FluidDial connected to a pibot. Is your pendant based on FluidDial? The supported FluidDial variants use M5Dial and 2.8" CYD displays. We do not have schematics or software info about variants of the display sizes that you lost above.
I see that you have the uart1 baud rate at 115200. The baud rate for standard FluidDial software is 1000000, I.e. 1 megabaud. But since I do not know the details of your non-standard pendant, I cannot say if 115200 is correct or not. We need complete information to solve problems.
Uart channel is created as displayed in FluidNC msg using gpio 25 as tx and gpio 27 as rx. It's standard offline controller which comes with Chinese 3020 type CNC. And it's available as separate also. It has +5v, GND, rx and tx pins. It sends g-codes via uart channel. I have one diy offline controller also which also based on esp32 and TFT display. Source code https://github.com/mstrens/grbl_controller_esp32
It was working in previous versions of FluidNC. I used to connect at 115200. Tried at 9600 also.