Embedded Controls Engineer
Control Systems / Embedded Software Engineer
Position Overview
The Control Systems / Embedded Software Engineer is responsible for the design, development, and implementation of control systems and embedded software solutions. This role supports the full development lifecycle, including architecture definition, requirements analysis, design, implementation, testing, and documentation.
The engineer will work on a range of software applications from low-level device drivers and motor control to high-level applications controlling robotic systems. This position requires hands-on debugging across mechanical, electrical, and control system domains and the ability to deliver results with minimal oversight in a collaborative, multi-disciplinary environment.
Key Responsibilities
Develop software using C, C++, and Python
Design and implement control algorithms for embedded and robotic systems
Perform real-time programming in Linux environments
Develop device drivers and board support packages
Work with ROS (Robot Operating System) and related frameworks
Utilize Git/GitHub for version control and collaboration
Integrate and troubleshoot systems using tools such as oscilloscopes, logic analyzers, and test equipment
Interface with hardware components including motors, sensors, and communication systems
Support development of systems utilizing protocols such as RS232/422/485, CAN, and TCP/IP
Collaborate with cross-functional teams across engineering disciplines
Support testing, validation, and system integration activities
Maintain documentation and adhere to quality and safety standards
Support additional projects and responsibilities as assigned
Required Qualifications
Bachelors degree in Electrical Engineering, Mechanical Engineering, Physics, or related field (advanced degrees preferred)
12+ years of experience in embedded systems or control systems development
Strong programming experience in C/C++ and Python
Experience with Linux-based development environments
Familiarity with real-time systems and embedded software development
Understanding of electronics fundamentals and circuit troubleshooting
Strong problem-solving and debugging skills
Ability to work independently and within a collaborative team environment
Preferred Qualifications
Experience with robotics, robotic locomotion, or exoskeleton systems
Experience with computer vision, motion planning, or autonomous navigation
Familiarity with localization, mapping, and sensor fusion
Experience with motor control and sensor interfacing
Knowledge of software safety practices
Experience with MATLAB/Octave or Python scientific libraries (NumPy, SciPy, Matplotlib)
Exposure to electronics design tools (Altium or similar)
Additional Skills & Competencies
Strong interpersonal and communication skills
Ability to work effectively with customers, vendors, and internal teams
Proficiency with standard business tools (e.g., Microsoft Office)
Ability and willingness to learn new technologies quickly
Work Environment
Primarily office-based with standard equipment (computer, phone, etc.)
Occasional work in manufacturing or lab environments with exposure to noise, dust, and temperature variations
Physical Requirements
Ability to alternate between sitting, standing, and walking for extended periods
Ability to lift up to 20 pounds occasionally
Ability to wear required personal protective equipment (PPE)
Additional Information
May provide guidance or oversight to junior team members or technicians
Participation in safety training and job-specific training as required
EOE (including Disability/Veterans)
#HRUProfessional