Senior Embedded Software Engineer
Core
Design and maintain embedded C++ firmware for robotic liquid handling and sample management instruments, driving motors with precision and integrating complex hardware systems.
Role type
Senior Embedded Software Engineer (Robotics)
Builds
Nanolitre-precision liquid handlers, fully automated sample management systems, and laboratory automation instruments.
Domain
Life Sciences / Robotics / Embedded Systems
Deliverable
production ML models | product features | physical/clinical work
Required skills
C/C++ on ARM Cortex-M, motor and actuator control (open/closed/hybrid loops), hardware integration (CAN, Ethernet, UART, SPI, I²C, GPIO), firmware architecture design, C# .NET (PC-side), RTOS, fault detection and diagnostics, unit testing, Git.
Preferred skills
JTAG/SWD debugging, Field-oriented control (FOC), gRPC/distributed architectures, Agile methodologies.
Technologies
ARM Cortex-M, C++, C#, .NET, CAN, Ethernet, UART, SPI, I²C, GPIO, RTOS, Git, Oscilloscopes, Logic Analysers, Protocol Analysers.
Responsibilities
Design and develop embedded software for ARM Cortex-M microcontrollers; implement motor and actuator control schemes; integrate OEM and third-party hardware modules; shape firmware and system architecture; implement signal acquisition and conditioning; design reliability mechanisms (fault detection, watchdogs); troubleshoot embedded software and hardware interfaces; provide technical leadership and mentoring; produce technical documentation.
Seniority
Senior, hands-on IC with mentoring responsibilities