Page 1 of 2

Can't burn firmware into Crazyflie 2.0

Posted: Sat Apr 10, 2021 1:01 am
by purvisb
I'm trying to burn firmware into the UAV. But it's not working. When I plug the drone into the computer and pass it to the VM, I can scan and connect to it. But then when I select "program" it disconnected and can't seem to reconnect unless I restart the "crazyflie service" and reseat the UAV. Plus I can't pass the device into the VM when I put it in bootloader mode. 

Any suggestions?

I attached a gif of what happens.

Re: Can't burn firmware into Crazyflie 2.0

Posted: Mon Apr 12, 2021 6:27 am
by jonasdn
Hi purvisb!

Uploading a new firmware to the Crazyflie is only possible through Crazyradio (on a radio:// uri). We reworked the UI for firmware upgrade in the client for this release and it makes it look like upgrading using USB is possible, but it is not!

Thank you for reporting this! We will update the client to make this scenario impossible, and update the docs!

Re: Can't burn firmware into Crazyflie 2.0

Posted: Mon Apr 12, 2021 11:30 am
by tobias
I'll jump in as there are a couple of other ways. The iOS client is able to update the Crazyflie 2.X firmware to the latest release. Also it is possible to update the STM32F405 using dfu update over usb.

Re: Can't burn firmware into Crazyflie 2.0

Posted: Mon Apr 12, 2021 7:44 pm
by purvisb
Thank you for the clarifications!

I'll look into using an iOS client or getting my hands on a Crazyradio PA.

Re: Can't burn firmware into Crazyflie 2.0

Posted: Tue May 04, 2021 8:46 pm
by GIduarte
I have this same problem, but using the Crazyradio...

Re: Can't burn firmware into Crazyflie 2.0

Posted: Wed May 05, 2021 4:38 am
by jonasdn
GIduarte wrote: Tue May 04, 2021 8:46 pm I have this same problem, but using the Crazyradio...
Hi GIduarte!

Could you describe in exact steps (and which decks you have) what happens when you try to update using the client?

Thank you!

Re: Can't burn firmware into Crazyflie 2.0

Posted: Wed May 05, 2021 6:28 pm
by GIduarte
Hello,

I reinstalled crazyflie-lib-python and it worked!

Re: Can't burn firmware into Crazyflie 2.0

Posted: Thu May 27, 2021 6:56 pm
by jacobgk2
I am using the PA radio and am having the same issue as the original post. Here are the steps I follow and the issues I run into:
  1. Open Command Prompt and type cfclient to open.
  2. In upper menu bar, click "Connect ---> Bootloader" to open the Crazyflie Service menu.
  3. Under the "Crazyflie connection" section in the "Connect Crazyflie" tab, click "Scan" to find my Crazyflie and then "Connect" once it has found my Crazyflie to connect in firmware mode.
  4. Under the "Firmware source" section in the "From release" tab, select the most recent release from the "Available downloads" dropdown menu.
  5. Select "Program" at the bottom right of the window.
Following these steps has resulted in two different issues so far:
  • Either the status changes almost immediately to "Not connected".
  • Or the firmware download is endlessly "Fetching..." (although this only happened once).
I also tried following the same steps on the Virtual Machine and the same "Not connected" issue occurs. I did attempt to reinstall the Crazyflie Python library as GIdaurte did but that did not resolve the issue for me.

Any other suggestions?

Re: Can't burn firmware into Crazyflie 2.0

Posted: Fri May 28, 2021 5:47 am
by jonasdn
Hi jacobk2!

Does the same thing happen if you try to flash using the "Cold boot (recovery)" tab in the client? If you keep the power button pressed for a couple of second while turning the CF on, to enter bootloader mode. And then press "Initiate bootloader cold boot".

Thanks!
Jonas

Re: Can't burn firmware into Crazyflie 2.0

Posted: Tue Jun 01, 2021 4:56 pm
by jacobgk2
Another individual I am working with found a resolution to the original issue of the Crazyflie disconnecting when attempting to flash the most updated firmware release. In a Command Prompt, we ran the following commands:

Code: Select all

git clone https://github.com/bitcraze/crazyflie-lib-python.git
cd crazyflie-lib-python
pip install -e .
Personally, I needed to change the last command to

Code: Select all

pip3 install -e .
While this solved the original issue of not being able to flash the Crazyflie with the most recent firmware release, I still have an issue with the "Cold boot (recovery)" option. Prior to the above fix, when I attempted to perform a "Cold boot (recovery)" in the client, the status would say "start_bootloader() got an unexpected keyword argument 'cf'". Now when I attempt to perform a "Cold boot (recovery)", the status just says "Flashing" and does not change. The progress bar at the bottom of the window also does not progress. I'm not sure what is causing this issue now, but this fix is a lot less urgent now that the original issue has been resolved. However, if you have any suggestions for this new obstacle I would be happy to try them out as this could become more urgent if I ever do need to recover my Crazyflie from a failure state.