I'm a bit of an idiot, how do I load the software onto the control board?

Changed.

Changed.

I’m going to change it to 0.333.

Edit- YAML looks syntactically correct to me. I think we can try this one.

1 Like

@LosTyger - Ping… Have you had a chance to try that config.yaml on your board?

OK. Sorry for the delay. I will describe, prob in more detail then necessary, in the hopes that I don’t skip out on something important.

I saved the text from the thread above into a Notepad document, saved as config.yaml.txt. I uploaded that to the board using the FluidNC local files option. I changed the name to config.yaml. Then I made sure, on the FluidNC settings, that the Config/Filename was set to config.yaml. I think this is all ok, but when I look at the FLUID NC Settings, Config Items, the name says TMC2209 XY Servo Laser, and not “Table ZenXY” as the config.yaml in the thread, so maybe I haven’t done it properly?

I’m not sure what I should do next. The config file seems like it is loaded, but using the buttons on the Dashbaord, I can’t get the steppers to move at all. That, of course, could be a lot of different problems, but that’s my current status.

That might-or might not- have introduced some issues.

Can you copy/pase what you get in the terminal window if you send the following command:
$SS

Edit- reboot the board before you send that.

$SS
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine Table ZenXY]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[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: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 (25.000,430.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]

Alright, that’s a sign that notepad messed up the file.

We need to get that file to you without it being corrupted.

Try this one:
config.yaml.zip (1.2 KB)

OK, attempt #2

$SS
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine Table ZenXY]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[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: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 (25.000,430.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: WebUI: Request from 192.168.0.2]

Very weird.
Delete the existing config.ysml, then reboot.

After that we have to get the valid .yaml onto your board.

Did you unzip the config.yaml.zip and the transfer the enclosed .yaml file to your board?

The forum will not let me attach a .yaml , which is why i had to .zip it.

OK, I deleted what was there, then uploaded the .yaml. It is the file after being unzipped.

Attempt #3
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine Table ZenXY]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[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: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 (25.000,430.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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
<Alarm|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>
[MSG:INFO: WebUI: Request from 192.168.0.2]

Any chance its trailing spaces causing this?

Do you see trailing spaces unexpectedly in the .zip I posted above? Weird.

I’m creating a fresh copy with a different editor. The only difference I think I see is that there isn’t a newline at the end of the original.

@LosTyger - try this one out:

config.yaml.zip (1.2 KB)

Edit- same work flow. Delete the config.yaml or config.yaml.zip if they appear on your board’s file system.

Then upload the extracted config.yaml.
Then reboot your board.
Then send the results of $SS

No I didn’t look at the .zip. I just know that’s caused some major issues in the past for some config files so wanted to throw it out there incase it could help

1 Like

I don’t think it likes the uart being defined under the tmc_2209 which lines up with the error messages. The LR3 config defines the uart in a separate section. The tmc_2209 section then references it by uart_num. The sample I saw has it defined like you do but it doesn’t seem valid.

The documentation lines up with what I’m suggesting.
Axes - TMC2209 | Wiki.js (fluidnc.com)

Try this one. This makes the change I mentioned.

config.zip (845 Bytes)

1 Like

Yes, let’s see if that one works.

With the file provided by Jason (THANK YOU FOR YOUR HELP):

$SS
[MSG:INFO: WebUI: Request from 192.168.0.2]
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:INFO: Machine Table ZenXY]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[MSG:INFO: UART1 Tx:gpio.17 Rx:gpio.16 RTS:NO_PIN Baud:115200]]
[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: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 (25.000,430.000)]]
[MSG:INFO: Motor0]]
[MSG:INFO: tmc_2209 UART1 Addr:0 CS:NO_PIN Step:gpio.14 Dir:gpio.12 Disable:NO_PIN R:0.110]]
[MSG:INFO: X Neg Limit gpio.36:low]]
[MSG:INFO: Axis Y (5.000,340.000)]]
[MSG:INFO: Motor0]]
[MSG:INFO: tmc_2209 UART1 Addr:1 CS:NO_PIN Step:gpio.25 Dir:gpio.26 Disable:NO_PIN R:0.110]]
[MSG:INFO: Y Neg Limit gpio.39:low]]
[MSG:INFO: Axis Z (-1000.000,0.000)]]
[MSG:INFO: Motor0]]
[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: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]]
ok
<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>
[MSG:INFO: WebUI: Request from 192.168.0.2]

@jeyeager rocks! The syntax for my original attempt was based on the example for that board that I found- but obviously wasn’t correct. Jason has made this look better so we’re not horribly misconfigured.

So, the configuration syntax is now valid, but the UARTs on the TMC2209s are not being recognized by FluidNC.

That means we’ve misconfigured something and I’ll need to go study Bart’s board design documentation to see what next to try. Most likely the UART or address is wrong in our config for this particular board’s TMC2209 implementation.

Were really getting close now.
I won’t have time to look at this for a few hours, but will take another look when I can.

I’m still looking over that config.
I do notice that there are not just one, or two, but 3 contributed ZenXY config files for the Bart Dring Pen/Laser 2209 board located at :

It’s probably worth trying these one at a time and see if any of those work for you.

I’m not sure exactly how 3 contributed ZenZY configs made it there- but they did.

Note that to test these you either need to download them and rename them to config.yaml when you put them on the FluidNC file system, or you need to choose those as the running config.
(I’d just delete the config.yaml off the board, then upload a renamed config.yaml.)

I’m suspecting that we have something wrong with the UART definition for the TMC2209s.

The pen/laser board uses a much simpler addressing scheme for the TMC drivers (That’s why it only has 2!). Boards with more stepper drivers have to use a different method, and I’ve only ever worked with those boards (e.g. the V1 Jackpot).

The file names are

Pen_laser_2209_Zen.yaml

pen_2209_zenxy.yaml

zenxy.yaml

Remember that with Github you need to click the download button to download them rather than display:

image

Results for Pen_Laser_2209_Zen.yaml

$SS
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine TMC2209 Zen Sand]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[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: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 (0.000,1000.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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
[MSG:INFO: WebUI: Request from 192.168.0.2]

Results for penn_2209_zenxy:
$SS
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine TMC2209 ZenXY]]
[MSG:INFO: Board FluidNC Pen/Laser 2209]]
[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: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 (0.000,1000.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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

Results for zenxy:
$SS
[MSG:INFO: FluidNC v3.7.17 GitHub - bdring/FluidNC: The next generation of motion control firmware]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is littlefs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:ERR: Ignored key uart]]
[MSG:ERR: Skipping key txd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rxd_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key rts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key cts_pin indent 10 this indent 8]]
[MSG:ERR: Skipping key baud indent 10 this indent 8]]
[MSG:ERR: Skipping key mode indent 10 this indent 8]]
[MSG:ERR: Initialization error at /axes/x/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:ERR: Initialization error at /axes/y/motor0/tmc_2209: TrinamicUartDriver must set uart_num: ]]
[MSG:INFO: Machine ZenXY V2]]
[MSG:INFO: Board TMC2209 Pen Laser]]
[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:RMT Pulse:4us Dsbl Delay:0us Dir Delay:0us Idle Delay:250ms]]
[MSG:INFO: Axis count 3]]
[MSG:INFO: Axis X (0.000,692.000)]]
[MSG:INFO: Motor0]]
[MSG:ERR: Critical error in main_init: TMC Driver missing uart-1 section]]
[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
<Alarm|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,0.000>

And I’m still very grateful for all of the help, ya’ll!