Lead Embedded Linux Platform Engineer – Linux BSP & Android
Medallion designs and engineers advanced display-based instrumentation systems powered by highly customized, proprietary operating systems. We are adding a Lead Embedded Platform Engineer to our team. You will drive the development and integration of Linux and Android system software for our next-generation products.
This is a hands-on technical role focused on solving complex hardware and software challenges. You will work with cross-functional engineering teams to bring up new hardware, support products from initial power-on through production, and provide technical leadership across the embedded software stack.
The ideal candidate has strong experience with board bring-up, bootloader development, Linux kernel porting, device driver development, and embedded system integration. You will help deliver reliable, production-ready software for advanced embedded products.
Key Responsibilities
Bring-Up & Hardware Enablement
- Lead embedded platform bring-up from initial power-on through production.
- Develop and maintain boot software, including U-Boot, ARM Trusted Firmware, and custom bootloaders.
- Configure and validate low-level hardware initialization, including memory, clocks, power, and peripheral interfaces.
- Lead DDR/DRAM bring-up, tuning, and stability validation across operating conditions.
- Debug complex boot and hardware/software integration issues across the complete boot chain.
- Collaborate with hardware teams on prototype validation, board reviews, manufacturing readiness, and production support.
- Use hardware debugging tools such as JTAG, oscilloscopes, and logic analyzers to diagnose system issues.
Linux Platform Development
- Port, customize, and maintain Linux on ARM and ARM64-based embedded platforms.
- Integrate vendor BSPs while maintaining long-term platform quality and maintainability.
- Userspace creation via Yocto/Buildroot or full port of Debian/Ubuntu/Alpine Linux.
- Optimize system boot speed, reliability, and overall performance.
Kernel, Drivers & Middleware Development
- Develop, customize, integrate, and maintain company-specific Linux kernel variants and device drivers.
- Support hardware interfaces including:
- Graphics and display systems
- Camera and imaging pipelines
- Audio subsystems
- Wireless connectivity
- Storage and high-speed interfaces
- Embedded peripherals and communication buses
- Integrate and optimize multimedia, graphics, networking, and hardware acceleration frameworks.
- Debug issues spanning firmware, kernel drivers, middleware, and userspace applications.
Embedded Firmware & Heterogeneous Systems
- Develop and integrate embedded firmware for MCU-based subsystems, including ARM Cortex-M platforms.
- Support Linux + MCU architectures for real-time control, power management, sensing, and peripheral management.
- Work with heterogeneous processor architectures, including ARM Cortex-A/Cortex-M and AMP systems.
- Develop and debug RTOS-based firmware using FreeRTOS or equivalent platforms.
- Apply real-time design principles including scheduling, interrupts, synchronization, and concurrency management.
- Develop low-level firmware, hardware abstraction layers, and peripheral drivers.
Firmware Updates, Recovery & System Reliability
- Design robust firmware deployment, recovery, and update mechanisms.
- Support secure firmware updates, OTA updates, A/B partitioning, rollback, and recovery workflows.
- Maintain firmware versioning, system resiliency, and platform security.
Android Platform Integration
- Support Android platform bring-up and customization.
- Integrate bootloaders, kernels, BSPs, HALs, and vendor Android components.
- Debug and optimize Android embedded platforms.
Technical Leadership
- Provide technical leadership for embedded software architecture and platform design.
- Mentor engineers and promote software engineering best practices.
- Collaborate with hardware, systems, manufacturing, and product teams to deliver reliable embedded products.
Required Experience & Qualifications
- Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related discipline.
- 8+ years of experience developing embedded Linux systems and Board Support Packages.
- Strong expertise with ARM and ARM64 architectures; experience with other processor architectures is an asset.
- Expert-level C programming skills and working knowledge of assembly.
- Demonstrated success taking embedded products from development through production launch, with the ability to work independently and contribute effectively within small to medium-sized engineering teams.
- Experience with Git, CI/CD pipelines, and automated embedded software build and test environments.
Additional Expectations
- Results-oriented mindset with a strong sense of ownership, accountability, and commitment to delivering high-quality engineering solutions.
- Ability to manage multiple priorities and consistently deliver high-quality work in a fast-paced, deadline-driven environment.
Pay: $117,350.89 - $125,454.14 per year
Benefits:
- 401(k) 4% Match
- Dental insurance
- Employee assistance program
- Health insurance
- Health savings account
- Life insurance
- Paid time off
- Referral program
- Tuition reimbursement
- Vision insurance
Application Question(s):
- What is your expected rate of pay for this position?
Education:
Experience:
- embedded Linux: 5 years (Required)
Ability to Commute:
- Spring Lake, MI 49456 (Required)
Work Location: In person