Embedded & Firmware Engineer (human)
Neura Robotics • Metzingen
We are building real‑time, safety‑relevant firmware for our cognitive robots. The role focuses on developing and maintaining board support packages, RTOS layers, driver stacks, communication middleware, safety watchdogs, OTA, testing, and documentation across ARM Cortex‑M/A targets.
Responsibilities
- Develop, port, and maintain board support packages and low‑level peripheral drivers (GPIO, SPI, I²C, UART, CAN‑FD, EtherCAT, USB) for ARM Cortex‑M and Cortex‑A targets; support hardware bring‑up from first power‑on.
- Architect and implement FreeRTOS (or equivalent) task structures, inter‑task communication, priority management, and resource allocation for safety‑critical real‑time applications.
- Integrate IMUs, encoders, tactile sensors, ToF sensors, force/torque sensors, and BLDC motor controllers into the firmware stack; implement filtering, calibration routines, and data timestamping.
- Implement and maintain embedded communication stacks – CAN‑FD network management, micro‑ROS / DDS‑XRCE bridge, EtherCAT slave stack – ensuring reliable, low‑latency data exchange with the main robot controller.
- Implement hardware watchdogs, software safety monitors, safe‑state machines, and power‑loss handling; contribute to functional safety analysis (FMEA, safety requirements allocation).
- Design and maintain firmware update mechanisms (OTA, JTAG/SWD flashing), boot sequence management, non‑volatile configuration storage, and firmware versioning aligned with the PLM system.
- Write unit and integration tests for firmware modules; support HIL test setups; integrate automated firmware testing into CI/CD pipelines.
- Maintain clear, peer‑reviewed code with proper documentation; participate in firmware architecture reviews and contribute to shared coding standards across the embedded team.
Qualifications
- Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Embedded Systems, or a related field.
- 3+ years of professional embedded firmware development experience in a real‑time, resource‑constrained environment (robotics, industrial automation, medtech, automotive, or similar).
- Expert‑level C/C++ for microcontrollers; strong understanding of memory models, volatile/atomic operations, stack management, and linker scripts.
- Solid hands‑on experience with ThreadX or a comparable RTOS – task creation, synchronization primitives, interrupt handling, and timing analysis.
- Experience with ARM Cortex‑M series (M0/M3/M4/M7/M33) and ideally also Cortex‑A targets running embedded Linux or Zephyr.
- Practical experience with key peripheral interfaces: EtherCAT, SPI, I²C, UART, USB CDC/HID, CAN‑FD, or similar; ability to debug protocol issues with logic analyzers and oscilloscopes.
- Familiarity with micro‑ROS or ROS 2 integration (fastDDS) is a significant advantage.
- Experience with firmware CI/CD, unit testing frameworks (Unity, Ceedling, GoogleTest for embedded), and version control (Git).
- Ability to read hardware schematics and collaborate effectively with electronics and mechanical engineers at the HW/SW boundary.
- Good English; German is a practical advantage for day‑to‑day collaboration.
Benefits
- Dynamic, self‑reliant work culture with flat hierarchies, flexible hours, and 30 vacation days.
- Competitive salary package with exclusive employee discounts.
- Opportunities for professional growth and personal development.