Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

Bitcraze Crazyradio dongle CI

Source code and tools for the Bitcraze Crazyradio USB dongle.

See Bitcraze Documentation for more information about Crazyradio and the USB protocol used.

Folders content:

  • firmware: The firmware source code
  • nrfProg: SPI programmer that uses jtagkey USB adapter
  • usbtools: Python scripts to reset and bootload Crazyradio from command line
  • lib: Software libraries to use Crazyradio with Python
  • fix_bootloader: Script to revive a Crazyradio

Building the firmware


  • SDCC
  • Binutils (needs objcopy)

On Ubuntu this can be installed with:

sudo apt-get install sdcc binutils

On Mac (using homebrew):

brew install sdcc
brew install binutils
ln -s /usr/local/opt/binutils/bin/gobjcopy /usr/local/bin/objcopy

To build the firmware you should navigate to the firmware directory.

Build for Crazyradio

make CRPA=0

Build for Crazyradio PA

make CRPA=1

Flashing the Firmware

To flash the firmware run the following from the firmware directory:

python ../usbtools/
sudo python ../usbtools/ flash bin/cradio.bin

After flashing successfully, you need to replug the Crazyradio. More details are in the wiki.

Check your firmware version

Run the following command:

lsusb -d 1915:7777 -v | grep bcdDevice


Go to the contribute page on our website to learn more.

Test code for contribution

Run the automated build locally to test your code