Arobot is a robot system consisting of two components:

  • controller: Android Application running in Android phone
  • actor: intelligent hardware of a robot

Communication between controller and actor (detailed description) can utilize:

  • bluetooth,
  • WLAN with own protocol
  • WLAN with ROS topics

The robot hardware has following options:

  • Arduino with servo motors (only for BT interface)
  • FPGA Cyclone C4 evaluation board with steppers (only for BT interface)
  • Raspberry Pi and FPGA Cyclone C4 evaluation board with steppers

The stepper motors should be use if more precise movement is needed.


Android application


Utilizing phone's sensors, commands for robot's axis movement are calculated and transmitted to robot. The steering wheel visualizes the values of commands.


Arobot interface

We use three following interface options:

Bluetooth as interface between phone and robot. The robot's movement is controlled with velocity commands for every robot's axis.

WLAN as interface. The custom defined protocol

ROS standard topics

Arobot hardware

Arduino with bluetooth shield, controlling Servo Motors

Altera C4 evaluation board with bluetooth interface controlling stepper motors.

The description

Raspberry Pi with Altera C4 controlling stepper motors

Here I'd like to thank some authors and community members for their ideas, work and publications:

Paul Lawitzki 

Greg Millete-Adam Stroud Book: Professional Android Sensors

David Sachs MIT Media Lab his talk at Google Tech Talk

Dietrich (build of demo-robot)

Without their work, Arobot would be much harder to develop.