Browsed by
Month: December 2014

Compiling Crazyflie 2.0 Firmware on Mac OS X

Compiling Crazyflie 2.0 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.

About six months ago I wrote a entry on compiling Crazyflie firmware with Mac OS X. Since that time, the Crazyflie 2.0 has come out and, as a result, compilation of firmware for the new model requires a new GCC-ARM development environment. This post explains what you need to do to compile firmware for the Crazyflie 2.0 on Mac OS X.

Read More Read More

Crazyflie 2.0 Unbox

Crazyflie 2.0 Unbox

It finally arrived! My Crazyfie 2.0. The one “Christmas present to myself” that I’ve been waiting three months to receive! I won’t be posting an assembly entry for this Crazyflie. Seriously. It was too easy. So, without further ado, here’s the unboxing ceremony (two days before Christmas)…

Read More Read More

New Arrival

New Arrival

I was growing impatient. Why didn’t I opt for a faster shipping service!? I just had to check the tracking once more… …and there it was: departed the sorting facility in my home town! A confirmation that the Crazyflie 2 is finally on it’s way to me., possibly in time for the holiday break, barring any mishap (oh please don’t let anything happen to it).

The past few days have been torture! Watching the forums — all those lucky souls who received their Crazyflies before me. Watching the wiki — all those new documentation pages and updates and fixes, not yet applicable to me. Watching GitHub — all those enhancement and bug fixes not yet usable by me. Watching the blog — a recent post, still so far away from me. The anticipation! I can’t stand it. Please arrive tomorrow… Please, please!!

I want to assemble, I want to develop, I want to experiment… I want to FLY! CRAZYFLIE! 2!!
USPS tracking info

NeoPixel Ring Mod – Part 4

NeoPixel Ring Mod – Part 4

My last entry on the NeoPixel ring modification detailed how I “permanently” mounted the ring and the post before that was about how I got the firmware working like I wanted it. Prior to that, my first entry explained what I wanted to do and elaborated on some testing I conducted prior to deciding on what ring to use. This entry wraps my NeoPixel Ring mod up by exposing how I hacked in some controller support.

The controller support was a little tougher than the rest of the modification because I didn’t have any examples to base my changes on. Furthermore, I had to learn the architecture of the Python client but fortunately it’s in Python which is both fun and pretty accessible!

What I’d hoped to do was make it possible to cycle through the various LED “effects” with a controller button (this is what the Bitcraze video demonstrated and it seemed like a good interface). I also wanted everything to be runtime discoverable so there were little or no “hardcoded” dependencies. I wanted the client to work the same whether or not the firmware running supported the NeoPixel ring mod.

I believe I was able to accomplish all of this.

Read More Read More

Broken, Then Fixed, On/Off Button…

Broken, Then Fixed, On/Off Button…

I’m man enough to admit it. I broke the on/off switch on my first Crazyflie. There, I said it. In my defense though, it didn’t seem to be that easy to push in the first place. It was sticky and didn’t move smoothly. I probably applied too much pressure and finally, the little plastic bit broke off. I denied it for a while. I was able to dismantle the button enough that I could simply use a straight pin to turn it on and off. Eventually, that bit broke off as well so I decided to clean it up and desoldered the rest of the button leaving only the two pads intact. I used my propeller fork for turning it on and off for a long time. It fit the width of the solder pads perfectly. It wasn’t as easy as I would have liked it to be but it worked. Well, mostly it worked. Sometimes I couldn’t get it to turn on before the cold-boot timed out when I was trying to refresh firmware.

Eventually I decided I wanted to replace the button.

Read More Read More