Who are the Blockchains?

  • Florian Wagner (sometimes present)
  • Fabian Geiselhart (Software Developer)
  • Henning Klatt (Electrical Engineer)

Current state of the robot

The goal of our current robot is to be as compact as possible. Therefore, we use a self developed and custom made PCB.

As a processor, the ATMega 328P is utilized. However, it is soldered directly onto the PCB to save space.

On the software side, we use the Arduino Framework, however,  PlatformIO is used for upload and management, instead of the Arduino IDE.

Our Source Code is available on GitHub:


Previous robots

Raspberry Pi + Arduino Hybrid

The robot with a Raspberry Pi and the Arduino is our most complex robot (yet).

The undercarriage of the robot is powered by stepper motors, connected to the wheels via a gearbox. The gearbox is – as is the rest of the robot – 3D-printed.

As sensors two industrial Contrast Sensors from Wenglor are being used, differentiating between black and white. Two additional color sensors were attached for the recognition of green dots.

All hardware is controlled by our Arduino DUE. It manages the stepper motors, evaluates the color values and reads the laser sensors. Since the stepper motors require exactly timed control (milliseconds), it is difficult to control them without threading. Thus, we use FreeRTOS for controlling the threads, which brings its own problems with it.

Due to the color sensors blocking the CPU for up to 2 seconds, each reading, it was impossible do so with the Arduino, without blocking the stepper motors (even with threading). Therefore, we installed an additional Arduino Nano, that reads the color values and transmittes them to the Due using a seriell protocol. The latter can then evaluate and interpret the RGB-values.

In addition to that, it was planned to add a Raspberry Pi with a camera to detect balls using OpenCV later on. To do so, we utilized “contouring” and “color masking”. However, the connection of Raspberry Pi and Arduino could not be established before the competiton, due to the lack of time.

Raspberry Pi + Lego Hybrid

To combine the Raspberry Pi with LEGO was our worst idea so far, as connecting Lego motors to the Raspberry Pi was a strenuous task, requiring an old version of the BrickPi.

Because the BrickPi didn’t allow for the motors to run for an undefined period of time and using the encoders wasn’t possible, we developed our own firmware for the BrickPi.