Embedded Software & Controls Engineer
Power the next generation of heavy equipment. Join us as an Embedded Software & Controls Engineer to bridge C/C++ firmware, Simulink models, and real-world hardware.
We're looking for an Embedded Software & Controls Engineer to develop machine-control software for heavy equipment, from low-level drivers and board support packages to application-level control logic. The role combines hands-on C/C++ development on microcontrollers with model-based design using MATLAB and Simulink, translating machine requirements into reliable software running on real hardware. 🚜
🧑🏻💻 Responsibilities:
Develop and maintain embedded C/C++ software for microcontrollers, including bare-metal firmware, hardware drivers, and board support packages (BSPs).
Translate system and functional requirements into control models and software designs, collaborating with systems, hardware, and application engineering teams.
Design, simulate, and verify control logic using MATLAB and Simulink, including model-level unit testing, and implement and integrate the resulting functionality in embedded C/C++.
Develop machine-control applications, interfacing with joysticks, keypads, sensors, and electrohydraulic systems.
Implement control logic for hydrostatic pumps and hydraulic valves, including flow metering and coordination with machine operating states.
Develop and refine power management, cooling, and hydraulic fan control functionality.
Debug and validate software across the embedded stack, from hardware interfaces and drivers to application behavior on the machine.
Work within an Agile development process, maintaining requirements traceability, verification evidence, and software lifecycle documentation using tools such as Polarion.
Contribute to code reviews, version control, automated builds, and continuous integration using GitHub, Jenkins, and GCC-based toolchains.
🤝 If you have:
Hands-on experience developing embedded software in C/C++ on microcontrollers, including bare-metal systems.
Experience translating system requirements into models, control logic, and embedded implementations.
Understanding of control systems and hardware/software interfaces, with experience integrating sensors, actuators, or operator inputs.
Ability to debug embedded software and investigate issues across firmware, electronics, and machine behavior.
Solid software engineering practices, including unit testing, Git workflows, code reviews, and continuous integration.
Ability to collaborate across disciplines and work effectively within an Agile engineering team.
Availability to travel to the US.
🦾 It’s a major plus:
Experience with MATLAB and Simulink for model-based control development, simulation, and verification.
Experience with heavy machinery, mobile equipment, or industrial machine-control systems.
Familiarity with electrohydraulics, hydrostatic drives, pump and valve control, power management, or cooling systems.
Experience spanning both low-level embedded development and application-level controls.
Familiarity with Jenkins, GitHub, and GCC toolchains.
Experience using engineering documentation and component datasheets, including through PLM tools such as Windchill.
- Department
- Technology
- Locations
- Multiple locations
- Remote status
- Fully Remote