How to control a combat robot via mobile phone
Turning a smartphone into a remote control for a combat robot is an increasingly popular solution that is gaining popularity among DIY enthusiasts and in some competitions. The main advantage is flexibility and the use of a device that almost everyone has with them. The entire process of connecting a phone to a robot is based on three pillars: the robot’s hardware, the software application on the phone, and the method of communication between them.
How it works
The basic principle is to replace the classic lever RC controller with a mobile app. The app on the phone generates control commands, which it sends wirelessly to a receiver module inside the robot. This module transmits the signals to the main control unit—the robot’s brain—which translates them into specific instructions for the drive motors and weapon systems.
What is needed for connection?
The entire solution consists of several parts that must work together.
1. Robot equipment (hardware)
- Control unit (brain): The heart of the robot is a microcontroller, most often in the form of an Arduino board or a more powerful Raspberry Pi. While Arduino is great for simple tasks thanks to its simplicity, Raspberry Pi can handle more complex operations, such as transferring images from a camera.
- Communication module for wireless transmission: In order for the robot to receive signals from a phone, it needs a wireless module.
- Bluetooth: For short-range control (a few meters), a Bluetooth module, such as the HC-05 type, is ideal and widely used. Pairing works similarly to headphones.
- Wi-Fi: For greater range and the ability to control via the Internet, Wi-Fi modules such as the ESP8266 are used. Raspberry Pi boards often have Wi-Fi already integrated.
- Motor driver: The control unit alone would not be able to power the motors. Therefore, a motor driver is inserted between it and the motors. This is a power module that supplies the motors with the necessary energy and allows for smooth control of their speed and direction of rotation.
- Battery: The power source for the entire system is provided by powerful batteries, usually Li-Pol type, which are capable of supplying the high current required for the drive and weapons.

2. Mobile phone applications (software)
- Ready-made universal applications: There are many ready-made applications for Android and iOS that can be used to control robotic projects. Applications such as “Dabble” or various “Bluetooth RC Controllers” allow you to easily create your own control panel with buttons, sliders, or a virtual joystick.
- Creating your own app: If you want to have full control, you can program your own app. Tools such as MIT App Inventor allow you to build a functional Android app even without advanced programming knowledge.
3. Program for the robot control unit
- For Arduino: The code is written in C++ in the Arduino IDE environment. This program is designed to constantly check whether any commands have been received from the phone via Bluetooth or Wi-Fi. For example, if it receives the character ‘V’, it activates the forward movement function.
- For Raspberry Pi: Python is most commonly used here. The script listens on the network and waits for commands from the mobile app. Based on the received data, it then controls the outputs (GPIO pins) to which the motor controller is connected.

A practical example
with Bluetooth technology
- Assembly: First, connect all hardware components. Connect the motors to the motor controller, connect the motor controller to the Arduino board, and connect the Bluetooth module to the Arduino. Connect everything to a common power source (battery).
- Programming: A program is uploaded to the Arduino that defines what the robot should do when it receives various commands (e.g., “forward,” “left,” “stop,” “weapon on”).
Mobile phone installation: A suitable application for remote control via Bluetooth is installed on the phone. - Connection and control: After turning on the robot, Bluetooth is activated on the phone and paired with the robot module. The application then establishes a connection and the robot can be fully controlled using virtual buttons on the display.
Advantages and disadvantages of this solution
Main advantages:
- Savings: You don’t need to buy a specialized and often expensive RC transmitter.
- Customizability: You can design the user interface in the app exactly to your liking.
- Advanced features: You can use phone sensors such as the accelerometer for tilt control.
Main disadvantages:
- Response: A touchscreen will never provide the same precise and rapid tactile response as the physical sticks of a classic controller.
- Signal interference: The reliability of wireless connections (Bluetooth, Wi-Fi) can be problematic in environments with a lot of interference, which is typical for competitive arenas.

