Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

T6 AC servo from oyostepper wiring and code problem


Apr 2, 2024
Reaction score
Trophy points
Activity points
Hello, this is my first post on this Forum ... Sorry if I make mistakes 🤓
Has anyone tried to wire an arduino to a T6 AC servo motor like this one 😄



My idea was to connect on the CN1 port like below :

driver PUL+ connected to arduino Pin 9
driver PUL- connected to arduino GND
driver DIR+ connected to arduino Pin 8
driver DIR- connected to arduino GND

and try this code to begin :

const int pin8 =8; // DIR+ driver
const int pin9 =9; // Pulse+ driver

void setup() {
pinMode (pin8,OUTPUT);
pinMode (pin9,OUTPUT);
void loop() {

digitalWrite(pin8, HIGH);
tone(pin9,500); // 500 = speed by pulse?? what should be the right number to begin with (maximum bandwidth of the driver is 750KHZ)?

Didn't check thoroughly, but on first sight wiring makes sense.(driver side only, since I don't know what Arduino hardware you are using)

Software: usually steppers need ramp up/down frequency.
Instead of using "tone" I recommend to use Step/dir library.
It is designed for the use with steppers.
(Speed control, position control...)

Adding to what Klaus stated, applying 500Hz to one phase alone will not do anything except perhaps make the motor 'sing'. It certainly wont turn with only one coil driven and I'm not sure if the Arduino tone command sent to several pins will be in any particular phase with respect to each other. 500Hz may be too fast anyway but it will need ramping up and probably down, just turning it on is like revving a car engine then slamming it into gear.

I have done this before with an Arduino Uno. But instead, it was painless Using GRBL code uploaded into the Arduino. Then using the open source GRBL panel for windows on a laptop.

This allows you to set all of the motor parameters for max speed, max acceleration, and a couple dozen other parameters. I forgot to mention that I used a CNC shield to drive the motor, but you can use yours with a USB interface to the stepper controller, this also allows you to choose the pulse burst rate, which is not the rate at which micro steps are sent to the motor, but rather the buffered pulse step rate. This technology is as old as ST 506 HDD’s from the mid 80s.

Then you don’t need to write Arduino code, and focus on your application using Gerber commands like seek from XY to XY2 or draw a circle or seek home and recalibrate.

LaTeX Commands Quick-Menu:

Part and Inventory Search

Welcome to