Crazyflie has arrived – setting up on my Mac

For a long time I’ve followed the work of the guys at Bitcraze on the tiny quadrotor Crazyflie. I ordered it from Seeedstudio as soon as the pre-order became available and was happily surprised about the quick shipping from Hong Kong after it was finally shipped! I’ll include some photos of the kit below.

Unfortunately running the computer client needed on a Mac isn’t well documented but proved to be fairly easy (note that I haven’t flown it yet though). I already use MacPorts on my MacBook Air that runs Lion so I preferred getting all or most of the dependencies installed using it. A condensed version should be (including an optional update in the beginning):

port selfupdate
port upgrade outdated
port install libusb
port install py-pyusb-devel
port install py27-pyqt4
port install py27-pygame

I already had python27 installed, but it should get installed as one of the many dependencies regardless. I also have /opt/local/bin in my PATH and /opt/local/lib in my DYLD_LIBRARY_PATH already. This is also a good opportunity to do a “port install mercurial” so you can clone the crazyflie repos from bitbucket. After cloning crazyflie-pc-client I could then start bin/cfclient and the UI came up. It seems like the radio dongle is working but there’s no crazyflie to connect to since I haven’t gotten that far yet… Only issue right now is that the Python process uses 100% CPU continuously, I really hope that’s only a bug related to it not being connected to something. And it won’t exit properly either so I have to kill -9 it. :-)

Traceback (most recent call last):
  File "/Users/ckk/oss/crazyflie-pc-client/lib/cfclient/ui/main.py", line 410, in closeAppRequest
    app.exit(0);
NameError: global name 'app' is not defined

I’ll bring out my soldering iron tomorrow to have a go at soldering the motor connections needed, meanwhile I’ve been putting the motor in the motor mounts and started looking at which propellers to use to begin with, I have plenty since I bought some extra in addition to the extra ones already in the kit. Might also print the very nice looking enclosure for the radio that’s already up on Thingiverse. If I finish the assembly tomorrow I’ll then have to start looking at getting one of my PS3 controllers connected to my MBA.

The way everything was packaged, very bare bones and not much protection for the accessories.

The way everything was packaged, very bare bones and not much protection for the accessories.

The Crazyflie box.

The Crazyflie box.

The box and the extra accessories I added to my order.

The box and the extra accessories I added to my order.

After opening the lid of the box, very nice looking!

After opening the lid of the box, very nice looking!

The USB radio dongle, antenna and one of the propellers.

The USB radio dongle, antenna and one of the propellers.

The main Crazyflie PCB/frame, one of the motors and the battery.

The main Crazyflie PCB/frame, one of the motors and the battery.

5 thoughts on “Crazyflie has arrived – setting up on my Mac

  1. This is great. I was trying to get things working using Homebrew instead of MacPorts, but wasn’t really having any luck.

  2. I’ve successfully brought up the GUI control app, and I’ve connected to the quadcopter. Initially before I did my soldering it looked like the telemetry data was reading in correctly, although it was lagging a bit. Now I’ve finished my soldering and the motors spin correctly at boot and the green LED flashes 5 times, indicating a successful systems check. However, connecting to the copter is now showing incorrect telemetry data. It just seems to wander all around. Just wondering if you’ve seen this and if it might be something on the software side that I can reset or fix. Thanks!

  3. It seems to work fine for me actually, did get hit by that 100% throttle on controller disconnect bug though. Which was an interesting experience, the crazyflie is crazy fast! I would try asking on the bitcraze forums.

  4. Issuing the port install py27-pygame failed..

    Whisper:~ lithyem$ sudo port install py27-pygame
    Error: Port py27-pygame not found

    All worked fine up to there. Any ideas? Google gives me ZERO :(

  5. Solved – port install py27-game worked where port install py27-pygame did not

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>