Your tasks
- Develop, port and maintain Board Support Packages (BSPs) and low-level drivers for ARM Cortex-M and Cortex-A platforms (GPIO, SPI, I²C, UART, CAN-FD, EtherCAT, USB) and support hardware bring-up from the first power-on.
- Architect and implement RTOS application layers using FreeRTOS (or similar): task structures, inter-task communication, priority management, and resource management for safety-critical real-time applications.
- Integrate sensors and actuators such as IMUs, encoders, tactile sensors, ToF sensors, force/torque sensors and BLDC motor controllers into the firmware stack; implement filtering, calibration and precise timestamping.
- Develop and maintain communication middleware — including CAN-FD network management, micro-ROS / DDS-XRCE bridge and EtherCAT slave stacks — for reliable, low-latency communication with the central robot controller.
- Implement safety and monitoring functions such as hardware watchdogs, software safety mechanisms, safe-state machines and power-loss handling; support functional safety analyses (FMEA, safety requirements allocation).
- Develop mechanisms for OTA updates and configuration management , including boot management, non-volatile memory, and firmware versioning in conjunction with the PLM system.
- Write unit and integration tests for firmware modules, support HIL test setups, and integrate automated firmware tests into CI/CD pipelines.
- Maintain clean, documented and reviewable code; participate in architecture reviews and further develop common coding standards within the embedded team.
What you bring
You're an embedded engineer with a systems understanding.
You think in terms of determinism, latency, and resource limits—and you're equally comfortable writing a CAN driver or reviewing a circuit diagram with the hardware team.
You know: Good firmware goes unnoticed. Bad firmware does.
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Embedded Systems or a comparable field.
- 3+ years of experience in professional embedded firmware development in real-time and resource-constrained systems (robotics, industrial automation, MedTech, automotive, etc.).
- Excellent knowledge of C/C++ for microcontrollers , including memory models, volatile/atomic operations, stack management and linker scripts.
- Practical experience with ThreadX or comparable RTOS systems — task creation, synchronization, interrupt handling and timing analysis.
- Experience with ARM Cortex-M (M0/M3/M4/M7/M33) and ideally also Cortex-A platforms with embedded Linux or Zephyr.
- Experience with relevant interfaces and protocols such as EtherCAT, SPI, I²C, UART, USB CDC/HID or CAN-FD, as well as debugging with logic analyzers and oscilloscopes.
- Experience with firmware CI/CD , unit test frameworks (Unity, Ceedling, GoogleTest Embedded) and Git.
- Ability to read hardware schematics and to work effectively with electronics and mechanical teams at the HW/SW interface.
- Experience with micro-ROS or ROS 2 integration (FastDDS) is a big plus.