Release 2021.03: Lighthouse is stable!

We are happy to anounce the availability of the 2021.03 release of the Crazyflie firmware and client! This release includes new binaries for the Crazyflie (2021.03), the Crazyflie client 2021.03 as well as the Crazyflie python library The firmware package can be downloaded from the Crazyflie release repository (2021.03) or can be flashed directly using the client bootloader window. The firmware package contains the STM firmware (2021.03), the NRF firmware (2021.03) and the Lighthouse deck FPGA binary (V6).

The main feature in this release is the stabilization of the Lighthouse positioning system. The main work done has been on the system setup and management, it has taken a lot of work spawning all the projects and a brunch of documentation, but we think we have reached a stage where the lighthouse positioning system is working very well and is very easy to setup and get working. We have now published the new Lighthouse getting started guide and will be working this week at updating all required materials to mark Lighthouse as released!

When the Lighthouse positioning system was released in early access, it required to install SteamVR, run some custom scripts and flash a modified firmware to get up and running. This has been improved slightly over time with scripts that allows to setup the system without using SteamVR and some way to store the required system data in the Crazyflie configuration memory rather than hard-coded in the firmware. With this release, everything is coming together and it is now possible to go from zero to an autonomous Crazyflie flying in a lighthouse system in minutes by just using the Crazyflie client.

Another major improvement made to support the lighthouse is the modification of the bootloader Crazyflie update sequence in the client as well as in command line. The new sequence will restart the Crazyflie a couple of times while upgrading the Crazyflie, this allows for an upgrade of the firmware in the installed decks if required. The lighthouse deck firmware has been added to the Crazyflie .zip release file and will be flashed into the deck while flashing the release to a Crazyflie that has the deck installed.

An alternative, robust TDoA implementation has been added for the Loco Positioning System. This change has been contributed by williamwenda on Github and can optionally be enabled at runtime.

An event subsystem has also been added to the firmware. It allows to log events onto the SD-Card which can be very useful when acquiring positioning data from the various positioning system supported by the Crazyflie. We have described this subsystem in an earlier blog post.

There has also been a lot of smaller improvement and bugfixes in this release. See the individual project releases not for more information.

We hope you are going to enjoy this new Crazyflie and lighthouse release. Do not hesitate to drop a comment here, questions on the forum if you have any or bug reports of github in the (very unlikely ;-) event that there are bugs left.

4 comments on “Release 2021.03: Lighthouse is stable!

  • Hi Arnaud,
    Would you please publish detailed steps to build the cfclient in window 10, Linux, or Bitcraze VM 2018ova? I have difficulties in building cfclient 2021.03. I succeeded in building 2021.03.rc3 cfclient in Bitcraze vm.

    • We are in the process of making a new VM. The problem you are facing is likely that pyqt requires a new version of pip, and a new version of pip requires a couple of quirk to work properly. The following commands allowed me to run the latest client in the vm:

      # Run update_all script
      # Then, in a console:
      cd projects/crazyflie-clients-python
      pip3 uninstall cfclient
      pip3 install -U pip
      pip3 install -e . # This will fail but it is required
      python3 develop –user #This will succeed !

  • Thank you both for your instruction in getting my cfclient working again. I flashed my Crazyflie 2.1 with the latest firmware (2021.03). I am using two HTC base station V1 for my lighthouse position system. With updated cfclient and the lighthouse Tab, I changed the system type to lighthouse V1. However, the lighthouse deck is “not receiving” and the 3D visual display of Crazyflie position kept drifting. Is it because the default firmware build for Lighthouse V2 and I can’t easily switch to Lighthouse V1, or something else? Do you have instructions to build my firmware just for Lighthouse V1?

Leave a Reply

Your email address will not be published. Required fields are marked *