With the Servo Controller, you can wirelessly control multiple servos using the BlueBot app. Whether you’re working on a robotics project or simply exploring servo motors, this servo controller allows you to adjust the angles of multiple servos from 0 to 180 degrees, giving you full control over your project. The servo controller provides a smooth and efficient way to control your servos, even from a distance.

How the Servo Controller Works
The servo controller uses Bluetooth to communicate with your servo motors. By connecting the servo motors to the appropriate pins on your Arduino board, you can control them remotely through the BlueBot app. The servo controller works by sending commands via Bluetooth to adjust the positions of the servo motors gradually. This enables precise control of your servos.
Features of the Servo Controller
- Wireless Control: With the servo controller, you can easily control the servo motors without the need for direct wiring, using Bluetooth for communication.
- Adjustable Angles: You can set the angle of your servos anywhere from 0 to 180 degrees, providing versatility for different applications.
- Smooth Movement: The servo controller allows for smooth and gradual servo movements, thanks to the speed control feature.
- Multiple Servo Control: With the servo controller, you can manage multiple servos at once, making it ideal for complex projects like robotics.
How to Use the Servo Controller
To use the servo controller, you need to follow these simple steps:
- Connect Servos: Connect the servo motors to your Arduino.
- Upload Code: Upload the servo control code to your Arduino using the Arduino IDE.
- Connect Bluetooth: Pair your Bluetooth module with the BlueBot app.
- Control Servos: Use the app to control the servo positions remotely.
Servo Controller Code
Here’s the full code to control two servos wirelessly using Bluetooth:
#include <SoftwareSerial.h>
#include <Servo.h>
// Declare Servo objects for two servos
Servo servo01;
Servo servo02;
// Initialize Bluetooth serial communication
SoftwareSerial Bluetooth(2, 3); // Arduino (RX, TX) - HC-05 Bluetooth (TX, RX)
// Variables for servo 1
int servo1Pos = 90, servo1PrevPos = 90; // Current and previous positions
int servo1SpeedDelay = 20;
// Variables for servo 2
int servo2Pos = 90, servo2PrevPos = 90; // Current and previous positions
int servo2SpeedDelay = 20;
String dataIn = ""; // To store incoming Bluetooth data
void setup() {
servo01.attach(10); // Attach servo 1 to pin 5
servo02.attach(6); // Attach servo 2 to pin 6
Bluetooth.begin(9600); // Initialize Bluetooth
Bluetooth.setTimeout(50); // Increase timeout for stable connection
// Set initial positions for both servos
servo01.write(servo1PrevPos);
servo02.write(servo2PrevPos);
delay(20);
Serial.begin(9600); // For debugging
}
void moveServoGradually(Servo &servo, int &prevPos, int targetPos, int speedDelay) {
if (prevPos > targetPos) {
for (int j = prevPos; j >= targetPos; j--) {
servo.write(j);
delay(speedDelay / 2);
}
} else if (prevPos < targetPos) {
for (int j = prevPos; j <= targetPos; j++) {
servo.write(j);
delay(speedDelay / 2);
}
}
prevPos = targetPos; // Update previous position
}
void loop() {
if (Bluetooth.available() > 0) {
dataIn = Bluetooth.readStringUntil('\n'); // Read data until newline
Serial.println("Data received: " + dataIn); // Debugging
// Handle commands for Servo 1
if (dataIn.startsWith("J1")) {
String dataInS = dataIn.substring(2);
servo1Pos = dataInS.toInt();
if (servo1Pos < 0) servo1Pos = 0;
if (servo1Pos > 180) servo1Pos = 180;
moveServoGradually(servo01, servo1PrevPos, servo1Pos, servo1SpeedDelay);
}
// Handle commands for Servo 2
if (dataIn.startsWith("K1")) {
String dataInS = dataIn.substring(2);
servo2Pos = dataInS.toInt();
if (servo2Pos < 0) servo2Pos = 0;
if (servo2Pos > 180) servo2Pos = 180;
moveServoGradually(servo02, servo2PrevPos, servo2Pos, servo2SpeedDelay);
}
}
}
Understanding the Code
- Library Setup:
The Servo library is used to control the servo motors, and the SoftwareSerial library is used for communication with the Bluetooth module. - Pin Setup:
The servo motors are connected to pins 10 and 6 of the Arduino. The Bluetooth module is connected to pins 2 and 3. - Bluetooth Communication:
Bluetooth communication begins at a baud rate of 9600. The Bluetooth module receives commands such as “J1” or “K1” followed by an integer representing the angle of the servo (0 to 180 degrees). - Servo Movement:
The functionmoveServoGradually()
allows the servos to move smoothly by gradually increasing or decreasing their position. The movement speed is adjustable using theservoSpeedDelay
variable. - Control Logic:
Based on the Bluetooth command received, the corresponding servo moves to the desired position. For example, a command “J1” will control servo 1, and “K1” will control servo 2.
How to Use the Servo Controller
- Download the BlueBot App:
Install the BlueBot Controller app on your Android device. Make sure your Bluetooth is enabled. - Pair the Bluetooth Module:
Pair your HC-05 Bluetooth module with your Android phone via the Bluetooth settings. - Send Commands:
In the app, use the slider to adjust the angles of the servo motors. The app sends commands like “J1” for servo 1 and “K1” for servo 2, followed by the desired angle. - Enjoy Wireless Control:
Watch as the servo motors respond to the angle changes you make through the app, with smooth and precise adjustments.
What is the BlueBot Controller App?
The Ultimate Bluetooth LED Controller App is a mobile application designed to control Bluetooth-enabled devices. The Blue Bot Controller is an all-in-one Bluetooth app designed for controlling devices like LEDs, robots, and sensors. It offers advanced features tailored for hobbyists, students, and developers alike.
With support for gesture, voice, IoT, and custom controls, the app enables seamless device management. Its user-friendly interface makes exploring wireless communication and automation effortless and engaging for all users.
Controllers:
- LED Control
- Robot Control
- RGB Control
- Text Control
- IoT Control
- Matrix Control
- Voice Control
- Gesture Control
- Sensor Control
- MPU6050 Sensor : Gesture and motion detection.
- Potentiometer Sensor: Analog value adjustments.
- PIR Sensor: Motion detection triggering.
- Ultrasonic Sensor: Distance and proximity measurements.
- Custom Control
- Timed Control
- Servo Control
- Joystick Control
- Inauguration Control
Features of the BlueBot Controller App
- Simple Command Interface: Easily send commands like “ON” and “OFF” to control devices.
- Customizable Buttons: Create custom commands to suit your project needs.
- Real-Time Control: Instantly see the results of your actions.
- Compatibility: Works seamlessly with Arduino and Bluetooth modules like HC-05 and HC-06.
How to Download the BlueBot Controller App
To get started, download the BlueBot Controller App from the official source:
Make sure you have a Bluetooth-enabled smartphone to pair with your project.
Adjusting Servo Positions with the Servo Controller
The servo controller enables precise adjustments by sending commands through Bluetooth. Each command will update the position of the servo from its current angle to the target angle. This makes it perfect for projects where you need fine control, such as in robotics or automation.
Conclusion
The servo controller with Bluetooth provides a simple and effective way to control servo motors wirelessly. Whether you’re building a robot, a mechanical system, or simply experimenting, this servo controller will give you full control over your servo motors, making it a valuable tool for any DIY electronics enthusiast.
With the servo controller, you can create complex projects like robotic arms or vehicles that require precise, adjustable movements. The wireless control feature makes it even easier to control multiple servos without the need for physical connections. So, whether you’re a hobbyist or a professional, the servo controller with Bluetooth is an excellent addition to your toolkit!
Download BlueBot Controller App and start your journey today!