New lowrider control issue

I’m at the point where the my lowrider build is mechanically complete but the initial testing of the control is not going as planned.

I’m assuming it will be a software configuration based issue as the system is relatively simple wiring wise or I’ve managed to skip a step at some point

I have removed the card from the machine and have it plugged in on a bench with a single stepper motor connected to try an isolate the problem.

System consists of:

Jackpot card was sourced from escrow

5 x Bigtree Tech TMC 2209 V1.3 drivers

ESP32-WROOM-32 micro controller board

FluidNC V3.9.5 installed (tried both UI 2 and 3)

All files from FluidNC_Configs/LowRider CNC/Jackpot/UI V3 LRCNC at main · V1EngineeringInc/FluidNC_Configs · GitHub have been uploaded to the flash

Irrespective of what driver the stepper is connected to the results are the same (so multiple motors on different drivers will turn at the same time)

Positive jog on either the x or y axis will result in both x and y stepper motors rotating the “jogged amount”

Negative jog on either the x or y axis will result in all the steppers being disabled, free to turn

Positive jog on the z axis will result in the steppers turning slightly, pausing for the “movement time” and then turning slightly again in the same direction

Hopefully someone can point out the obvious mistake

The startup log for reference

[MSG:INFO: FluidNC v3.9.5 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 LowRider]
[MSG:INFO: Board Jackpot TMC2209]
[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.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:20000000]
[MSG:INFO: Stepping:I2S_STATIC Pulse:2us Dsbl Delay:0us Dir Delay:1us Idle Delay:255ms]
[MSG:INFO: User Digital Output: 0 on Pin:gpio.26]
[MSG:INFO: User Digital Output: 1 on Pin:gpio.27]
[MSG:INFO: Axis count 3]
[MSG:INFO: Axis X (3.000,1263.000)]
[MSG:INFO:   Motor0]
[MSG:INFO:     tmc_2209 UART1 Addr:0 CS:NO_PIN Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0 R:0.110]
[MSG:INFO:  X Neg Limit gpio.25]
[MSG:INFO: Axis Y (3.000,2483.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.33]
[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.35]
[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.32]
[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.34]
[MSG:INFO: X Axis driver test passed]
[MSG:INFO: Y Axis driver test passed]
[MSG:INFO: Y2 Axis driver test passed]
[MSG:INFO: Z Axis driver test passed]
[MSG:INFO: Z2 Axis driver test passed]
[MSG:INFO: Kinematic system: Cartesian]
[MSG:INFO: Connecting to STA SSID:WIFI]
[MSG:INFO: Connecting.]
[MSG:INFO: Connecting..]
[MSG:INFO: Connected - IP is 192.168.1.153]
[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: Flood coolant gpio.2]
[MSG:INFO: Mist coolant gpio.16]
[MSG:INFO: Probe gpio.36:low]
ok

First, please double check your wiring to match this:

correct Lowrider wiring (steppers)

Before I removed the Jackpot card from the machine I did check the connections several times, nothing stood out as being out of place.

I have tried both V2 and V3 UI’s, in and out of the machine to the same end result.

The Jackpot card now is sting on a bench connected to a benchtop power supply with a new nema17 stepper connected to it using the manufacturer supplied cable.

the stepper will turn for positive x & y jogging regardless of which which output it is connected too (x,y,z,a,b,c)

the stepper will turn off and be free to manually turn for a negative x & y jogging regardless of which which output it is connected too

In my experimentation I have found reducing the z feed rate from the default 1000 to somewhere around the 300 mark results in the z jogging performing as per x & y in the positive direction

What makes no sense to me is that all stepper channels do the same thing/respond to the same commands, possible comms issue?

I have ordered a replacement esp32 just in case the one I have is a little messed up to eliminate any issues but will take a week or so to arrive.

We’ve occasionally seen some oddball nema 17 steppers that although they looked the same and had the same wiring and connectors, were not compatible. Can you upload a picture of your stepper driver label or confirm its model number?

The steppers I installed as part of the mechanical build are 17HS19-2004S1 from stepperonline

https://www.omc-stepperonline.com/nema-17-bipolar-59ncm-84oz-in-2a-42x48mm-4-wires-w-1m-cable-connector-17hs19-2004s1

The test stepper I sourced from a local electronics shop

Both motors respond in the same fashion

I have confirmed both motors are use the same colour code/winding configuration via datasheets and multimeter. (pins 1 to 4 are blue, red, green, black)

Pin wiring matches the silkscreened winding image on the jackpot board although I haven’t seen the expected polarity documented for the 4 pin plug.

I can confirm rotating the plug does cause the steppers to swap rotation direction.

The symptoms suggest to me that there is an addressing issue between the esp32 and the t2209 drivers as all drivers seem to respond to all messages. I assume the addresses are configured via software during initialisation?

Just to close this out in case anyone comes across a similar problem.

New ESP32 dev kit arrived today. I flashed FluidNC, uploaded the LR4 config files, plugged the board in and the steppers run perfectly as they should in each direction.

Some noticeable differences in the setup that might help indicate possible problems-

New ESP32 entered programming mode on it’s own via the web installer and did not require the boot button to be pressed

Stepper motor movement is much smoother and near silent compared to the original dev board.

Thanks to Dreyfus & Cesar the assistance

Your failure is an interesting one. The symptoms and resolution point to a blown ESP-32, notably a very broken io matrix in the GPIO chain.

Did the original ESP-32 ever work correctly?

If so, when did the problems start? Was it bad right out of the box? Where did the bad ESP-32 come from?

It was a new unit bough for the Lowrider build and was playing up from the outset.

I started gathering the pieces for the build quite some time ago but work got in the way of play so it has been on the shelf long enough that I don’t know where exactly i got it from.

It wasn’t from Ryan but would have been purchased online somewhere.