Products
-
-
- Accessories
- Breakout boards
This is an old revision of the document!
The Crazyradio dongle is based on a Nordic semiconductor nRF24LU1 chip. The radio communication is done using the Nordic “Enhanced ShockBurst™” packet protocol in PTX mode 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.
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 |
Crazyradio vendor requests summary:
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 |
bmRequestType | bRequest | wValue | wIndex | wLength | data |
---|---|---|---|---|---|
0x40 | SET_RADIO_CHANNEL (0x01) | channel | Zero | Zero | None |
The nrf24L chips provides 126 Channels of 1MHz from 2400MHz to 2525MHz. The channel parameter shall be between 0 and 125 (if not the command will be ignored).
The radio channel is set as soon as the setup transaction is completed which takes about 1ms. The new frequency is going to be used for the following transfered packets.
bmRequestType | bRequest | wValue | wIndex | wLength | data |
---|---|---|---|---|---|
0x40 | SET_RADIO_ADDRESS (0x02) | Zero | Zero | 5 | Address |
bmRequestType | bRequest | wValue | wIndex | wLength | data |
---|---|---|---|---|---|
0x40 | SET_DATA_RATE (0x03) | Datarate | Zero | Zero | None |
Possible values for the datarate:
Value | Radio datarate |
---|---|
0 | 250Kbps |
1 | 1MBps |
2 | 2Mbps (Default) |
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.