The Control Systems / Embedded Software Engineer will participate in all aspects of control systems design and embedded software engineering, including architecture definition, requirements analysis, design, implementation, testing, and documentation. Software developed in this role will range from low-level device drivers and motor control to communications, power management, and high-level applications controlling robotic devices.
This position requires hands-on debugging and problem-solving across mechanical, electrical, and control system domains commonly found in robotics. The ideal candidate is a self-starter who can translate objectives into deliverable results with minimal supervision, lead software projects of moderate to high complexity, and thrive in a collaborative, multi-disciplinary team environment.
Primary Duties and Responsibilities
• Develop software in C/C++/Python
• Utilize ROS (Robot Operating System) for robotics control
• Demonstrate proficiency with Git/GitHub
• Perform real-time programming under Linux
• Utilize Linux command-line tools
• Design and implement control algorithms
• Use Matlab/Octave/Python (NumPy/SciPy/Matplotlib) for analysis and simulation
• Develop device drivers and board support packages
• Work with communications protocols and peripherals (RS232/422/485, CAN, TCP/IP, etc.)
• Use instrumentation & tools for debugging, testing, and integration (oscilloscopes, logic analyzers, etc.)
• Quickly learn new concepts and skills as needed
• Work with motor control and sensor interfacing
• Electronics design experience (Altium or similar) is a plus
• Support and communicate the mission, values, and culture of the organization
• Adhere to all quality and safety standards
• Support additional projects and perform other duties as assigned
Supervisory Responsibilities
• May supervise the work of other designers or technicians
Qualifications
Education:
• BS/MS/Ph.D. in Mechanical Engineering, Electrical Engineering, Physics, or a related field
Experience:
• 12 years of relevant experience
Knowledge, Skills, and Abilities:
• Experience with robot locomotion and exoskeleton robotics
• Experience with computer vision and motion planning
• Familiarity with localization, mapping, and autonomous navigation
• Experience with communications protocols and peripherals (CAN, TCP/IP, etc.)
• Experience with software safety
• Familiarity with motor control and sensor interfacing
• Strong foundation in electronics and practical circuit troubleshooting
• Excellent interpersonal skills to work with customers, vendors, staff, and management at all levels
• Strong computer skills, including proficiency in standard business software (e.g., Microsoft Office)
Work Environment
• Work is primarily performed in an office setting with adequate environmental (heating/cooling) control
• Moderate noise level, typical of office equipment and environmental control systems
• Routine use of standard office equipment such as computers, phones, photocopiers, and filing cabinets
• Occasional access to operations/manufacturing areas may involve exposure to loud noises, dust, fumes, oils, and temperature variations
Physical Demands
• Comply with safety, workmanship, and good housekeeping specifications
• Alternate between sitting and standing/walking for extended periods
• Occasionally lift office products and supplies, up to 20 pounds
• Ability to properly wear Personal Protective Equipment (PPE) when required
Training
• Completion of new employee safety orientation
• Training on specialized tools or software as required
Equal Opportunity Employer Statement:
We are an Equal Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, or protected veteran status, and will not be discriminated against on the basis of disability.