Assembling the Crazyflie

I actually did assemble the Crazyflie the day after my last post but didn’t finish this one until now. My tweet that night summarizes it nicely:


 

The assembly instruction on the bitcraze wiki are pretty straightforward, at least now that they have been tweaked a bit, they were a bit more tricky when I did this. I used one of those cheap 3rd/helping hand things to make it slightly easier, but my soldering skills that are reasonably good when working with larger items and pads were definitely put to the test.

The 3rd hand helped a lot, wished the magnifying glass was better though.

The 3rd hand helped a lot, wished the magnifying glass was better though.

Using some tape to hold down the wires is definitely recommended!

Using some Scotch Magic tape is recommended if you want to keep your sanity.

Using some Scotch Magic tape is recommended if you want to keep your sanity.

After an hour or so of nerve wracking soldering of the tiny wires I was done. M3 and M4 are decent, M1 OK but M2 is very close to being bridged. Don’t want to mess with it again though since it does work.

The sad results of my soldering.

The partially sad results of my soldering.

Put propellers on, and connected the battery and charged it. Was nice to see all the motors spin as they should.

Put the propellers on and powered it up to see if everything seemed to be working.

Put the propellers on and powered it up to see if everything seemed to be working.

Afterwards I got one of my PS3 controllers connected and after some fiddling with the mappings I could fly it with some success. It sure is crazy! It will take some practice to get it fully under control, and it would be nice to fly with a full sized RC remote instead. With the centering analog sticks of a PS3 controller you only have half the travel available for the throttle which makes it quite sensitive.

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.