Crazyflie Programming

Firmware/software/electronics/mechanics
Post Reply
asaddler
Beginner
Posts: 12
Joined: Mon Apr 07, 2014 2:11 am

Crazyflie Programming

Post by asaddler »

I am completely new to electronics in general but I am excited to work with the Crazyflie for a project. I am lost in programming the Crazyflie and I was wondering if someone could walk me through it. I already have the Bitcraze Virtual Machine working and I just need to know each programs' roles. Also, I am curious how you can incorporate code from GitHub into the Crazyflie. Thank you in advance and I appreciate any help. :D
marcus
Bitcraze
Posts: 659
Joined: Mon Jan 28, 2013 7:02 pm
Location: Sweden
Contact:

Re: Crazyflie Programming

Post by marcus »

Hi,

We just discussed this and realize that we don't really have a good overview of how the different software fit together. So we will try to document this with an image on the wiki, but for now here's a short run-down.
  • crazyflie-python-clients: PC side client used to log/control the Crazyflie and also update the firmware. Also contains a Python API that can be used for other applications
  • crazyflie-bootloader: Bootloader that runs at power-on of the Crazyflie. This allows updating the Crazyflie application firmware via the radio
  • crazyflie-firmware: Crazyflie application firmware
  • crazyradio-firmware: The firmware that runs on the Crazyradio USB dongle and allows communication with the Crazyflie. This repo also contains scripts for updating the firmware in the Crazyradio dongle
  • crazyflie-android-client: This is an Android application that allows flying from a device that supports USB OTG that allows you to connect the Crazradio
Aside from these there are also Java, C/C++ and Ruby APIs (among others) available on GitHub that are developed and maintained by users.

Most users are interested in the Crazyflie firmware or the Crazyflie python client. The source-code for both are available on GitHub and in the Virtual Machine. Here's a short video tutorial on how to rebuild and flash the Crazyflie firmware:
asaddler
Beginner
Posts: 12
Joined: Mon Apr 07, 2014 2:11 am

Re: Crazyflie Programming

Post by asaddler »

Thank you, this clears things up a little, I appreciate the help :D
muhamriaz4
Beginner
Posts: 5
Joined: Sat Oct 17, 2015 9:19 am

Re: Crazyflie Programming

Post by muhamriaz4 »

Hey.
Is it possible to write a code to program the crazyflie to communicate with an nrf24l01 using an arduino?
chad
Expert
Posts: 555
Joined: Sun Sep 28, 2014 12:54 am
Location: New York, USA
Contact:

Re: Crazyflie Programming

Post by chad »

muhamriaz4 wrote:Hey.
Is it possible to write a code to program the crazyflie to communicate with an nrf24l01 using an arduino?
Bitcraze did a hack a while back that made the Arduino communicate with the Crazyradio through the radio's serial port. Unfortunately there is no further documentation on the effort yet...
Crazyflier - my CF journal...
4x Crazyflie Nano (1.0) 10-DOF + NeoPixel Ring mod.
3x Crazyflie 2.0 + Qi Charger and LED Decks.
Raspberry Pi Ground Control.
Mac OS X Dev Environment.
Walkera Devo7e, ESky ET6I, PS3 and iOS Controllers.
muhamriaz4
Beginner
Posts: 5
Joined: Sat Oct 17, 2015 9:19 am

Re: Crazyflie Programming

Post by muhamriaz4 »

Hey. Thanks for the reply. We got it working by using the code initially provided by tbitson:

https://github.com/jpihet/crazyflie-ard ... rduino.ino
chad
Expert
Posts: 555
Joined: Sun Sep 28, 2014 12:54 am
Location: New York, USA
Contact:

Re: Crazyflie Programming

Post by chad »

muhamriaz4 wrote:Hey. Thanks for the reply. We got it working by using the code initially provided by tbitson:

https://github.com/jpihet/crazyflie-ard ... rduino.ino
Happy to hear you got it working! Good luck!!
Crazyflier - my CF journal...
4x Crazyflie Nano (1.0) 10-DOF + NeoPixel Ring mod.
3x Crazyflie 2.0 + Qi Charger and LED Decks.
Raspberry Pi Ground Control.
Mac OS X Dev Environment.
Walkera Devo7e, ESky ET6I, PS3 and iOS Controllers.
Post Reply