User Tools

Site Tools


doc:crazyflie:client:cfandroid:index

Install instructions and user guide for the Crazyflie Android client

Screenshot:

Installation

Hardware requirements:

  • Crazyradio dongle (required for Crazyflie, optional for Crazyflie 2.0)
  • USB On-the-go (OTG) cable (aka. USB Host cable) with Micro USB to USB
  • Android device with Android version 4.0 (API Level 14) or higher
  • Android device with support for Bluetooth LE and Android version 4.4+ (required when connecting to Crazyflie 2.0 over Bluetooth LE)
  • Optional: PS3 controller (or compatible)

Downloading the app

There is now an official version in the Google Play Store: https://play.google.com/store/apps/details?id=se.bitcraze.crazyfliecontrol2

Run the Crazyflie Android app

  1. Connect the Crazyradio dongle to the Android device with the USB OTG cable.
  2. A pop-up should ask you which app you'd like to use with the USB device.
  3. Select the Crazyflie app (“Crazyflie Client”).
  4. When you run the app for the first time, you can scan for the Crazyflie (must be switched on). (Preferences button → Connection Settings → Radio Scan)
    • Or you can set channel and data rate in the preferences manually
  5. Once the channel and data rate is set, you can connect to it. (Connect button)
  6. Use the on-screen controls to fly the Crazyflie.
    • WARNING: Be careful with the on-screen controls, they are harder to use than a gamepad.

Connecting to the Crazyflie 2.0 via Bluetooth LE

  • Your Android device must support Bluetooth LE (Low Energy) 4.0 and run Android 4.4+ (eg. Nexus 4, Nexus 5, Samsung Galaxy S4)
  • Make sure that you have not paired your phone with the Crazyflie 2.0 via your phone's general Bluetooth settings, otherwise the app will not be able to connect properly (connection will claim to be successful, but controls won't work)
  • If no Crazyradio USB dongle is connected, a connection over Bluetooth LE will be attempted

Connecting an external controller

Instead of using the on-screen controls, you can also connect an external controller like a PS3 Controller (or compatible):

Connect a PS3 Controller (over USB)

In addition to the USB OTG cable, you'll also need:

  • USB Y-Cable
  • USB Hub
  • PS3 Controller (or compatible joystick/gamepad)

Setup:

  1. Connect a USB Host (OTG) adapter to your Android device
  2. Connect a USB Y-cable with the USB Host adapter
  3. Connect a wall-plug with the (red) power plug of the Y-cable (you need external power)
  4. Connect the upstream port of a USB hub with the socket of the Y-cable
  5. Plug the PS3 controller and the Crazyradio into the USB hub
  6. The Crazyflie Android client should say “Using external PS3 controller” and the Crazyradio's LEDs should light up for a second
  7. Press the “PS” button and move the analog sticks (the pitch/roll/thrust/yaw on-screen values should change)

Alternative setup without a USB Y-cable:


© DesTinY

Connect a PS3 Controller (over Bluetooth)

  • Some Android devices made by Sony, like the Xperia Z1, support the PS3 controller natively (forum post)
  • Otherwise your Android device must be rooted
  • You also need to install the Sixaxis Controller app (paid)
  • Use the Sixaxis Controller app to pair and connect the PS3 Controller
  • You might have to press the “PS” button to activate the PS3 Controller
  • Please note: You cannot connect to the Crazyflie 2.0 while you are connected to the PS3 controller via Bluetooth. (This actually works both with BLE and Crazyradio on certain Sony Xperia phones (e.g. Z2,Z3). Only with Crazyradio on Nexus 5, more testing needs to be done though)

Android device compatibility

Manufacturer Name Android version Crazyradio over USB OTG Bluetooth LE
Asus Nexus 7 (2012) 4.3 supported ?
HP Touchpad 4.0.4 (Cyanogenmod 9) Crazyradio is not recognized not supported
HTC Desire 2.1 Unsupported Android version not supported
One M7 4.x? supported? supported
One M8 4.4.2? supported? supported
LG Nexus 4 4.4 ? supported?
Nexus 5 4.4 supported (Crazyradio firmware version 0.51+ is required!) supported?
5.0 supported (Crazyradio firmware version 0.51+ is required!) supported
5.1 supported (Crazyradio firmware version 0.51+ is required!) supported
Motorola Defy 4.4.4 (Cyanogenmod 11) supported not supported
Moto G 4.3 supported supported?
Samsung Galaxy Nexus 4.2.2/4.3 supported ?
Galaxy S2 ? supported ?
Galaxy S3 ? supported ?
Galaxy S4 4.3 supported? not supported
4.4.2 supported supported
Nexus 10 4.4 (Cyanogenmod) supported supported (a bit laggy)
Sony Tablet S ? Crazyradio is not recognized ?
Z3 4.4.4 supported supported
Z2 Tablet 5.0.2 supported supported
Verizon Ellipsis 7 4.2 ? not supported

Known issues

  • Flight data from the Crazyflie is not displayed
  • Size of on-screen controls can not be changed (Fixed in version 0.5.2)
  • Larger screen size of tablets is not used efficiently
  • No reliable connection quality indicator
  • Repeatedly connecting and disconnecting the Crazyradio can cause problems

More can be found here: https://github.com/bitcraze/crazyflie-android-client/issues

Reporting bugs

Bugs and feature requests should be added as GitHub issues: https://github.com/bitcraze/crazyflie-android-client/issues

doc/crazyflie/client/cfandroid/index.txt · Last modified: 2015-07-15 16:31 (external edit)