• The Crazyflie Nano Quadcopter

  • The Crazyradio 2.4GHz radio USB dongle

Bitcraze and the Crazyflie

Ever wanted a development-kit that flies? We did, so we developed the Crazyflie Nano Quadcopter! The goal with the Crazyflie was to give users a flying base for their development. We wanted to create an open source platform that would be fun to use, as well as give the users the possibility to work on and experiment with a wide range of features and areas.

In order for users to quickly get going with their flying and development we provide a virtual machine with everything that is needed, documentation of the project and design as well as a range of different software. Flying is done from our main client software where you can use a variety of joysticks as well as the Leap Motion. You can also use our custom SD-card image for flying from the Raspberry Pi or our Android client for flying from your smartphone.

We are constantly working on improving the design and trying to come up with fun new hacks and experiments that we implement and show users how to do. Through our community everyone get the chance to join in the discussion and development as well as take part and contribute to all the documentation.

Crazyflie 2.0 debug-adapter board

While designing the Crazyflie 2.0 one of our focuses has been enhancing the current Crazyflie functionality. As a flying development kit the current Crazyflie already has a JTAG debug port that allows to flash and debug the STM32F1 microcontroller. The design uses a standard ARM 10-pins cortex debug connector. The connector is shipped with the Crazyflie control board, but it is not soldered. So before doing any advanced debugging with the Crazyflie the user will have to solder the debug connector (it is always possible to flash new firmware using the radio bootloader).

With Crazyflie 2.0 we wanted to make it easier to debug it out-of-the-box, without needing to solder. But the issue is that standard debug-connectors tend to be fairly large, so to fit the connector on the board we used a different connector that connects to an adapter board.

Aside from having a reset button, the adapter board will have 3 JTAG/SWD connectors:

  • 20-Pins HE10 ARM JTAG with 2.54mm spacing: The most commonly used connector
  • 10-Pins ARM Cortex with 1.27mm spacing: Used in some modern ARM board, the same as the current Crazyflie
  • 6-Pins SWV with 2.54mm spacing: Compatible with the connector present on ST Discovery boards

The smaller 6-pin connector connects to the Crazyflie 2.0 for flashing and debugging of its 2 MCUs: The STM32F405 and nRF51822. The connector for debugging the STM32F4 is mounted on the Crazyflie 2.0. For the nRF51 we are still working to get a solder-free solution using the same cable/connector on the debug-adapter. Why not just put two connectors, or one big with all the signals on the Crazyflie? There’s just no more space on the board. The connector looks very small, but when you bring the footprint into KiCad it’s like parking a minivan in your bedroom :-)

Since all the connectors are wired together the board can also be used in a number of other combinations, like using it as a 20-pin to 10-pin Cortex JTAG adapter or any other combination of its connectors.

Designed by inspyRED