1

Embedded Software Bare Metal Jobs in Michigan (NOW HIRING)

Embedded Software Engineer

Dearborn, MI ยท On-site

$121K - $159K/yr

... bare-metal software development for scalable platforms Perform integration, debugging, and optimization (CPU, memory, power) Analyse and resolve low-level system issues across embedded layers Conduct ...

Embedded Software Engineer

Dearborn, MI ยท On-site

$120K - $158K/yr

... bare-metal software development for scalable platforms โ€ข Perform integration, debugging, and optimization (CPU, memory, power) โ€ข Analyse and resolve low-level system issues across embedded layers ...

Embedded Software Engineer

Dearborn, MI ยท On-site +1

$90K - $188K/yr

... a bare metal environment. 2. Software debugging using JTAG, JTRACE, oscilloscope, logic analyzer ... Embedded Software Engineer - positions offered by Ford Motor Company (Dearborn, Michigan). Note ...

RTOS Embedded Software Engineer

Dearborn, MI ยท On-site

$121K - $159K/yr

Specify requirements, design, implement, and test both bare metal and RTOS low-level software for ... Strong Embedded software development expertise (modern C++ and embedded C proficiency), Min 5 years ...

BSP Engineer

Dearborn, MI

$115K - $172K/yr

Openings available for Embedded Software Engineer at Ford Motor Company in Dearborn, Michigan ... bare metal environment. 1+ years of experience in software debugging using JTAG, JTRACE ...

You will work at the intersection of hardware and software, creating reliable, secure, and high ... Maintain and enhance existing embedded Linux and bare-metal firmware platforms. * Analyze complex ...

next page

Showing results 1-20

Embedded Software Bare Metal information

What is an embedded software bare metal?

An Embedded Software Bare Metal job involves developing firmware for microcontrollers or processors without an operating system (OS). Engineers write low-level code to directly control hardware peripherals using languages like C or assembly. This role requires knowledge of memory management, real-time constraints, and debugging techniques. It is commonly used in applications such as automotive systems, industrial automation, and IoT devices where efficiency and deterministic behavior are critical.

What are common challenges faced when developing bare metal embedded software?

Bare metal embedded software engineers often encounter challenges such as limited memory and processing resources, real-time timing constraints, and troubleshooting hardware-software interactions without the safety net of an operating system. Debugging can be particularly complex, as it often relies on low-level tools and a deep understanding of both the code and the hardware. Close collaboration with hardware engineers is usually required to diagnose and resolve issues. Developing for a bare metal environment demands careful planning, proactive testing, and a precise approach to resource management to ensure stability and reliability of the final product.

What are the key skills and qualifications needed to thrive in the embedded software bare metal position, and why are they important?

To thrive as an Embedded Software Bare Metal engineer, you need a strong background in low-level programming languages such as C/C++, thorough understanding of microcontroller architectures, and experience with hardware interfacing. Familiarity with tools like debuggers, oscilloscopes, version control systems, and protocols such as SPI, I2C, or UART is typical, and certifications in embedded systems or electronics are valuable assets. Excellent problem-solving abilities, attention to detail, and strong communication skills help you collaborate effectively with hardware and engineering teams. These competencies ensure reliable, efficient code that operates directly on hardware, supporting mission-critical device functionality.

What job categories do people searching Embedded Software Bare Metal jobs in Michigan look for?

The top searched job categories for Embedded Software Bare Metal jobs in Michigan are:

What cities in Michigan are hiring for Embedded Software Bare Metal jobs?

Cities in Michigan with the most Embedded Software Bare Metal job openings:

Infographic showing various Embedded Software Bare Metal job openings in Michigan as of August 2026, with employment types broken down into 100% Full Time. Highlights an 80% In-person, 8% Hybrid, and 12% Remote job distribution.

Embedded Software Engineer

Pi-Square Technologies

Dearborn, MI โ€ข On-site

$121K - $159K/yr

Other

Re-posted 3 days ago


Job description

Embedded Software Engineer
Job Description & Skill Requirement:
Key Responsibilities
Design and develop embedded software for distributed systems involving multiple microcontrollers
Implement low-level drivers and Board Support Package (BSP) components
Develop real-time Ethernet and communication protocols (UART, SPI, IPC, I2C)
Work on RTOS / bare-metal software development for scalable platforms
Perform integration, debugging, and optimization (CPU, memory, power)
Analyse and resolve low-level system issues across embedded layers
Conduct unit testing, integration testing, and automation using Python scripting
Ensure compliance with MISRA, ASPICE, and ISO26262 standards
Maintain design documentation, traceability, and architecture artifacts
Collaborate with hardware teams, V&V teams, and external vendors
Provide bench-level debugging and HIL validation support
Lead/participate in triaging sessions and release activities
Qualification:
Bachelor's degree in Computer Science / Electronics & Communication Engineering
Skills to look for:
C / C++ Programming
Python Scripting
Embedded Software Development
BSP & Device Driver Development
AUTOSAR (BSW, RTE, SWC, Davinci tools)
RTOS (FreeRTOS / SafeRTOS)
Linux / QNX Systems
UART, SPI, I2C, IPC communication
CAN / CAN-FD
Ethernet Drivers
UDS Protocol (ISO 14229)
DMA, Multicore & Shared Memory concepts
Lauterbach Debugging Tool
GTest, Parasoft (Unit Testing)
Bazel Build System
JIRA, JAMA
Flash / Memory Driver Development
Wear leveling, Garbage collection, Page swap
Boot-time & Runtime Optimization
Low-level debugging across software stack