User Tools

Site Tools


doc:crazyradio:usb:index

This is an old revision of the document!


Usb and Radio protocol of the Crazyradio dongle

The Crazyradio dongle is based on a Nordic semiconductor nRF24LU1 chip. The radio communication is done using the Nordic “Enhanced ShockBurst™” packet protocol with acknoledge. Variable size packet, from 1 to 32 bytes, can be send and acknoledged by the copter. The acknoledgement packet can contains a payload from 0 to 32Bytes.

This page document the protocol used in the version 0.40 of the Crazyradio dongle. Future version (up to 1.0) will be kept compatible.

USB protocol

The USB devices have the VID/PID couple 0x1915/0x7777.

EP0 Control Control endpoint. Used to configure the dongle
EP1IN/OUT Bulk Data endpoints. Used to send and receive radio packets

Dongle configuration

Crazyradio vendor requests:

bmRequestType bRequest wValue wIndex wLength data
0x40 SET_RADIO_CHANNEL (0x01) channel Zero Zero None
0x40 SET_RADIO_ADDRESS (0x02) Zero Zero 5 Address
0x40 SET_DATA_RATE (0x03) Datarate Zero Zero None
0x40 SET_RADIO_POWER (0x04) Power Zero Zero None
0x40 SET_RADIO_ARD (0x05) ARD Zero Zero None
0x40 SET_RADIO_ARC (0x06) ARC Zero Zero None
0x40 SET_CONT_CARRIER (0x20) Active Zero Zero None
0x40 LAUNCH_BOOTLOADER (0xFF) Zero Zero Zero None

Possible values for the datarate:

Value Radio datarate
0 250Kbps
1 1MBps
2 2Mbps (Default)

Data transfer

The radio dongle is configured in PTX mode (in the Nordic terminology) which means that it sends packet to the copter and waits for the acknowledge. The acknowledge can contains a Payload which is the mean to get data from the copter.

The packet is to send is sent to the EP1 and the ack status is then received from the EP1. There are no buffering in the radio dongle, the ACK must be received by the PC before the next packet can be sent.

This protocol permits to transfer about 500 packets per seconds.

Radio protocol

doc/crazyradio/usb/index.1336682259.txt.gz · Last modified: 2015-07-15 16:30 (external edit)