Controlling DIY robotics and RC using your phone.

Public Chat
Similar projects worth following
Being interested in everything and want to experiment with it is great, also with robotics. If the parts required to start experimenting are cheap taking this first step becomes much easier. This projects aims to create a cheap way to control DIY robotics and RC using your phone and a Bluetooth connection between the phone and a receiver board.

The project consists of two parts: An app on a mobile phone which will act as a transmitter and a hardware module on the robot or RC vehicle which acts as an receiver. These two parts communicate through Bluetooth. A custom protocol will be designed, one which is simple to use (and hack) but still is reliable. Different modules will be designed to allow different use cases. Each has its own advantages and uses. All modules use an Arduino as its brain and a Bluetooth module for communication. The Arduino and Bluetooth module can either be as separate PCBs stuck onto the main board by headers or its components can be soldered on the main PCB directly to create a very compact unit.

HControl RC module

Ideal for beginner RC projects. All the functions you would expect from a standard RC transmitter and receiver are here.

  • 8 RC signal outputs (servo signals) to control brushless ESC or servo motor
  • Powered from signal output or separate power input
  • One mother board with Arduino module and Bluetooth module stacked on top
  • Very easy to solder and assemble

HControl robot module

Ideal for beginner robotic projects.

  • 2 DC motor outputs (H bridge. Bidirectional motor control possible.)
  • 4 digital outputs
  • 4 servo motor outputs
  • One mother board with Arduino module and Bluetooth module stacked on top
  • Very easy to solder and assemble

HControl RC compact module

A smaller version of the HControl RC module in size.

  • 8 RC signal outputs (servo signals)
  • Powered from signal output or separate power input
  • One mother board with Arduino and Bluetooth components soldered on
  • Very compact design

HControl robot compact module

A smaller version of the HControl robot module in size.

  • 2 DC motor outputs (H bridge. Bidirectional motor control possible.)
  • 4 digital outputs
  • 4 servo motor outputs
  • One mother board with Arduino and Bluetooth components soldered on
  • Very compact design

HControl app

A phone app acting as the transmitter to the HControl modules. Full configurable functionality ensures it is usable is every situation.

  • 2 joystick like controls, configurable as cross joystick or single direction
  • The center of the screen has place for buttons and sliders, configurable to your needs.
  • Channels can be assigned in every combination to the controls

  • 1 × Custom PCB PCB for connecting the arduino, bluetooth module and the connectors.
  • 1 × Arduino nano
  • 1 × Bluetooth module for arduino HC-05 or HC-06
  • 3 × Female header 6 pins 100 mil pitch
  • 1 × Terminal block 2 way

  • HControl in a real application

    hylke4406/03/2018 at 14:43 0 comments

    The first real use of HControl! I have build a RC car to be able to test HControl in a real life situation. The HControl mudule with the app did fine. The car? Well.. judge for yourself.

    There are still some improvements to be done. The steering right now is reversed. Not ideal when you want to control a car. This shows why the controls needs to be configurable and reversing will definitively be one of the parameters. So next up will be improving the app by making it more robust in terms of use and adding configurable controls. And maybe some work needs to be done on the car.

  • HControl hardware module prototype

    hylke4405/31/2018 at 18:30 0 comments

    The prototype for the first HControl hardware module is done. All is working. This gives a nice feeling to how the final PCB will look like. The next step will be to actually build this into a RC car and give it a proper test.

  • The app takes control

    hylke4405/28/2018 at 18:19 0 comments

    A basic android app has been made as a proof of concept for HControl. With it I am able to control the brushless motor and servo motor. The app aims to give the same feeling as using a RC transmitter and receiver. Therefore it has two joysticks: one on the left and one on the right. In the future these joysticks will be configurable as cross joysticks which can move horizontally and vertically or the joystick can be configured as single direction.

    In the middle will be space for either a slider to control another servo or buttons to control digital outputs. This enables a good way to control a robot project.

  • Communication goes wireless

    hylke4405/02/2018 at 17:25 0 comments

    Today a quick update on the project. The USB to serial adapter has been replaced by a HC-05 Bluetooth module. The test setup itself did not change other than my table became a lot cleaner as less cables are needed. The computer sends characters defining the channel and speed serially over Bluetooth to the test setup. All the motors immediately reacted to the computers instructions. Another milestone achieved in this project!

    The only problem I had was to find the correct COM port om my computer, not something to worry about as a mobile phone will take over the transmitter part.

  • The motors start to turn

    hylke4404/25/2018 at 17:52 0 comments

    I have been doing some prototyping on the project. To start with a simple test setup to control two servos and a brushless motor with an Arduino. The Bluetooth communication is replaced by a simple serial connection. A computer is connected and acts as a transmitter, sending strings of data to the Arduino.

    The protocol I used for now consists of two parts:

    • One ascii character defining the channel of which the value is set. Possible characters are A, B and C as I only have three channels for now.
    • Four ascii characters defining the new value of the channel. Possible values are 0000 to 1023. The future will tell if this range is correct choice.

    The servo motors were immediately turning and following the direction of the data send by the computer. The brushless motor however was angry beeping at me. The signals for controlling a servo and an ESC should be the same so the next step was to swap the servo motor with the ESC. It did not improve anything. The servo was still turning happy and the brushless motor beeping angry.

    After some debugging I found out that the signal input range of the ESC was not the full 0000 to 1023 but rather 0200 to 0900. I do not know if this is due to imprecise timing of the Arduino, the fact that the ESC was the cheapest one I could find or that it is something common for all ESCs. It is definitely something to keep in mind during future developing and needs some more research.

    After changing the test code on the computer so other values are send the brushless motor also started to turn. The next step is to add a Bluetooth module and replace the USB serial connection with Bluetooth.

    I made videos of the whole setup working including the angry beeping so that will be added soon.

  • Trying something new costs money, sometimes too much

    hylke4404/15/2018 at 18:19 0 comments

    Imagine the following: you are getting interested in RC vehicles so you want to try it out. You decide to build a small indoor hovercraft. After doing some research you head over to your favorite Chinese web-shop to buy some parts. And here it becomes interesting.

    This situation happened to me some time ago. Adding all the items I needed I built up the whole list of components in the cart:

    • 2x Brushless outrunner motor - $8.14
    • 2x 30A ESC - $6.84
    • 1x Battery - Already lying around
    • 2x Propeller - $2.09
    • 1x RC transmitter - $24.03
    • 1x RC receiver - $5.01

    I was quite shocked at the price of the transmitter and receiver. Wouldn't there be a cheaper solution to this? I did not need the long range of these transmitters. Something simple for indoor use would be good enough. The possibility to also be able to use it for some upcoming robotics projects would make it even better.

    And then it got to me! Utilizing something everybody already has to do the hard work: a mobile phone.

View all 6 project logs

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates