aFPGA: BeMicro SDK #1

 BeMicro SDK, Part 1

The BeMicro SDK is a cute little evaluation board from Arrow with a Cyclone IV FPGA from Altera. Arrow position this board for „Embedded Software Design“ especially with the Nios2 processor from Altera. Therefore the board has some additional devices for supporting a more or less complete processor design. This includes hardware for Ethernet, Mobile DDRAM, miniSD Card slot and a button and a handful of LED. It has an USB-Stick form factor with an integrated programming adapter for the FPGA.


In this article series I use a Linux host for demonstration. This is because later I want to build a Linux system for this board. And a Linux system build much better on a Linux host.


At least a computer with an USB-Port is needed. Because of the format of the stick an USB-Extension-Cable (Type-A plug to Type-A Receptacle) is recommended.

The software for developing with the board can be downloaded on the Altera Website. For the first steps the Web Edition of Quartus II is sufficient. At the moment of writing release v13.1 is up-to-date.


Download the whole package (Quartus-web- and check for additional updates under the Update tab.


First unpack the downloaded installer:

$ tar xf Quartus-web-

The installer has an issue on Debian based distributions (like my Ubuntu installations): The shell scripts starts with

#!/bin/env bash

That isn’t correct for this distributions. On Debian env could be found under /usr/bin/env or just env. To run the installer properly start it by typing:

sudo /bin/sh

Select the destination directory and start the installation. If wanted change some options (for example deselect support for unneeded devices). When available install the latest update package

$ chmod a+x
$ sudo ./

Now all software for using the board should be installed.


When plugging in the board only root can access the USB-JTAG interface by default. As explained here you need some changes in the udev rules. Create a new file with your favourite test editor:

$ nano /etc/udev/rules.d/51-usbblaster.rules

and enter the following lines:

# USB-Blaster on BeMicro SDK
ATTRS{idProduct}=="6001", ATTRS{idVendor}=="09fb", MODE="0666"

This works for Ubuntu 14.04 LTS. The udev-daemon will recognize the file and the new rule will take affect immediately.

The next article shows how to run a pre-compiled Linux-system on the FPGA board.