Developed by Bitcraze, the Crazyflie is an open source firmware and hardware flying development board. With a relatively beefy STM32 ARM Cortext-M3 MCU and an expansion header the Crazyflie is an ideal candidate for upgrades and modifications. With such expandability, spare CPU cycles and RAM, it should be possible to interface the Crazyflie with the sensors necessary to facilitate autonomous flight and abiotic variable detection. Given the extremely flexible mobility of the Crazyflie, these variables can be detected nearly anywhere in space.
The focus of this article is on selecting a proximity sensor, setting up a Crazyflie development and debugging environment, and learning how to program MCUs in general.