Tutorials: How to Develop Simple Bluetooth Android Application To Remotely Control Your Robot

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.

Android Bluetooth Applications  (image source droidxpert.com)

Android Bluetooth Applications (image source)

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:

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;
  • ArduinoCommander – using a WYSIWYG interface, the Android sensors or a JavaScript script, this free application allows you to control the Arduino board over 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.

  • Posted in: Tutorials

18 comments » Write a comment

  1. Hello Sir…….If we design a bluetooth controlled robot using Atmega16 controlled by android phone then how to write the programe in Atmega16?

  2. Hello sir, I got an error when I ru the project in eclipse, it says MissingContentDescription attribute on image…i dont know a solution for this problem.. :'(

  3. Hi I was wondering if you could create a program that once detects a device sends a notification or a simple message but I don’t know how to start I mean can I do it with java, c, or how?

  4. Hii.. I really like this tutorisl… As part of my studies, i want to implement an android app that connect to a Robot through a server so that the robot can be accessible by internet…. May I ask what kind of server should be used for good communication ?

  5. Nice tutorial!  Smartphone based project are becoming increasingly
    popular with many exciting applications emerging in both academia and
    industry. However, no everybody is matching their device with Arduino or
    the ADK board.  As a case in point, we installed an Android device onto
    a RC car and used an IOIO board instead to control it autonomously.
    Here is the preliminary result:

  6. Hello !
    I’m using arduino and it works very well but when I change activity the bluetooth connection is lost. How can I fix this problem ? Thank you

  7. Sir I just want to develop an app that can send and receive data from another app…plz just think i dont know abc of Bluetooth connectivity development.

  8. Looking to control a ‘multiroom’ music system remotely that can be controlled using a serial connection. Will take a closer look at this to see if it can be adapted to fit my needs. I assume instead of bluetooth a wireless device could be used for greater range.

Leave a Reply

Required fields are marked *.