Control the Crazyflie quadcopter with an Android phone

Crazyflie controlled with Android

The easiest way to control a Crazyflie nano quadcopter is with a laptop and a PS3 controller (or similar), but tonight we played around trying to control it using the Android client. Took a bit of messing around, so here’s how we got it working.

Instead of installing the full Android SDK (ADT bundle) I tried the Android Studio. Only limitation is that I couldn’t find how to install built apps directly onto my phone, but installing with ADB or ssh was fine. Anyway, here’s what we did to get the client running:

  1. Install Android Studio.
  2. Clone crazyflie-android-client or download the zip archive
    $ hg clone
  3. Open Android Studio. Click File > Import project.
  4. If you’ve changed the channel that your Crazyflie is flying on, you’ll need to edit it in the file:
    $ src/se/bitcraze/crazyfliecontrol/
  5. Search for “Set channel 107” and change 107 to your channel number.
  6. Click build.
  7. The .apk to run on your Android phone will be at:
    $ out/production/crazyflie-android-client/crazyflie-android-client.apk
  8. If you have adb tools installed, connect your Android device over usb and run:
    $ adb install out/production/crazyflie-android-client/crazyflie-android-client.apk

Good luck controlling it.. it’s a bit slower to respond than running it on a laptop/bluetooth, but hopefully that’ll change as they update the Android app.

This entry was posted in Blog, Projects and tagged , , , , . Bookmark the permalink.

4 Responses to Control the Crazyflie quadcopter with an Android phone

  1. Tyrone Tyrrell-Glynn says:

    Hi have a s3 downloaded the apps cant seem to get the app to work gor my crazyflie. Any help would be great.

    • sighmon says:

      Hi Tyrone,
      Does your S3 power up the crazyradio? Do you see blinky lights when you plug it in?
      We’ve tested it with a Galaxy Nexus, but the Nexus 4 we tried doesn’t power over USB.
      Cheers, Simon.

  2. Deepak K Tomar says:

    Hi sighmon, i am from India. i want one of these Android controlled rc quadcopter…
    i am using Samsung GT S7652 , will it work with my device and if yes how can i order man. please help

  3. sana says:

    i am working on quad copter and trying to control it through java app but on the client side there is android app and on pi i am using java2SE , now i have tried to control motors speed from client side(APP) but i can not control it properly because on pi i have used pi4j and wiring-pi API so do not where is the problem whether the pin i have chosen for motor signal or do i need to go with another API? if any one has idea please suggest me but the API for pi must be related to JAVA2SE .

Leave a Reply

Your email address will not be published. Required fields are marked *