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.