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.
This is great. I was trying to get things working using Homebrew instead of MacPorts, but wasn’t really having any luck.
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!
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.
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
Solved – port install py27-game worked where port install py27-pygame did not