Embedded Software Consultant – Machine ECU Platform
Aurora Engineering AB Eskilstuna, Södermanland County, Sweden
IT Services and IT Consulting · 11-50 employees
About the role
Develop, integrate, and maintain low-level embedded software for machine ECU platforms, including boot software and device drivers. Troubleshoot complex hardware/software integration issues using specialized measurement equipment and perform verification on target hardware.
What they look for
Requirements
Requires several years of professional experience in low-level embedded software development with strong proficiency in C++ and microcontroller-based systems. Candidates must have hands-on experience with RTOS, hardware debugging, and real-time system behavior.
Full description
We are looking for experienced Embedded Software Consultants to join our development team and contribute to the next generation of software platforms for machine ECUs.
The assignment focuses on low-level embedded software and platform development, working closely with microcontrollers, hardware and real-time operating systems. You will be part of a technically strong team developing software that must be deterministic, robust, reliable and maintainable in a real-time environment.
The ideal candidate has strong hands-on experience in embedded C++ development, MCU-based systems, boot software, drivers, RTOS/bare-metal development and hardware-level debugging.
Key Responsibilities
- Develop, integrate and maintain low-level embedded software for ECU platforms.
- Work closely with microcontrollers, boot software, device drivers, hardware abstraction layers and RTOS.
- Develop and maintain startup, initialization and platform-level software.
- Analyze, troubleshoot and resolve complex hardware/software integration issues.
- Perform hands-on debugging and verification on target hardware.
- Use tools such as debug probes, oscilloscopes, logic analyzers and other measurement equipment.
- Contribute to software architecture, design, implementation and integration.
- Develop and execute software verification and testing activities.
- Analyze real-time behavior, interrupts, memory usage and peripheral communication.
- Collaborate closely with embedded software, hardware, systems and verification engineers.
- Support continuous improvement of development, integration, testing and debugging processes.
- Contribute to a modern software development environment with automation and CI/CD practices.
Required Skills & Experience
- Several years of professional experience in low-level embedded software development.
- Strong knowledge of microcontrollers and embedded hardware.
- Solid experience with C++ in embedded systems.
- Experience with RTOS and/or bare-metal development.
- Hands-on experience with bootloaders, startup code, memory initialization and hardware initialization.
- Strong understanding of:
- Real-time systems and deterministic behavior
- Interrupt handling
- Memory management and memory mapping
- MCU peripherals and hardware interfaces
- Hardware/software integration
- Strong troubleshooting and debugging skills at both software and hardware levels.
- Practical experience using debug probes, oscilloscopes, logic analyzers or similar tools.
- Experience with Python for scripting, test automation and development support.
- Ability to work effectively in complex hardware/software environments.
- Good communication and collaboration skills.
Meritorious / Nice to Have
- Experience in automotive, industrial automation, construction machinery or other safety-critical embedded systems.
- Experience with ARM-based microcontrollers.
- Knowledge of CAN/CAN FD and automotive or machine communication protocols.
- Experience with diagnostics and ECU communication.
- Knowledge of functional safety standards and practices.
- Experience with modern software development workflows and CI/CD pipelines.
- Experience with automated testing and hardware-in-the-loop (HIL) environments.
- Familiarity with software configuration management and tools such as Git.
- Experience working in Agile development environments.
Technical Environment
The assignment involves working across the complete low-level software stack, including:
MCU → Startup/Boot → Drivers → Hardware Abstraction → RTOS/Bare Metal → ECU Platform → Application Software
The role requires a strong understanding of how software interacts with hardware and the ability to investigate issues down to the MCU, peripheral and electrical signal level.
Personal Profile
We are looking for someone who is:
- Technically curious and passionate about embedded systems.
- Comfortable working close to hardware.
- Analytical and systematic when troubleshooting complex problems.
- Proactive in identifying and solving technical issues.
- Quality-focused and attentive to reliability and real-time behavior.
- Comfortable working independently as well as in a collaborative engineering team.
Similar roles
-
Embedded Software Engineer
Renesas Electronics Athens, Attica, Greece
-
Embedded Software Engineer
Xshore Nyköping, Sweden
-
Sr. Associate 1, Embedded Software Engineer
Alcon Lake Forest, California, United States · $99K–$129K/yr
-
Senior Embedded Software Engineer
The Exploration Company Munich, Bavaria, Germany
-
Embedded Software Senior Engineer
Caterpillar Inc. Chennai, Tamil Nadu, India
-
Principal 1, Embedded Software Engineer
Alcon Lake Forest, California, United States · $128K–$166K/yr