Below, we describe how to setup FOBOS 2.0 hardware and software and test that everything is working. This page only describes setting up the control board and software for acquisition and anlysis. For DUT board please refer to DUT Board Setup.


  1. Digilent Basys3 board (control board).
  2. A PC with Linux installed.
  3. Python2.7 installed.
  4. Xilinx Vivado 2017.2.
  5. Picoscope 5000 series.

Software Setup

Note: The following installation procedure is tested on Linux Ubuntu 16.04 and 18.04.

  1. Download FOBOS from the FOBOS home page.
  2. Extract the archive into the directory of your choice
$ tar xvfz fobos-v2.0.tgz
  1. Use the following commands to install pip and few necessary Python packages:
$ sudo apt-get install python-pip
$ tar xvfz fobos-v2.0.tgz  again?
$ cd fobos
$ sudo pip install -r requirements.txt

Control board Setup

Follow these steps to compile the control software, generate the bitstream and program the control board.

  1. Build the control board Vivado project.
$ cd capture/ctrl/basys3ctrl/vivado
$ make project
  1. A Vivado project will be created at fobos/capture/ctrl/basys3ctrl/vivado/basys3ctrl. Open it using Vivado.

Open Vivado project

  1. In Vivado’s Flow Navigator window, click ‘Generate Bitstream’.
  2. After bitstream is generated, export the hardware. Click File > Export > Export Hardware … make sure to select ‘Include bitstream’.

Export Hardware

  1. Launch the Xilinx SDK (File > Launch SDK).

Launch SDK

  1. In the SDK, create a new empty project(File> New application project). Set the project name to ctrl and select the hardware platform, click Next and make sure you select ‘Empty Application’.

Create Project

If this fails, make sure that zlib1g-dev and zlib1g:i386 are installed on your machine.

$sudo apt-get install zlib1g-dev zlib1g:i386
  1. Link all the .c and .h files in the fobos/capture/ctrl/basys3ctrl/sdk/src/ to the project (right-click on ctrl/src folder -> Import -> General-> file system -> browse to folder). make sure to check “Advanced-> Create links in the workspace” and “Create virtual folders” .

Launch SDK

  1. Program the control borad FPGA. Connect the Basys3 board to your PC via USB. In the Xilinx Tools menu, select Program FPGA. Make sure the correct device is selected and then click on Program.
  2. Run the control software. Make sure to select the ctrl project created in step 6 then go to the Run menu and select ‘Run’.
  3. You should see the word CERG in the seven-segment display of the Basys3 board.

Testing the control board

To make sure the control board is working, you can run the script in the fobos/software directory. This script send data to the board wich echos data back.

$ cd path-to-fobos/software
$ python
Sending configuration...
Status= 00000000
Status= 00000000
Sending data..
OK.    Status= 00000000
61 99 6d c9 96 d4 ac
OK.    Status= 00000000
fd 87 71 fe 71 7d e4
OK.    Status= 00000000
82 05 1f 54 84 70 22
OK.    Status= 00000000
67 88 1b 70 2a fe 52
OK.    Status= 00000000
26 a1 d6 01 cc df 7a

If you see this output, your control board is now ready!