Download ROS here.

Download and install SoCEDS 17 (or greater) standard edition (! must be installed with sudo).

Download and install Quartus 17 (or greater) lite edition. (Quartus is only needed if you want to change the FPGA core)

Get The GNU C/C++ compilers for armhf architecture:

sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf

Clone roboy_plexus recursively into your catkin workspace:

git clone --recursive

The package also requires the following packages which need to be cloned into your workspace as well:

git clone
git clone


Find the SD card image with Ubuntu 16.04, Xfce, kernel Linux 4.9.78-ltsi on our servers:

wget -nv
wget -nv

Plug the SD card into your reader and get the name of your SD card device with the following command:

sudo fdisk -l

Flash the image to a min 8GB SD card: (sdX has to be replaced with the correct device)

sudo dd if=DE10_nano_lxce_4.9.78-ltsi-altera.img of=/dev/sdX bs=1M status=progress


MAKE SURE YOU USE THE CORRECT DEVICE. The dd command overwrites any device you give it with ‘of’.

FPGA (flashing the old way –obsoleted)

Notice: The flashing procedure takes up to 10 minutes. Meanwhile, the flashing of the FPGA can be done. This has to be done permanently. Make sure the dip switches are set to On-Off-On-Off-Off, i.e. configure to flash on the FPGA on startup from EEPROM via jic (for further information read the de10 nano user guide: Download).

Start the jtag server:

sudo ~/intelFPGA/17.1/quartus/bin/jtagd

Connect the FPGA flash port with your computer by using a USB cable, then verify the connection using with the following command:

sudo ~/intelFPGA/17.1/quartus/bin/jtagconfig

Start the software ‘quartus’ and open the project DE10_NANO_SoC_GHRD.qpf in the folder roboy_de10_nano_soc. Open the programmer. Under the section ‘Hardware Setup’ choose your FPGA. Select ‘auto-detect’ and verify the model. Choose soc_system.jic and flash the FPGA.


Make sure you are in an embedded command shell before building the package. Build with catkin: