Crazyflie2

The Crazyflie is much more fun than your typical development kit, as it involves a small flying drone! This is a great example of a complex system with multiple processors that interact. The Crazyflie2 utilizes BLE and a custom Nordic radio protocol (Enhanced Shockburst) for communicating with a phone or host PC. The Crazyflie has two expansion decks, so if you're interested in learning to build a custom board this is a great platform to utilize.

Right out of the box there is a fully operational flying drone. The drone's capabilities can be expanded via two expansion decks. Particularly adventures hackers who want to test their hardware development skills can try building their own expansion decks and writing a custom deck driver.

The Crazyflie itself has two processors: an nRF51 and an STM32. The nRF51 manages the radio link with the USB radio base station, and the STM32 handles flight control and other primary system functions. There are many ways to tinker with this device, such as exploring inter-processor communication, adding custom decks, messing with the flight control software (just to name a few).

All Crazyflie-related source code is available on Github. There are many software pieces involved with this device, and each has its own dedicated software repository.

More on the Crazyflie2: