FYSETC S6 Motor Lock up


Dear Onstep Group. I am a very happy onstep user having converted a Vixen GP with the MiniPCB version 2 and first using the original tin-can motors and then upgrading to 400step motors. It works amazing. I am now converting my GPDX and I would like to use the full features of the FYSETC S6 board. However, after many long nights of trying and reading as many posts as I can on the board, I just cannot get my motors to spin, they just lock up. I am using FYSETC 5160 v1.2 Drivers and NEMA 400step motors. I have swapped both the motors and the drivers with the working MiniPCB and they work just fine in there. I have an older S6 v2.0 board and thought maybe the board ws bad so I bought a new one and I just tried with a new S6 2.1 board (had to install the old bootloader) and I am getting the same exact results. When the motors do not have power, I can spin them by hand, when they are given a signal, they lock up.  I have tried Onstep 4.24 and also OnstepX. I am hoping there is something blindly obvious about what I am doing wrong. Again, everything seems to be functioning GPS (ATGM336H GPS module), BME280 SPI, Wemos D1 Mini Pro with SWS. I even have the wSHC working. I just cant get these motors to spin! I have even tried basic with just wifi and motors and same thing. Help!!! And Thank you.

Mike Ahner

Hi Jak,

I can't say too much about the board, I don't use a FYSTEC. But I notice you have the irun and igoto current pretty high for axis 1 and you left off a zero for axis 2.

// for TMC2130, TMC5160, TMC2209U, TMC2226U STEP/DIR driver models:
#define AXIS1_DRIVER_IHOLD            OFF //    OFF, n, (mA.) 
#define AXIS1_DRIVER_IRUN             1000 //    OFF, n, (mA.) 
#define AXIS1_DRIVER_IGOTO            1500 //    OFF, n, (mA.) 

define AXIS2_DRIVER_IHOLD            OFF //    OFF, n, (mA.) 
#define AXIS2_DRIVER_IRUN             100 //    OFF, n, (mA.) 
#define AXIS2_DRIVER_IGOTO            150 //    OFF, n, (mA.) 

First thing I suggest is to reduce the current for Axis1, start with 35%~65% of max. Then increase as needed to avoid stalls. And the current on Axis2 is probably too low to move the motors.

Beyond that, I would check the board physically, it seems as though the stepper drivers are not getting a signal on the STEP pin. Check for wiring errors, or bad solder connections. Any board can have a problem from the factory with bad connections, after all these are new parts we're testing. If you have an oscilloscope, you should see the STEP pulses on each driver.


Mike Ahner

You can also turn on AXIS1/2_DRIVER_STATUS to see if you are getting errors from the drivers themselves.


Thank you for suggestions Mike. I have 0.5A, 0.9A, and 2.0A stepper motors I have been trying with various amount of current. Currently Axis 1 has the 2A stepper which was a lower setting but I was getting same results. Axis 2 is a stepper I will eventually be using for a focuser, that is why that current is so low.

Both S6 boards, The Bigtreetech 5160s and FYSETC 5160s, all the motors. It is the same deal. It does seem like some sort of timing thing. I did try swapping around motor wires and then it makes horrible noises. I will turn on driver status and see if I can get any additional infromation from the drivers. Thanks!


One thing I noticed is that your black and green wires are inverted in each axis.

Are you using the same cables for your MiniPCB board?  If different, then your problem is most likely with the cables.


Good eye there on the wiring. I have tried pretty much every permutation and combination of wiring without success. As mentioned, the motor can be turned by hand when there is no signal to it. When I turn on tracking or try to guide it, it locks up. If I put my ear to it I can hear the noise of the signal. However, when "locked up" the motor wont budge.


Okay, I have movement! I dont know if it is correct as it sounds pretty poor. But I installed the latest STM libraries 2.2.0 instead of the recommended 1.9. It looks like with this version in windows you no longer have an option to change the address to load the onstep to. So in the Arduino program under sketch I exported the compiled binary. Then I used the STMprogrammer to upload it to 8010000.

Johnnie Pattison

I just went through your Config. I am currently trying to put OnstepX on an S6. V2. OnstepX is running, but I have no WiFi. I have an ESP8266 that I used with Onstep. Is there something I need to do to get Wifi working? 


If you had success with your ESP8266 successfully on another instep build, I would first try to make sure you get the very latest version of SWS for the wifi to work with OnStepX. Otherwise I think the wifi module should be a Wemos D1 mini pro.

Howard Dutton

Yes use the latest SWS, and making sure the serial ports you are using are enabled and baud rates selected properly on both sides.



To determine which wires make up the two phases on a four wire stepper motor you could use an ohmmeter but lacking that, here is a foolproof method:

Unplug your stepper motor 

Rotate the motor by hand noting the amount of torque required.

Short the black and blue wires on the stepper using a paper clip, short wire, small length of solder, etc.  With the wires shorted, note the torque required to rotate the stepper.  If it is larger than that of the unshorted torque, then black and blue are a phase.  The red and green are another.  

If no change in torque is detected, then short the black to the green.  If the torque is higher than the unshorted torque then black and green are one phase, red and blue are the other.

And finally, when you actually get the motors spinning, you may notice the motors are rotating in the opposite direction you desire.

You can change this in the config, or in hardware.  Take the wires on ONE PHASE of the stepper and reverse the connections to the driver.  The stepper direction will now be the opposite of before.

If you have an ohmmeter, look for continuity between the black and blue, with the red and green disconnected.  If you have continuity then black and blue are one phase, red and green are the other.

If not, check for continuity between black and red with blue and green disconnected.  If you have continuity, then black and red make one phase, blue and green are another.

This technique works as a stepper motor acts as a generator when rotated.  If you short a phase, a high current will flow in that phase which will resist your attempts to rotate the motor.

Hope this is helpful.

Best regards,


On Thu, Jun 23, 2022, 5:52 AM Howard Dutton <hjd1964@...> wrote:
Yes use the latest SWS, and making sure the serial ports you are using are enabled and baud rates selected properly on both sides.

George Cushing

I don't think there are many sources of inexpensive NEMA 17 step motors. The red, green, blue & black color scheme seems to be universal among them.

The motor manufacturers are fairly consistent There is an A coil and a B coil. The coils are polarized so one end is "+" and the other is "-." Thus you will see this symbol which gives you most of the information you need.
Add a little color and it tells you all you need to know.

The problem arises with the driver carrier manufacturers. They can't seem to decide on a standard coding or which way is up!


Regardless of the inscriptions the hookups are all the same except the ST820. Some use the letter for the coil designation others the numeral. 

Most of the time, one of these will work.


Thank you all for the info. I just realized I have two accounts, and the account "ETXcetera" (used for another groups.io was logged in at the time) and it was me posting and letting people know I got this thing working. These graphics and details are great information however in my case it was not a result of faulty wiring. Something to do with S6 v2.1 and older libraries. I posted more details in this thread: