Using the Android Platform to control Robots

The popularity of android devices is attributed to their powerful capabilities which include internet connectivity, open architecture, and several other kinds of built-in sensors. Students and other software developers are increasingly using the android platform since it utilizes Java programming language which can easily be applied in universities and other learning institutions LPCCA. Not only is Android API open and easy to use, it also allows developers to access various hardware components and different low-level functions. Most robotic functions can be controlled by the Android platform due to presence of several communication interfaces such as Bluetooth, WiFi, USB, GSM/UMTS, and integrated sensors like the gyroscope, accelerometer, compass and GPS.

Although the devices are produced for the mass market, the Android platform does not have the capacity of physically extending so that it can be able to control additional sensors and actuators. Developers argue that this is an important necessity if Android devices are to be used for robotic control. Experts believe that most of the challenges can be solved by making data structures, algorithms, and software behavior more concrete. For instance, robots can be built easily with LEGO Mindstorms RCX and with the latter NXT. However, the NXT capabilities are not sufficient for running complex programs that are based on Java. A two-layer approach is used to address this problem, while experts intend to replace the lower layer in the future robotic versions with a microcontroller platform, such as the popular Arduino board.

Experts designed LPCCA library that deviates from a direct connection between NXT and Android, to Android and microcontrollers. Several types of board designs have been introduced, such as the Arduino Mega Board, which has a larger CPU and additional ports compared to the standard Arduino. A number of approaches have already been introduced. First, Microbridge is a software project that builds upon a USB Host Shield and an Arduino microcontroller board (Gobel, et al., n.d). Second, the IOIO Board is a hardware circuit board that is used as a direct extension for the Android platform. Other approaches that have already been experimented on include Google ADK, Cellbots, Amarino, and leJOS 0.9/Android.

The popularity of LEGO Mindstorms NXT system has risen rapidly in learning institutions because it is less costly in comparison to other robot platforms for professionals. It is also flexible due to several mechanical elements that allow development of various robots, while its graphical programming software is easy to understand.

Lego Mindstorms NXT

Figure 1: Lego Mindstorms NXT (source:

Experts developed a library so as to create sufficient connection between NXT and Android. Connection considerations that were utilized include direct via USB, indirect via microcontroller, and Bluetooth. The current implementation of the library has a Remote Service known as LPCCARemoteService. This is an Android interface that controls connections between Android applications and NXT. An example is the WebMoteRobot than can be used to set up connection when a person has an Android device.


Figure 2: WebMoteRobot (Source: )

Basically, this document has analyzed the fully functional LPCCA library that enables experts to develop Android applications with ability of controlling remotely the NXT robots. Whereas most of this information can be accessed in, Android enthusiasts will thus benefit from the library where programs can be used to verify complex control sequences for the NXT. Students will also be supplied with an easy access to LEGO robot sensors and actuators that are not only simple and flexible, but also less costly.

This Post / Project can also be found using search terms:

  • NXT Robots
Clip to Evernote

Leave a Comment

(Spamcheck Enabled)

Read previous post:
Whenever we go out of town for few days, we always used to worry about our plants as they need water on regular basis. So here we are making Automatic Plant Irrigation System using Arduino, which automatically provides water to your plants and keep you updated by sending message to your cell phone. In This Plant Watering System, Soil Moisture Sensor checks the moisture level in the soil and if moisture level is low then Arduino switches On a water pump to provide water to the plant. Water pump gets automatically off when system finds enough moisture in the soil. Whenever system switched On or off the pump, a message is sent to the user via GSM module, updating the status of water pump and soil moisture. This system is very useful in Farms, gardens, home etc. This system is completely automated and there is no need for any human intervention.
Arduino based Automatic Plant Irrigation System with Message Alert

Whenever we go out of town for few days, we always used to worry about our plants as they need...

Scroll to top