Aurora Engineering AB

Embedded Software Consultant – Machine ECU Platform

Aurora Engineering AB Eskilstuna, Södermanland County, Sweden

IT Services and IT Consulting · 11-50 employees

4 h ago
embedded Senior (5-10 yrs) Full-time Sweden
Create a free account to apply — email only, no card. You can also save this posting or score it against your profile with AI.

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

Embedded C++ Microcontrollers RTOS Bare-metal development Hardware debugging Bootloaders Device drivers Hardware abstraction layers Python Oscilloscopes Logic analyzers Real-time systems Memory management Interrupt handling CI/CD Git

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