Embedded Software Engineer - RTOS/BSP
Job Title: Embedded Software EngineerLocation: Dearborn, MIJob 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 activitiesQualification:• Bachelor's degree in Computer Science / Electronics & Communication EngineeringSkills 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