Testbed-specific installation instructions


VESNA testbed uses VESNA sensor nodes designed by the Institute Jožef Stefan.

Required hardware

  • One USRP N200 connected over a gigabit Ethernet interface to be used as a spectrum sensor. Use default network settings (use for the computer’s IP)

    Current setup uses SBX daughterboard, a 2.4 GHz antenna.

  • VESNA sensor nodes, connected through a powered USB hub. As many as you need (two nodes per player).

    Nodes should consist of a SNC core board and a SNE-ISMTV-2400 radio board.

    If you need to upload firmware, you will also need a SNE-PROTO board and a Olimex ARM-USB-OCD programmer. For debugging, a serial-to-USB converter connected to VESNA’s USART1 is recommended.


As of 0.0.3, spectrumwars_runner no longer uses VESNA nodes connected over serial-to-USB converters.

Firmware compilation

Firmware has to be uploaded to VESNA sensor nodes before they can be used with Spectrum Wars. Firmware source code is stored in the firmware/ subdirectory.

You will need the ARM toolchain installed. See https://sensorlab.github.io/vesna-manual/ for instructions. These steps assume you are using Linux and that the command line tools are properly set up.

You will also need a checkout of the vesna-drivers repository. Current packet driver in the master branch is very unstable and unsuitable to be used with this firmware. It is recommended that you use the spectrumwars branch from the following repository:


First make sure that the VESNALIB_LOCATION in the Makefile points to the directory containing the vesna-drivers git repository:

$ cd firmware
$ grep VESNALIB_LOCATION= Makefile

To compile the firmware run:

$ make

To upload the firmware, make sure you have the Olimex ARM-USB-OCD connected to the node and run:

$ make install

To test the firmware, connect two nodes using the mini-USB connector and run:

$ cd ../controller
$ python setup.py test -s tests.test_radio


In case of problems, there are some debugging options available on top of vsndriversconf.h. See also Firmware interface.

Additional dependencies for game controller

In addition to packages listed in Installation instructions, the following additional packages are required to use Spectrum Wars game controller with the VESNA testbed:

Also, make sure that /dev/ttyACMxx devices are accessible to the user running the game controller. Typically, this requires adding the user to the dialout group. For example:

# adduser myuser dialout