Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



          2016-01-11 FUmanoids' Powerboard Hardware Release v2016

          Copyright (c) 2016 FUmanoids / Freie Universität Berlin
                            All rights reserved

        For full license information, please refer to file LICENCE

       FUmanoids Homepage                 
       FUmanoids on Facebook    
       FUmanoids on Twitter          

       RoboCup Homepage                    
       RoboCup Humanoid League Homepage

This is part of the code/hardware release of team FUmanoids, version 2016. 

Our goal by releasing the source code and CAD files of components of our robot
is to provide some insight in humanoid soccer robot development, allowing other
teams to learn from our code and possibly our mistakes, but also to hopefully
encourage them to do the same and release their code as well. Though RoboCup is
a competition, it's also about research and finally to achieve our common goal -
to win against FIFA in 2050 ...


The FUmanoids team has developed several software applications as well as our
own robots. The latter was developed internally and equipped with both
commercially available and self-built electronics.

This release addresses only the custom-built power board used in the FUmanoid

Neither a compiler, an SDK or CAD software is part of this package. In the
section "Getting Started" you find a list of recommended software to modify or
view the CAD files, to compile the software and to put the binaries onto the

 1.1 Overview of the package

The project's root directory is "powerboard" (the board's name).

The directories in the root directory are:

 - bin      -- some useful scripts and programs for building the program and
 - obj      -- All binary files of the program go here. This directory will
               be created during code compilation.
 - doc      -- The documentation directory. Here you can find some 
               documentation of the board.
 - src      -- The actual source code.
               Note: The essential parts of the software is pretty well
               documented. Please consider this as a documentation 
               directory as well.
 - hardware -- Here you can find the CAD files for the PCB.


 2.1 Getting Started

 2.1.1 Software

The software is written in C with two extensions in assembler
(system_mutex_lock() and system_mutex_unlock()).

A compiler for the target hardware is not part of this package but can be picked
based on the user's preferences. We recommend using the arm-none-eabi-toolchain
(including gcc, ld and gdb) which can be found here:


 2.1.2 Hardware

To view the schematics and layout of this project we recommend using "CadSoft
EAGLE" which can be found at:

 2.1.3 Manufacturing

The PCB can be manufactured by most commonly known PCB services. A partlist can
be found in the folder where the schematics reside. But please double check the 
partlist since we cannot guarantee its completeness.

We chose every component on the board to be manually solderable. All you need is
a steady hand. And preferably a rework station.

 2.1.4 Other Prerequisites
To flash the target an ARM compatible JTAG is needed.

We recommend using an "JLink" from Segger.
There is numerous software available for all major operating systems supporting
the programmer (Linux, Mac, Windows). 

 2.2 Compiling the Software

To compile for debug run: make
To build a release build: RELEASE=1 make

The common IDE used for development in team FUmanoids is Eclipse/CDT which
is available at Therefore we have the corresponding
project files added to our repository, to give an easy start. You can build the
code either by using Eclipse or by shell tools. Both ways are easy.
Other IDEs or editors can of course be used.

The build process generates a .elf file which can be flashed on the target.

 2.2.1 Using Eclipse

If you choose to use Eclipse click File->Import and in the opening window
General->"Existing Project into Workspace" and choose the project's root
directory. Then you can compile the debug or release version of the software.

 2.2.2 Using the shell tools

You can simply run


to compile the code.

 2.3 Flashing the target

In order to flash the target you need an JTAG. We recommend using the 
Segger/JLink software to communicate with the JTAG and as tool to download 
code onto the target.

If you have JLinkGDBServer installed you can use 

JLinkGDBServer -if swd
make flash 

to flash the target.


The framework used in this software was developed as part of the FUmanoid
project and is used in it's sensor board as well (the project can be found
at The Berlin United Racing Team
incorporates a microcontroller board similar to the power board which is
operated by the framework as well.

Many aspects of our work is described in the corresponding theses of our
students, which are available online at,
though most of them are in German.


We'd love to receive feedback, please feel free to contact us by email
at For information about our team and ongoing progress,
follow us on,


An intelligent power supply for mobile robots.




No releases published


You can’t perform that action at this time.