Embedded Software Consultant – Machine ECU Platform
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.
- Locations
- Eskilstuna
About Aurora Engineering AB
Aurora Engineering AB is a Swedish engineering consultancy providing technical expertise and project support within the automotive and industrial sectors. We connect skilled engineers with innovative companies to deliver high-quality solutions in product development, design, testing, and digital engineering.