User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
projects:crazyradio:programming [2013-05-14 09:18]
arnaud [Radio programming]
projects:crazyradio:programming [2020-05-12 14:13] (current)
Line 1: Line 1:
-====== Radio programming ======+<WRAP center round important 60%> 
 +This page has deprecated and moved to the new documentation framework of the main Bitcraze website. Please go to [[]] 
-The Radio dongle can be programmed either via USB bootloader or via SPI. The USB bootloader does not require any hardware but is **not** currently (as of 2012-09) full-proof (**if the flash procedure does not complete well the dongle will have to be reprogrammed via spi**). Unless you have equipment to re-flash the dongle via SPI (currently requires a JtagKEY jtag interface), **program only Bitcraze released firmware** via USB (last firmware image can be found [[|there]]). 
-In Linux it might be required to launch the commands accessing the USB port as root (iewith ''sudo''). Also the scripts are written in Python2 so if you distribution has python3 by default replace //python// by //python2// in the commands.+====== Crazyradio firmware upgrade ====== 
 +**Please note: The current implementation of the bootloader/scripts are not 100% safe. If you upgrade you firmware, make sure that the script says "Verification succeded!" before you unplug the dongleOther wise you risk "bricking" it (and then it has to be re-programmed via SPI).** 
 +**Do not do development and flash you own firmware on the dongle without having access to hardware that makes SPI programming possible. If firmware that doesn't work is flashed on the dongle you will need to re-program it using SPI** 
 +The Crazyradio contains a USB bootloader that gives the possibility to upgrade the firmware without any external hardware (see warnings above)  
 ===== USB bootloader (command line instructions) ===== ===== USB bootloader (command line instructions) =====
 +Please note that you might have to exchange //python// with //python2// if you distro uses python3.
 First Crazyradio has to be rebooted in USB bootloader mode. To do so insert the dongle in the pc, open a terminal window and run the bootloader launcher: First Crazyradio has to be rebooted in USB bootloader mode. To do so insert the dongle in the pc, open a terminal window and run the bootloader launcher:
Line 15: Line 25:
 </code> </code>
-After running this tool the Crazyradio dongle should have disappeared and a new device named ''nRF24LU1P-F32 BOOT LDR'' should appear.+After running this tool the Crazyradio dongle should have disappeared and a new device named **nRF24LU1P-F32 BOOT LDR** should appear.
 To flash the firmware use the script: To flash the firmware use the script:
Line 21: Line 31:
 <code> <code>
 > cd crazyradio-firmware > cd crazyradio-firmware
-> python usbtools/ flash firmware/bin/cradio.bin+> python usbtools/ flash cradio-0.53.bin
 Found nRF24LU1 bootloader version 18.0 Found nRF24LU1 bootloader version 18.0
 Flashing: Flashing:
-  Flashing 5771 bytes...+  Flashing 5810 bytes...
 Flashing done! Flashing done!
 Verifying: Verifying:
-  Reading firmware/bin/cradio.bin... +  Reading cradio-pa-0.53.bin... 
-  Reading 5771 bytes from the flash...+  Reading 5810 bytes from the flash...
 Verification succeded! Verification succeded!
 </code> </code>
 +===== Step-by-step upgrade using the Bitcraze VM =====
 +Below is a short guide with step-by-step instructions on how to upgrade the Crazyradio with the latest firmware using the [[projects:virtualmachine:index|Bitcraze VM]]. There are two different firmwares for the Crazyradio, one for the first generation Crazyradio and one for the Crazyradio PA.
 +  * Start up the VM and download the latest firmware from [[|GitHub]]. Place the firmware in **/home/bitcraze/projects/crazyradio-firmware**
 +  * Open up a terminal
 +  * Insert the Crazyradio and pass it to the VM
 +  * Run the following commands:
 +  * <code>
 +> cd ~/projects/crazyradio-firmware
 +> python usbtools/ 
 +Launch bootloader .
 +Bootloader started
 +  * Once the bootloader is started the Crazyradio dongle will dissapear ad a new device named **Nordic Semiconductor nRF24LU1P-F32 BOOT LDR** will appear. If you do not have a filter set up for the bootloader in the VM then script will say that it failed. This is ok. Pass the bootloader device into the VM and continue.
 +  * Run the following command:
 +  * <code>
 +> python usbtools/ flash cradio-0.53.bin
 +Found nRF24LU1 bootloader version 18.0
 +  Flashing 5810 bytes...
 +Flashing done!
 +  Reading cradio-pa-0.53.bin...
 +  Reading 5810 bytes from the flash...
 +Verification succeded!
 +  * If you see **Verification succeded** then unplug the dongle and re-insert it again. If you do not see this message, but instead some error. Do **NOT** unplug the dongle, try to reflash the firmware instead.
 +===== Check your firmware version =====
 +Run the following command:
 +> lsusb -d 1915:7777 -v | grep bcdDevice
 +This should return the version (e.g. "0.52").
projects/crazyradio/programming.1368515885.txt.gz · Last modified: 2015-07-15 16:30 (external edit)