My goal is to build an extremely low cost quadcopter, by using the sensors of my smartphone (it will be mounted on the quadcopter). The arduino will only control the speed of each motor, as received from the smartphone. What methods exist to transfer data from a smartphone to arduino?

My first idea was to simply use USB, but it turns out that my smartphone doesn't support the USB host mode. Is it possible to send data over USB without USB host mode? What alternatives do I have? I thought of using the audio port: Can I directly connect an audio channel to analog in?

  • "Extremely low cost" and the lift capacity to carry a smartphone sound mutually exclusive. I reckon by the time you get that lift power it would have been significantly cheaper to buy a gyro shield Jan 16 '15 at 6:05
  • Hmm that is true. But sending data would also be interesting for other robot projects.
    – gorilla
    Jan 16 '15 at 15:01

I have been using a bluetooth module - they can be had for just a few dollars (depending on which country you're in). I've got an HC-06 which works great : http://www.dx.com/s/hc-05

It has 4 pins: VCC (connect to +5V on Arduino), GND, RX and TX (connected to RX and TX, digital pins 0 and 1 on the Arduino).

You will probably not be able to use Bluetooth and USB at the same time - both will be sending to the Arduino at the same time, and the communications will get garbled.

I have an app called "Bluetooth Serial Controller", which lets me send commands over bluetooth.

If using this, think carefully about what will happen if your phone goes out of range of your arduino.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.