Edit: ** Current Versions **
- Joystick bluetooth Commander: V5.5
- AndroTest.ino demo sketch: V2.0
* New *
Code for Parallax Propeller, in "C" (thanks twm47099)
Code for Parallax Propeller in "Spin" (thanks jonnyMac)
- Samsumg Galaxy Tab 4 users, please look
herescroll to the end of this message to get latest information Hi,
I developed an Android application that turns a smartphone into a virtual Bluetooth joystick.
The applications in the robotic field are endless: Home Automation, R/C cars, robotic arms and of course
balancing robots 

By default, the device transmits data every 200ms
Data format: [STX X Y ETX]
example: [0X02 0X2A 0X30 0X03]
The application is available (for free

)
hereFrom you smartphone, access Google Store and search for "Joystick bluetooth Commander"
This demo Arduino sketch will parse data on the serial monitor, and control the pin13 LED
// AndroLED V5
// Arduino test sketch for Joystick BT commander
// LED control for buttons + joystick echo to serial monitor
// ** deprecated, please use AndroTest_V13.ino **
// see reply #181
http://www.youtube.com/watch?v=jNiGa_gK2KU
The Hardware setup is rather straightforward, should you need additional info, just let me know
Enjoy
Edit: Updated Arduino sketch,
set Baud rate to default 9600
removed softserial
For sketch upload, don't forget to disconnect board TX from Arduino D0
Edit2:Joystick Bluetooth Commander Version 2.3 is now compatible with Android V3.X and V4.X (Honeycomb, Ice Cream Sandwich, Jelly Bean)
Edit3:added Serial.println("Bluetooth Commander simulation") in setup() for communication testing purpose
Edit4:Joystick Bluetooth Commander Version 2.4
Four toggle buttons with visual feedback
Change Log and
Arduino sketch modification: please refer to reply #51
Edit5:Joystick Bluetooth Commander Version 2.5
Change Log: refer to reply #70
Edit6:Joystick Bluetooth Commander Version 3.0** major Upgrade **
Joystick Bluetooth Commander is now a full blown two way Bluetooth communication application
Arduino sends back a button status Byte and a user defined data Byte to be displayed on the phone/tablet screen (Bot battery level is a nice candidate)
Communication protocol has changed
Joystick data is now transmitted as an integer = 2 Bytes (Most Significant Byte + Less Significant Byte)
<STX MSB-X LSB-X MSB-Y LSB-Y ETX>
Your V2.5 Arduino sketch needs to be modified for V3.0See full change Log at reply #74
Updated demo Arduino sketch at reply #90
Edit7:Fixed link to
Balancing robot for dummies Edit8:New Arduino demo sketch (V10.1)Improve decoding algorithm, see reply #98
Edit9:Joystick Bluetooth Commander Version 3.1Maintenance release, see reply #100
Edit10:New Arduino demo sketch (V10.3) << for Artouste 
Bug fix, see reply #129
Edit11:Joystick BT Plus has been released with 6 buttons and 4 data bytes

The actual number of buttons and data fields is adjustable within the Option menu
Fields and buttons labels are fully customizable
See reply #165
Edit11:Detailed info re Communication Protocol (send and receive)
See reply #154 & #156
Edit12:Joystick BT Plus (6 buttons, 3 datafields)
and
Total RC Commander (video from IP camera)
are now available see reply #177

More info
hereEdit13:Joystick BT Plus (up to 6 buttons, up to 3 free format datafields) is now
- Joystick bluetooth Commander V4.0 -and is available on
Google Play as a free upgrade.
To allow text datafield,
Communication Protocol has changedPlease use and adapt
AndroTest_V13.ino demo sketch to your own needs
** deprecated, please use AndroTest_V14.ino **
See reply #181
Edit14:Communication Protocol for
Joystick bluetooth Commander V4.x and
Total RC Commandernow fully documented
See reply #188
Edit15:A video showing tank control using
Total RC Commander. has been posted in the
Exhibition Section More info
here
Edit16:AndroTest_V14.inoThis updated sketch features optimized timing and better transmission error management
Make sure your BT board is set @57600bps(or modify sketch accordingly)
See reply #210
Edit17:AndroTest_V141.inoSee reply #212
Edit18:BT boards types and configuration tools
See reply #227
Edit19:Joystick bluetooth Commander Version 5.0 has just been published on
Google Play** Communication protocol has changed ** see
reply #252- Change log: see
reply #259- Demo sketch:
AndroTest V2.0 see
reply #256Edit20:Joystick bluetooth Commander Version 5.2 now on
Google Play- Change log: see
reply #292- Demo sketch:
AndroTest V2.0 see
reply #256Edit21:For my
new project, I am testing a robotic claw using Joystick BT Commander