Skip to content
Jakob Friedl
Four robots built by Jakob Friedl: a hexagonal combat robot, a quadruped, a mecanum-wheel rover and an RC car with onboard compute

Embedded systems and robot prototypes

I build working prototypes: firmware, custom electronics, and the mechanics around them. Freelance, based in Vienna.

Firmware · Electronics · Motor control · ROS 2

vienna, austria

What I do

  • Firmware and motor control

    ESP32 and ESP32-C6, Teensy, ESP-IDF, Zephyr, PlatformIO. Closed-loop control off quadrature encoders, PWM power stages, CAN and BLE.

  • System architecture for prototypes

    Deciding what runs where. Which processor, which bus, which parts have to meet timing and which don’t. Usually the decision that determines whether the rest goes well. On builds with several people, it also means cutting the work into tasks that can run in parallel.

  • Custom electronics

    Schematic and board design for motor drivers and sensor front-ends, and the firmware that goes on top of them.

  • Robot software

    ROS 2 and micro-ROS, simulation in Gazebo, SLAM and navigation, behaviour trees for high-level logic.

  • Machine data

    Custom Zigbee sensors through MQTT into TimescaleDB, Python processing on edge devices, Grafana dashboards on top.

Selected work

Six projects that show the range: competition robots, a peer-reviewed firmware architecture, board design, platform integration, and an assistive device.

Hexagonal combat robot with ArUco markers on its lid, omni wheels and a horizontal weapon drum

Autonomous combat robot · 2025–26

Perceptron

RoboFetz is a combat robot competition, and almost every entry is driver-controlled. Perceptron was one of the first fully autonomous robots to fight in it.

I led the project: five people, a fixed competition date, and work spanning mechanics, electronics, firmware and autonomy. I set the system architecture: what runs on the microcontroller, what runs off-board, what has to meet timing. Then I split it into tasks people could take on independently. The CAD and the firmware are mine. I started the custom SMD board and handed it to a teammate who took it the rest of the way.

Three omni wheels give it a holonomic drive, each motor closed-loop from the inverse kinematics of the wheel layout. micro-ROS has no Bluetooth LE transport, so I wrote one, firmware side and agent side. PID gains and motor direction are adjustable live through ros2 param calls and survive a reboot. Autonomy runs on behaviour trees and an artificial potential field, with ArUco markers on the lid for pose.

RC car chassis carrying a Raspberry Pi, antennas and a battery pack, viewed from above

Austrian Robotics Workshop 2025 · 2025

Real-time kinematics on a microcontroller

A vehicle can’t follow a trajectory if the control commands arrive late. On a stock ROS 2 computer without a real-time extension, sometimes they do.

I moved the Ackermann steering kinematics onto an ESP32-C6 running an RTOS, so the timing-critical part no longer depends on the host. Parameters live on the microcontroller in a persistent parameter server, and the motor controllers are ODrive units commanded over CAN.

Published with Markus Bader at the Austrian Robotics Workshop 2025. The firmware is public.

The same Unitree Go2 in two configurations: lying down carrying only its onboard computer and antennas, and standing with an SO-101 manipulator arm mounted on its back

Platform integration · ongoing

Unitree Go2 with a custom ROS 2 stack

A Unitree Go2 Pro built up into a development platform. Unitree makes the base hardware, everything above it is my work. Out of the box the robot answers to a phone app, so I rooted it and now ROS 2 runs on the robot itself, with an added onboard computer for the work the stock hardware will not carry.

The back is a mounting point rather than a fixed configuration. It currently carries an SO-101 arm for teleoperation, and that comes off for a 3D scanner, a different sensor, or whatever else a job calls for.

Nav2 for autonomous navigation, and the operational layer that makes a robot usable away from the workbench: a VPN so it can be reached from anywhere, remote access for deployment and debugging, and introspection so you can watch what it is doing while it does it.

Ongoing work. It has been out on site several times.

Orange mecanum-wheel rover with exposed electronics, a depth camera and a LiDAR module

Modular mobile robot platform · 2022–24

Roboost

A mobile robot platform I built to stop rewriting the same code for every chassis. Kinematics, motor control and utilities are separate C++ libraries, so the same firmware drives a mecanum base, a differential drive, a swerve base or an Ackermann vehicle.

Mechanics in SolidWorks, a Gazebo simulation with slam_toolbox for navigation work, and sensor firmware feeding LiDAR and IMU data into ROS 2. Its two carrier boards, one for four motors and encoders and one for the sensors, were the first PCBs I designed. Mostly connectors and level shifting, but they taught me the process.

3D render of a three-phase brushless motor driver board with three gate drivers, power inductors and phase output terminals

Board design

Brushless motor driver

A three-phase power stage for brushless motors: schematic, board layout and the control firmware.

6–30 V input, three half-bridges with separate input and inhibit lines per phase, an on-board 5 V buck converter, and phase sensing on an I²C bus. A Teensy sits on top and does the commutation.

3D render of an ATmega board silkscreened Distance to Sound, with four ultrasonic sensor connectors and a USB-C port

Assistive technology · Nov 2023

Ultrasonic assistance system

Distance to Sound: an ATmega board that reads four ultrasonic sensors and turns what they measure into audio, so a wheelchair user can hear how much room is left around them.

Four sensor ports, a switch to run from USB-C or an external supply, and an ISP header for reflashing in place.

Background

Robotics research and teaching at TU Wien, manufacturing technology before that, and an HTL mechatronics grounding underneath.

  1. Mar 2025 – Jun 2026

    Research Assistant

    TU Wien, Automation Systems

    micro-ROS and real-time control on resource-constrained hardware. Co-developed the Introduction to Mobile Robotics course with the professor, and tutored the advanced Mobile Robotics course covering particle filters and EKF SLAM.

  2. Sept 2023 – present

    Robotics Developer & IT Consultant

    Jakob Friedl e.U.

    Freelance robotics and embedded development.

  3. Mar 2023 – Feb 2025

    Research Assistant

    IFT, Institut für Fertigungstechnik

    Manufacturing technology and photonic systems. Built the MQTT to TimescaleDB data stack behind it, published as three packages on PyPI.

  4. Jul – Aug 2022

    R&D Intern

    DS AUTOMOTION GmbH

    Autonomous vehicle systems.

  5. Jul – Aug 2021

    System Engineer

    KUKA

    Industrial robotics and automation.

Publication

A Modular and Configurable Architecture for ROS 2 Hardware Integration with micro-ROS

Friedl, J. & Bader, M.

ARW Proceedings 25(1), 121–122 · 2025

Read the paper

Education

  • BSc, TU Wien
  • HTL Wels. Mechatronics, Robotics and Automation. Reife- und Diplomprüfung, 2020.

Community

  • VP Robotics, TU Wien Robotics Club
  • Co-founder, Technology Hub Vienna

Get in touch

Describe what you are building and where it is stuck. If it isn’t something I should take on, I’ll say so and point you somewhere better.

Services