Android + Arduino Project: Should I Talk Over Bluetooth or USB?

I am starting a project where I am going to write an Android program that will control and / or send / receive input data to / from an Arduino gadget. For example, make the LED blink as the simplest example. I can either get a bluetooth shield for the Arduino board and follow the bluetooth route like in the Androino example ! Control Arduino from your Android device with a cheap bluetooth module .

Or I can buy a USB host screen for the Arduino board and talk to the phone with the Arduino device over the USB connection as shown in the Adventure example in Android ADK Development: Hardware .

Which implementation is simpler and more reliable, both from a hardware setup (soldering problems?) And from a programming point of view (additional Python scripts required? "Listening" on Android for bluetooth device and USB device and sending data back and forth?) I have been developing Android for a couple of months, but I have no experience with Arduino.

I do not mean that this was a lazy question - I can do some research, but I am inexperienced and try to pick my implementation right away so that I can order the right hardware on time for the deadline. I have to make sure I choose an implementation that I can actually do.

EDIT: Perhaps even easier to use the Ethernet shield on the Arduino board and enable the Arduino gadget to the Android phone over TCP / IP? I don't know why it didn't happen from the start. But there seems to be much less in terms of tutorials on such an implementation, for reasons I am not aware of.


source to share

3 answers

I am currently working on a project that communicates with Arduino and Android phone via bluetooth. And from my experience so far all I can say is STAY AWAY !

All the articles on the internet about cheap bluetooth modules working perfectly are supremely misleading, to say the least. This can be easy and ideal if you buy a $ 80 shield, but not if you have a budget. I bought the $ 30 shield and it only seems to work on one of the seven Android devices I've tried to use. Also, it appears to be completely out of step with the standard Bluetooth connection methodology and requires a lot of workarounds / hack method calls, which are all very dangerous and unstable.

On the other hand, the USB connection is much more reliable, better supported, and of course, has the inherent speed advantage and, since it is well supported, does not suffer from all the bugs associated with Bluetooth connectivity. It's just as easy to set up in terms of hardware (no work if you get a decent screen), reasonably priced compared to bluetooth screens, and generally easier to code in my experience.

If you're on a budget and can connect to a wired connection, I highly recommend USB over Bluetooth.



I don't know the details. But I would say that if the phone will stay with the board, use USB . For lower latency and in general, I find a wired connection is better for all applications.



I have no experience with Arduino and good experience with Android, and I decided to plug in a USB connection to work from phone to arduino to light up the LED.

I used a Nexus One and Arduino Mega ADK and had a USB connection working after about 5 hours and was very excited to get the LED to light up when I pressed the button. But then I decided to take it to the next level because bluetooth sounded too cool to leave.

Anyway, about 30 hours later I FINALLY got the job and I can say it was TOTALLY worth it. I needed to find out the TONE, but as soon as I got it working, I can say that it was not all in vain.

I bought an Itead V2.2 bluetooth shield ($ 25 for me), then plugged it into my arduin and used my Nexus One with Amarino to send a signal to my chip and turn it off and on the LED.

It was definitely difficult from my experience, but the learning curve is what makes these projects so much fun. So I would say "COMES FOR THIS!"

Good luck with your future work!



All Articles