Embedded Software Systems Engineer - Robotics
Core
Designing and implementing firmware modules, control loops, and hardware abstraction layers for autonomous mobile robots and ASRS platforms.
Role type
Senior Embedded Software Systems Engineer (Robotics)
Builds
Real-time software for autonomous mobile robots and ASRS platforms
Domain
Robotics, Embedded Systems, Control Systems
Deliverable
production ML models | product features
Required skills
C, C++, microcontroller programming (ARM Cortex-M), RTOS development (Zephyr, FreeRTOS), embedded communication protocols (I2C, SPI, CAN, UART), hardware schematic reading, hardware debugging (oscilloscope, logic analyzer, JTAG/SWD)
Preferred skills
None stated
Technologies
ARM Cortex-M, Zephyr, FreeRTOS, I2C, SPI, CAN, UART, JTAG, SWD
Responsibilities
Designing and implementing firmware modules including communication protocol handlers, sensor drivers, state machines, and diagnostic subsystems; Debugging hardware-software boundary issues using oscilloscope, logic analyzer, JTAG/SWD, and bus analysis tools; Reading and interpreting electronic schematics independently; Choosing RTOS primitives deliberately to manage ISR constraints, priority inversion, and concurrency failure modes; Contributing to embedded software architecture across the full stack including bare-metal firmware, RTOS configuration, hardware abstraction, host-side platform libraries, and real-time control loops; Writing design documents that explain the rationale behind technical decisions
Seniority
Senior, hands-on IC