This article was last modified on 20 December 2016.
The wireless-networking standard technology called Bluetooth has quietly become a common way to replace the wires on short distances. With a gadget such as a smartphone or tablet, a Bluetooth connection is the easiest way to send and receive data.
In this article, I explore a series of materials and resources so you can learn how to develop an Android application and wirelessly control a robot over the Bluetooth technology at the flick of a wrist.
An Android device has Java support, built-in Bluetooth module and a large variety of sensors. All of these features classify an Android smartphone or tablet as the perfect tool to remotely control a robot over a Bluetooth connection.
With an open architecture and a large community, Android allows anyone to build applications with simple tools and resources. In other words, anyone can build an application for a smartphone or tablet with Android tools. these applications can be used to control a robot with simple movements of the device or at a touch of the screen.
You can make an Android application so that the robot respond to intuitive forearm gestures based on the accelerometer sensor data, your voice, at a click of a button, or at the swipes on the touchscreen. In this way, you can control the robot to move up, down, left, right, forward, backward, pick and place, or doing anything you want.
The Bluetooth Technology
At the end of this article, you will realize how wonderful can be a 17-year old wireless technology and how easy is to control a robot using a simple application and an Android device. Every technology has its limits, and the Bluetooth technology is perhaps the best way to control the robot remotely as long as it is in the range of the Android device.
The wireless communication is between two systems. One is the device that runs the Android OS, while the second system is the robot with a Bluetooth module attached. On the Android device, the control system is simple and uses an application to control the Bluetooth service on Serial Port Profile (SPP) connection. The application has to be able to send data over Bluetooth module according to the sensors, touchscreen, and the application features.
On the robot side, you have to add a Bluetooth module connected to the robot controller. The Bluetooth module is a little device designed to transmit data between peripheral devices. In other words, this little device is able to synchronize the I/O data between the robot and the Android device.
You can use one of these Bluetooth modules Arduino compatible with different signal range:
- HC-06 – this is a slave Bluetooth module easy to use with Arduino;
- JBtek HC-05 Wireless Bluetooth – HC-05 is one of the most popular Bluetooth module Arduino compatible;
- Electronic Brick HC06 Serial Bluetooth Module – with a signal range less than 20 meters, this wireless module is cheap and easy to use;
Android Applications Development Tools
A large community of Android developers applies their programming skills on several software development tools with support for fast debugging. Using these tools is the shortest way to build easily and in minutes any Android application able to remotely control a robot. Below are the powerful and popular development tools for Android.
- Android SDK – the first and the best development platform is and will be the Android development kit;
- Xamarin– using advanced features, Xamarin is a powerful development platform for mobile apps with support for iOS, Android, Mac and Windows;
- DroidDevelop – this is one of the simplest ways to build Android application using the Android OS installed on a device;
- AIDE – with full editor and compiler available, AIDE is one of the most completed integrated development environment (IDE) that runs on the Android device;
- Terminal IDE – using command lines and with support for Java / C / C++ / HTML / Android development kit, the Terminal IDE is a powerful tool able to run on your Android device;
Free Bluetooth Android Applications
Before starting to write the first programming line, you have to think that you cannot use one of the several free Android OS applications designed for wireless control.
These applications are engineered to use the Bluetooth feature on any Android device and connect it to a Bluetooth-enabled module.
- Arduino Bluetooth Controller – simple, unique and with four command modes;
- Blueberry – if you have a mobile robot controlled by an Arduino board, perhaps this is the best free application that can be used to control the robot over wireless communication;
- ArduDroid – if you have an Arduino robot, the ArduDroid application helps you to control the Arduino Uno board from your Android device;
- BlueTerm – this is another free application designed to communicate with any serial device using the RFCOMM/SPP protocol over Bluetooth;
Tutorials to Develop Simple Bluetooth Android Application
Sometimes is hard to start developing applications from scratch when no one is around you. But with a little help and programming skills, you can start to build your custom application to wirelessly control a robot.
- Communicate with Your Arduino Through Android – this is a step-by-step tutorial that shows you how to send text from your Android phone to your Arduino board;
- Android Bluetooth Tutorial – this is a good example from where you can learn how to start developing an application to control the Bluetooth module;
- A Simple 2-Way Bluetooth-based Android Controller for Arduino – this tutorial shows you how to control the digitalWrite pins, how to send text/command from Android to Arduino, how to get text/command from Arduino, and many more useful tips and tricks;
- Arduino to Android – Basic Bluetooth Connectivity Tutorial – following this guide you can learn how to program an Android device with Bluetooth module and connect to an Arduino board;
- Android Example – Bluetooth Simple SPP Client and Server – a simple example how to use the Bluetooth Simple SPP Client and a server;
- Arduino to Android – Turning an LED On and Off – from this tutorial you can learn how to turn On and Off an LED from an Android smartphone;
- Android Controlled Robot (via Bluetooth) – Part 1 – comprehensive tutorial to build an Android application and how to use the Bluetooth method to control a robot;
- Simple Android and Java Bluetooth Application – as the title says, this is a simple tutorial with programming lines for a simple Android application that uses Bluetooth technology for connectivity;
- Data transfer between Android and Arduino via Bluetooth – this is a tutorial that shows you how to use the Bluetooth connectivity to transfer information between Android and Arduino;
- Creating a Simple Android App with 2 Buttons – step by step tutorial from where you can learn how to build a simple Android application having only two buttons for control;