
Unleashing the Power of Crazyflie with the App Layer
Discover the potential of the app layer in the Crazyflie system, allowing users to customize flight logic, control LEDs, and communicate via packets. Learn how to implement and explore the functionalities for educational and experimental purposes. Find out more about using the app layer, its benefits, and limitations, along with helpful resources for further exploration.
Download Presentation

Please find below an Image/Link to download the presentation.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.
You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.
The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.
E N D
Presentation Transcript
App Layer Information
Why are we interested in the app layer and what is it? The app-layer is a set of functionality and APIs to allow user to add custom code to the Crazyflie. This is still an experimental functionalities but the intention is to eventually provide documentation and APIs to easily extend the Crazyflie and implement autonomous capabilities. -from bitcraze website The app layer could be a great tool in having students add their own control logic to be able to customize the crazyflies. It is relatively simple to jump into, while also allowing to control and use most of the crazyflie s functionality.
What can users control through the app layer? - The internal log and param system, which would allow control over most of the Crazyflie s flight logic. - The LEDs on the Crazyflie. This can be used to show runtime information to the user. - Packet based communication. The app layer is a part of the firmware of the crazyflie, which means it is free to communicate via packets with the Crazyflie Client, the Crazyflie python library, or a custom ground station - There is an initialization function that can be called and ran before entering the appMain() function for more control
How do we use the app layer? The app layer is super simple to begin using, while being complicated enough to do some really cool things with the Crazyflie (perfect for a classroom setting). As mentioned before, the app layer is a part of the Crazyflie firmware, so to start using it all that is needed is to define APP to be 1 in the makefile (or in tools/make/config.mk) and flash the Crazyflie with the customized firmware
Flow Diagram of the App Layer
Some cons of the app layer Bitcraze has stated that the app layer is slightly experimental, so there is not a lot of API and explanation on how to use it. Because of that, knowing a lot about the crazyflie is essential to accomplish significant feats with the app layer
More information/examples of what the app layer can do - https://www.bitcraze.io/documentation/repository/crazyflie- firmware/master/userguides/app_layer/ - https://github.com/bitcraze/crazyflie-firmware/tree/master/examples