Servo control board
This board is designed for applications requiring multiple servos to perform the same movements simultaneously. With the ability to control up to six servos using a single PWM signal, this board ensures precise and synchronized operations, ideal for robotics, animatronics, and other automated systems. Additionally, you can choose which servos will respond to the signal, offering flexibility and customization for your projects.
Key Features:
- Single PWM Signal Control: Synchronizes up to six servos for identical movement.
- Selective Servo Activation: Choose which servos respond to the PWM signal, providing customization and flexibility.
- Easy Integration: Compatible with standard PWM signals from most controllers and microcontrollers.
- Versatile Applications: Perfect for robotics, animatronics, model making, and other automated projects.
Specifications:
- Input Voltage: 4V-5V
- Dimensions: 69,58mm x 38,10mm
Ensure your projects have smooth and coordinated servo movements with this efficient and reliable servo control board. Customize which servos are activated to meet the specific needs of your application.



//©DECTRONICS.CC - Servo control board example
#include <Servo.h> // Include servo library
int latchPin = 5; // Latch pin of 74HC595 is connected to Digital pin 5
int clockPin = 6; // Clock pin of 74HC595 is connected to Digital pin 6
int dataPin = 4; // Data pin of 74HC595 is connected to Digital pin 4
int servo = B11111100; // Variable to choose which servo's you want to control
Servo myservo; // Create servo object to control a servo
int turn = 0; //Variable to hold the turn
void setup()
{
// Set all the pins of 74HC595 as OUTPUT
pinMode(latchPin, OUTPUT);
pinMode(dataPin, OUTPUT);
pinMode(clockPin, OUTPUT);
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}
void loop()
{
switch(turn){ //Based on turn choose which servo to control
case 0:
servo = B10000000;
break;
case 1:
servo = B01000000;
break;
case 2:
servo = B00100000;
break;
case 3:
servo = B00010000;
break;
case 4:
servo = B00001000;
break;
case 5:
servo = B00000100;
break;
case 6:
servo = B11111100;
break;
}
turn++;
if(turn == 7){
turn = 0;
}
updateShiftRegister(); //Update the shift register with the data of servo
myservo.write(180); //Rotate 180 degrees
delay(400); //wait
myservo.write(0); //Rotate back to 0 degrees
delay(400); //wait
}
//Function to update the shift register
void updateShiftRegister()
{
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, LSBFIRST, servo);
digitalWrite(latchPin, HIGH);
}
nice!