Raspberry Pi (uGOAL)


The Raspberry Pi is a Single Board Computer with a fully functional Operating System on Top. It is capable as an application controller for the iRJ45/SoM module.


The uGOAL software package provides several examples for the device. The examples can be compiled either at a host system or the target. For a host based build a cross compiler toolchain is required.

It is recommended to build the binaries at the target.

For compiling some requirements are needed. These can be installed using this command:

sudo apt-get install build-essential

In addition the SPI interface needs to be enabled using raspi-config. Under “Interface options” it is possible to enable the SPI interface.

sudo raspi-config

The uGOAL software package (download) needs to be transferred to the target. This can be done using scp:

scp 2015013_ugoal_release_2.2.3.zip pi@raspberrypi:/home/pi/.

On the raspberry pi the archive needs to be extracted:

Getting Started

Using delivered build system

Within a example folder “ugoal/projects/ugoal/<example name>/gcc” of the uGOAL software package, build the firmware with following commands:

The build system will then start to build the software. The resulting file is stored in the subfolder “build/raspberry_pi_raspi_shield” named goal_raspberry_pi_raspi_shield.bin.

If the message “local setup done” is missing, a reset issue may affect your hardware. Please perform a reset of the SoM module setting a defined output level for the reset signal using the shown shell script

This script will set the GPIO, where the reset signal of the SoM module is connected to a defined value. Beside that a reset is performed. After this, the application should start properly.

The Application has been started the Profinet Stack at the SoM successfully.

Generate Projects for an IDE

The uGOAL software package contains a project generator for IDEs like Eclipse.

From any project folder a project generator can be run to create an Eclipse project for the application. The project generator requires a python3 installation. Required dependencies are installed automatically.

If you want to create an Eclipse project, run the following command:

For the Raspberry Pi platform the template number 1 needs to be chosen.

Known Issues

Following you’ll find current limitations regarding the Raspberry Pi.

  • EtherCAT Distributed Clocks is not fully supported due to missing assignment to external GPIOs at the platform driver “ugoal/plat/drv/linux/plat.c”.