Code of the team B.R.E.M.E.N - Winner of the second ESA ESRIC Space Resource Challenge 2025
Based in Bremen (City of Space), one of Europe’s leading space hubs, Team BREMEN (Beneficiation of REgolith and Mobile ExcavatioN) brings together expertise from two of Germany’s most renowned research institutions: the German Aerospace Center (DLR) and the German Research Center for Artificial Intelligence (DFKI).
|
|
|
| Team Logo | Youtube Video: Pioneers of Sustainable Lunar Missions: Team BREMEN Wins the International Space Resources Challenge |
This git organisation hosts the repositories with the code that was used in the ESA ESRIC Space Resource Challenge.
This code can be used as reference implementation for similar systems or to learn how to use certain libraries.
|
|
Controller Web | Robot controller that forwards incoming commands from the browser via WebSocket. |
|
|
Client Pi | Raspberry Pi Client using Robot Remote Control in C++ |
|
|
Svelte UI | Svelte based Web User Interface in TypeScript using svelte-material-ui and smui-gamepad-components to control the robot and excavation system with a gamepad. |
|
|
docker-env | Docker Environment as development environment simulating the Hardware and testing the UI (hosts the other repositories as submodules) |
- svelte-ui:
- docker-env: Docker Environment as development environment simulating the Hardware and testing the UI (hosts the other repositories as )
- There are not many real-world implementations using Robot Remote Control, you can use this project as reference implementation.
- The client-pi software implements driver for different hardware that to work with the Raspberry Pi, you can take the code as driver for your project, this includes:
- ADS1x15 voltage measurement
- HX711 weight cells (note that this code is translated from this python code to C++ with support of Google Gemini)
- INA228 current/voltage measurement (not used in the challenge as we used an ADS1115)
- l298n motor control
- GPIO using the wiring-pi modern rewrite
- vcgencmd to get the CPU temperature and throttled information
- A system to control a robot using a modern UI-framework.
The code was deployed on two raspberry pi 5: one stationary at the stationary beneficiation station developed by DLR and one to control the excavation system on the robot itself.
---
config:
layout: elk
---
flowchart TD
subgraph Robot["Coyote 3 Robot"]
subgraph RPI["Raspberry Pi 5"]
CPI["Client Pi (Robot Remote Control - Controlled Robot)"]
end
F["Motors"]
S["Sensors"]
end
subgraph Ground_Station["Ground Station (Notebook)"]
WS["Controller-Web (RRC to websocket bridge)"]
SU["Svelte UI (node.js)"]
BR["Browser"]
end
CPI -- GPIO/PWM --> F
S -- GPIO/I2C --> CPI
CPI -- RRC --- WS
WS -- WebSocket --- BR
SU -- HTTP --> BR
BSD-3
Andreas Bresser, Andreas.Bresser@dfki.de
Copyright 2025-2026, DFKI GmbH / Robotics Innovation Center