Browsed by
Month: June 2014

Compiling Crazyflie Firmware on Mac OS X

Compiling Crazyflie Firmware on Mac OS X

UPDATE 2015-Aug-01: Bitcraze has recently merged the Crazyflie Nano (1.0) and Crazyflie 2.0 firmware source code. As a result, it is even easier to build firmware for either model on Mac OS X. See my article on the merge for more information on building the firmware.

Since I’m a Mac user, like I mentioned in my “Preparation” post, I naturally wanted to compile the Crazyflie firmware directly on a Mac. Of course, the Bitcraze boys provided a virtual machine that I can run on my Mac, but I don’t want to always use the virtual machine. Furthermore, if I can cross-compile on a Linux distro, obviously I can do it on Mac OS X as well. Since the STM32 MCU the Crazyflie uses is an ARM Cortex processor, I was worried it would be a nightmare setting up the toolchain build environment. I was pleasantly surprised to find out it wasn’t hard at all!

Read More Read More

Assembly: Battery Centering

Assembly: Battery Centering

The final step in the assembly of my Crazyflie was mounting the battery. It’s a simple thing, the battery mount, a square of double-sided mounting tape, a small 170mAh LiPo battery and a short two-wire connector. Easy as pie. But… The battery needs to be centered for a perfectly balanced airframe. The question is, how to go about achieving that quickly and simply? I thought I’d found an answer, but maybe it was just a pipe dream.

In my “vision” I pictured a device capable of allowing me to center the battery just right and achieve exceptional balance. In my reality I created a contraption that seemingly worked, but it may have just been dumb luck. Who was I to question results?

Read More Read More

Assembly: Soldering Leads

Assembly: Soldering Leads

The time had come for the moment of truth. This is where the rubber meats the road, as the old adage goes. It was time to solder the motor leads. Soldering is a skill I acquired in my youth. My father and grandfather both worked with electronics and as a result, I had many opportunities to solder as a child. The problem was, it has been at least 20 years since I last soldered. I was seriously out of practice and worse still, I’ve never had to work on such micro-electronics before. There’s so much packed onto that tiny crazyflie printed circuit board (PCB). I had only ever soldered things I could actually see with my naked eye!! This was going to be an adventure.

Read More Read More

Assembly: Motor Mounts

Assembly: Motor Mounts

I didn’t have much time to work on my new crazyflie today but I had to make some progress somehow. I decided to mount the motors in the motor mounts since I could do it sitting on the couch with minimal tools and preparation. A twist on the motors’ wire pairs would make the motor installation cleaner and more tidy, so it was with that in mind that I embarked on this task. The process was pretty simple, though the thin wires took a delicate touch and feeding them through the motor mounts took patience and finesse.

I grabbed the stripped end of the black and white wires on each of the motors with a pair of tweezers. Then, I slowly started twisting the wires between my thumb and forefinger starting as close to the motor as I could. I twisted tightly (but gently) until I neared the stripped ends in the tweezers. In the image, the motor with the tightly twisted wires is finished and the one on the right is in process.

Once the wires were as twisted as I wanted them, I slowly fed them through the channel in the bottom of the motor mounts. Once through, I carefully seated the motors into the buckets, making sure the wires did not get pinched once the motor was fully installed. It took a little time and an eye for detail but the finished product came out just as I had hoped. It was an easy task for the end of a busy day.

Read More Read More

Assembly: Propeller Balancing

Assembly: Propeller Balancing

In an aircraft as small as the crazyflie, the biggest enemy of great performance is vibration. The engineers at bitcraze realized this and thus gave some optimization tips for maximizing performance in the tips and tricks section of their wiki. It is with this in mind that I began the assembly of my crazyflie.

The first order of business was to get organized. My plan was to use one of the five motors to test the balance of the propellers and group them accordingly. Naturally, I needed to find the motor with the least vibration and then the propellers (both clockwise and counterclockwise since there is a distinction) with the best balance. I needed a AA battery (an Apple NiMH rechargeable fit the bill), some paper, a pen, and a little bit of tape. I drew a grid on some paper to help me organize the task.

Read More Read More

Arrival and Unbox

Arrival and Unbox

My crazyflie arrived in the mail yesterday. I unboxed it and got acquainted with the contents. I stared at the soft green and black cardboard box and the shiny, mylar bags strewn about my couch. It was only mere minutes before I had to start tinkering with it.

Read More Read More

Arriving Soon…

Arriving Soon…

I got an email from Massdrop saying they received the bulk shipment of crazyflie nano quadcopters, are breaking it down and packaging for individual shipments, and shipping the units out, which they hope to have all complete in 24 hours!

So, hopefully, I’ll be looking at my crazyflie kit this weekend… And when I say looking at the kit, I mean looking. I have to look, think, read, examine, investigate, internalize, and digest this all before I make a single move ’cause I don’t want to break anything through general stupidity.

I know a little about electronics. I can solder (semi-well), which is more than many can say. I know a lot about programing. I can do it – even if I don’t know the language, I can figure it out. I do know Python and C so that’s a plus (or a plus, plus… sorry. had to). I know jack about flight mechanics, physics, mathematical computing, radio technology, networking, digital communications, etc, etc, etc… The crazyflie kit relies on some knowledge of a lot of these things and I am but a babe in the woods.

I only say all this to prepare you, my reader, and myself, for the journey we are about to embark on. I intend to learn quite a bit along the journey and to help me remember it, I hope to teach it to you. So, soon, here we go…

Preparation

Preparation

Since I have to wait a while for my crazyflie shipment to arrive from Massdrop, I figured I could get a head start by downloading the bitcraze virtual machine, and exploring the code and resources there. Of course, since I’m a Mac user and have been using VMware Fusion since its birth, I was hoping things would work out on my configuration. Unfortunately, on my first try importing the Bitcraze VM 0.5 virtual machine with VMware Fusion 6, I had some problems getting the VM to run. The system hung part-way through the boot process. Fortunately, I’ve figured out what needs to happen to get it working.
Here’s my easy, step-by-step instructions for converting the Bitcraze VM (0.5) OVA file to a VMware Fusion virtual machine that runs on Mac OS X.

Read More Read More