3+ years of experience in embedded systems within robotics, automotive, or complex consumer electronics
Strong C and C++ programming skills for firmware and driver development
Hands-on experience with board bring-up, including schematics and PCB layouts
Driver-level experience with communication protocols like CAN, EtherCAT, and I2C
Experience with MCU firmware on bare-metal or RTOS platforms
Proficiency in debugging tools such as JTAG, oscilloscopes, and logic analyzers
Strong communication skills for collaboration with cross-functional teams
Responsibilities
Bring up, validate, and debug new PCBs by reading schematics and isolating faults
Develop firmware for MCUs and drivers for embedded Linux platforms
Write and maintain device drivers and communication stacks for various protocols
Integrate camera and sensor pipelines over GMSL and configure device trees
Tune EtherCAT and CAN networks for real-time performance
Debug signal integrity and timing issues using lab tools
Contribute to schematic and PCB design reviews for easier testing and debugging
Build diagnostics and automated tests for hardware subsystems
Support manufacturing and field troubleshooting during deployment
Document interfaces and debugging procedures for team reference
Benefits
Collaborative work environment with cross-disciplinary teams
Hands-on involvement in cutting-edge robotics technology
Opportunities for professional growth and skill development
Access to advanced debugging and testing tools
Involvement in the full lifecycle of product development from prototype to deployment
Full Job Description
THE ROLE
We're looking for an Embedded Systems Engineer to own the boundary where our robot's electronics meet its software. You will bring up and debug new PCBs, write the firmware and drivers that make every sensor, camera, actuator, and compute module talk to each other, and make sure data moves reliably across CAN/CAN FD, EtherCAT, GMSL, I2C, SPI, and Ethernet.
This is a hands-on, cross-layer role. One day you're probing a board with a scope to find why a bus is dropping frames; the next you're writing a Linux driver for a camera serializer or tuning an EtherCAT network for deterministic timing. You'll work closely with electrical, firmware, controls, and robotics software engineers, and you'll often be the person who figures out whether a problem lives in hardware, firmware, or software.
RESPONSIBILITIES
Bringing up, validating, and debugging new PCBs: reading schematics and layouts, measuring signals, and isolating hardware vs. software faults
Developing firmware for MCUs (bare-metal and RTOS) and drivers for embedded Linux platforms (e.g., NVIDIA Jetson / Orin)
Writing and maintaining device drivers and communication stacks for CAN/CAN FD, EtherCAT, I2C, SPI, UART, and Ethernet
Integrating camera and sensor pipelines over GMSL (serializer/deserializer configuration, device trees, V4L2 drivers, timing and synchronization)
Bringing up and tuning EtherCAT and CAN networks across actuators, sensors, and power systems for deterministic, real-time performance
Debugging signal-integrity, power, timing, and bus-level issues with oscilloscopes, logic analyzers, and protocol analyzers
Contributing firmware and software input during schematic and PCB design reviews to make boards easier to bring up, test, and debug
Building diagnostics, test fixtures, and automated hardware-in-the-loop tests for boards and subsystems
Supporting manufacturing, end-of-line testing, and field troubleshooting as robots move from prototype to deployment
Documenting interfaces, bring-up procedures, and debugging playbooks for the wider team
MINIMUM QUALIFICATIONS
3+ years of professional experience in embedded systems in robotics, automotive, industrial automation, or complex consumer electronics
Strong C and C++ skills for firmware and driver development; working knowledge of Python for tooling and test automation
Hands-on board bring-up experience, including reading schematics, PCB layouts, datasheets, and timing diagrams
Driver-level experience with several of: CAN/CAN FD, EtherCAT, I2C, SPI, UART, Ethernet
Experience with MCU firmware (ARM Cortex-M, STM32, TI C2000, or similar) on bare-metal or RTOS platforms
Comfort with embedded debugging and lab tools: JTAG/SWD debuggers, oscilloscopes, logic analyzers, and protocol analyzers
Systematic debugging skills across the hardware, firmware, and software boundary
Strong communication skills and comfort working directly with electrical, mechanical, controls, and software engineers
PREFERRED QUALIFICATIONS
Experience with GMSL or other high-speed camera links (e.g., MAX9295/MAX9296, FPD-Link), MIPI CSI-2, and V4L2
Embedded Linux kernel and device-driver development, device trees, and BSP bring-up (NVIDIA Jetson / Orin a plus)
Experience integrating EtherCAT master or slave stacks (SOEM, IgH, or equivalent)
Familiarity with PCB design tools (Altium, KiCad) and the ability to propose schematic-level fixes
Knowledge of signal integrity, power integrity, and EMC fundamentals
Experience with motor-control, BMS, or power-electronics systems
Experience with ROS 2 or other robotics middleware
Prior experience working in a vertically integrated robotics or hardware startup
Hands-on use of AI coding tools such as Claude Code or Codex to accelerate implementation, debugging, testing, and documentation