9 releases

0.3.0 Mar 9, 2023
0.2.0 Sep 10, 2021
0.1.6 Apr 29, 2021
0.1.5 Feb 14, 2021
0.1.3 Jun 30, 2020

#1374 in Hardware support

28 downloads per month
Used in 2 crates (via crazyflie-link)

MIT license

638 lines

Crazyradio Rust driver Latest version Documentation tests

Crazyradio USB dongle driver for Rust.

This crate implements low level support for the Crazyradio PA USB dongle. It implements the protocol documented in the Crazyradio documentation. It uses the rusb crates to access the USB device.

Crazyradio is a 2.4GHz USB radio dongle based on the Nordic Semiconductor nRF24LU1 radio chip. It is mainly intended to be used to control and communicate with the Crazyflie nano quadcopter.


The crates exposes a Crazyradio struct that can be used to open a Crazyradio dongle, configure it, sent packet and receive ack with it. See the Crazyradio struct documentation for an example.

Shared and async radio

The feature shared_radio enables the SharedCrazyradio struct that can be used to share a radio dongle between threads.

The feature async enables async functions in the SharedRadio struct as well as to create the Crazyradio struct.

Serde support

To enable Serde support for serializing and deserializing Channels, enable the feature "serde_support".


~54K SLoC