In this project, I’ll teach you how to use an Android phone to make an DIY Arduino and Bluetooth Controlled Robotic Arm. This Robotic Arm may be controlled manually or can be programmed to work in fully automated mode.
You’ve already seen one of Electronics Hub’s Robotic Arm projects, in which we built everything from scratch (except for the motors and Arduino). We received a lot of positive feedback for that project, so we decided to develop a better version of it, Version 2.0, if I must say.
This DIY Arduino & Bluetooth Robotic Arm Project is controlled over Bluetooth from an Android Phone. We’ve created an Android application that allows you to control the Robotic Arm manually or programme it to operate completely automatically. I’ll go over them in more detail in the next sections.
- Circuit Diagram of Arduino & Bluetooth Controlled Robotic Arm
- Components Required for Robotic Arm Project
- Component Description
- Metal Gear Servo MG90S
- 3D Printed Robotic Arm
- Circuit Design
- Assembling the 3D Printed Robotic Arm Parts
- Android App for Arduino & Bluetooth Controlled Robotic Arm
- Working of the Arduino & Bluetooth Controlled Robotic Arm
- Highlights of Arduino & Bluetooth Controlled Robotic Arm Project
Circuit Diagram of Arduino & Bluetooth Controlled Robotic Arm
Let us start with the circuit diagram of the Arduino & Bluetooth Controlled Robotic Arm Project. The following image shows the circuit diagram with all the necessary connections.
The circuit diagram seems very simple but the construction part of the Robotic Arm is a little bit complicated.
Components Required for Robotic Arm Project
- Arduino UNO [Buy Here]
- 4 x Tower Pro MG90S Metal Gear Servo Motors
- HC-05 Bluetooth Module
- 3D Printed Robotic Arm Parts with necessary screws, nuts and bolts
- Proper power supply for Arduino and 4 Servo Motors
- Connecting Wires
- Android Phone with custom application installed
Arduino UNO and Bluetooth Module are pretty straight forward in the list of components but the interesting components are the Metal Gear Servos and the 3D Printed Robotic Arm parts.
Metal Gear Servo MG90S
The Servos used in the Robotic Arm construction are TowerPro MG90S Metal Gear Micro Servos. We have chosen this particular servo because the regular plastic gear servos were not stable and also the stall torque is less.
At 6.6V supply, this metal gear servo provides a stall torque of 2.2Kg/CM (which is considerably more than that of the regular SG90 Servo).
3D Printed Robotic Arm
The aesthetics are a vital aspect of any Robotic Arm project. As a result, we chose 3D Printed Parts for the Robotic Arm. daGHIZmo created the EEZYbotARM 3D Robotic Arm and submitted the files to the Thingiverse website.
Please see this link for 3D Model files of the Robotic Arm.
We used a local 3D printer to make the parts based on the 3D model files. The craftsmanship is excellent, and the dimensions are quite comparable to the genuine thing (not accurate).
If you observe the above image, I have designated the parts of the Robotic Arm as Base, Shoulder, Elbow and Grip. Subsequently, the servo motors are also named Base Servo, Shoulder Servo, Elbow Servo and Grip Servo.
The circuit is designed in a fairly simple manner, as previously stated. The four servo motors’ control signals are connected to four PWM pins on the Arduino UNO in the following order: Base Servo – Pin 3, Shoulder Servo – Pin 5, Elbow Servo – Pin 6, and Grip Servo – Pin 9.
The servo motors are all powered by a 6V supply, while the Arduino UNO is powered by a 9V supply. The HC-05 Bluetooth Module’s TX and RX are linked to the Arduino’s RX0 and TX0 pins, which are Pins 0 and 1.
NOTE: While programming the Arduino, do not connect the Bluetooth Module.
Assembling the 3D Printed Robotic Arm Parts
It will be a very long and dull read if I explain the step-by-step assembly technique of the 3D Parts of the Robotic Arm. So, I’ll publish some photos of the finished robot and make a separate video showing how to put the Robotic Arm together. Take a peek at these photographs in the meantime.
Android App for Arduino & Bluetooth Controlled Robotic Arm
Instead of using potentiometers or serial communication through the computer to control the robotic arm, we decided to go a step further and create a simple Android application.
The app layout of a smart phone running Android version 6.0 is shown in the image below. However, the app has been tested and found to be functional on Android 8.0.
There are four sets of Arrow Control Keys, one for each of the servos: Shoulder, Elbow, Base, and Grip. You can enable the programme mode by pressing the Program button. More on this later in the project’s development.
This software makes use of the Bluetooth feature on the Android phone. This app is currently being tested and is not available in the Google Play Store.
We haven’t created an iOS app as of yet.
Working of the Arduino & Bluetooth Controlled Robotic Arm
This project involves the design and development of a small, 3D printed, Android Phone based, Arduino & Bluetooth Controlled Robotic Arm. We’ll now explore how this Robotic Arm operates and functions.
Install the app on your Android phone and give it the rights it needs to access your device’s Bluetooth. If the Bluetooth Module (HC-05) is not already associated with the phone, do so using the phone’s Bluetooth settings.
Open the App after the device has been associated, and it will immediately list all of the paired Bluetooth devices. Select the appropriate Bluetooth Module, and if all goes well, you’ll be sent to the main control screen.
The four servo motors of the Robotic Arm, including the Base, Shoulder, Elbow, and Grip, are controlled here. Control the robotic arm with the arrow keys of the appropriate Servo motor. The Manual Operation of the Robotic Arm section of the job entails manually adjusting each movement.
Then comes the exciting part. A button labelled “Program” can be found in the centre. If you push this button at any point during the operation, the Robotic Arm will RESET (go to a default position) and the Programming Mode will be triggered.
You can programme the Robotic Arm to do a sequence of tasks automatically in this mode. You don’t have to manually alter the settings all the time if you want to choose little objects from one spot and place them in another.
To complete the work, simply enter programming mode and instruct the Robotic Arm to do a series of steps.
You can interrupt the automatic operation at any moment and resume it from where you left off. You can also just “OFF” the Programming Mode if you want to exit the programming mode and control the Robotic Arm manually.
It will be difficult to discuss the Robotic Arm’s operation (in manual and automatic modes) in detail here. As a result, I’ll make a video for it.
Highlights of Arduino & Bluetooth Controlled Robotic Arm Project
- Any Android-based Smart Phone with Bluetooth can control this Robotic Arm.
- To control the Robotic Arm, there is a dedicated Android app.
- Manual Mode and Automatic Mode are the two modes of operation.
- You can operate the Robotic Arm for regular or manual operation by changing the values of the Robotic Arm’s individual servo motors.
- You can programme your Robotic Arm for fully automatic functioning when Programming Mode is enabled.
- The framework of the Robotic Arm is made up of four Metal Gear Servos and 3D Printed Parts.