Embedded & Firmware Engineer (human)
Role details
Job location
Tech stack
Job description
NEURA's robots run dense, safety-relevant, real-time workloads across a distributed network of microcontrollers and SoCs. Your firmware keeps the system deterministic, observable, and ready for the AI stack above it. You'll work across the embedded stack - from bare-metal drivers and BSP (Board support package) bring-up to RTOS application layers, communication middleware, and OTA infrastructure - collaborating closely with electronics, systems, and AI/software engineers.
- BSP & driver development: 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.
- RTOS application layer: Architect and implement FreeRTOS (or equivalent) task structures, inter-task communication, priority management, and resource allocation for safety-critical real-time applications.
- Sensor & actuator integration: 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.
- Communication middleware: 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.
- Safety & monitoring: Implement hardware watchdogs, software safety monitors, safe-state machines, and power-loss handling; contribute to functional safety analysis (FMEA, safety requirements allocation).
- OTA & configuration management: 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.
- Testing and CI: Write unit and integration tests for firmware modules; support HIL (hardware-in-the-loop) test setups; integrate automated firmware testing into CI/CD pipelines.
- Documentation and code quality: Maintain clear, peer-reviewed code with proper documentation; participate in firmware architecture reviews and contribute to shared coding standards across the embedded team.
Requirements
Do you have experience in Unity?, Do you have a Master's degree?, You are an embedded engineer who thinks in terms of determinism, latency, and resource constraints - and who is equally comfortable writing a CAN driver as reviewing a schematic with the hardware team. You understand that firmware quality is invisible when it's good and catastrophic when it's not.
- 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.