Role Overview
We are looking for a Senior Embedded Firmware Engineer to design, develop, test, and maintain firmware for embedded systems built around modern microcontrollers. This role is primarily focused on low-level embedded firmware development, but also includes host-side tooling, CI pipeline support, hardware bring-up, and debugging across the hardware/software boundary.
The ideal candidate is a strong C developer with deep embedded systems experience, practical hardware debugging skills, and the ability to work comfortably from schematic review through firmware implementation, automated testing, and production support.
NOTE: Candidate must reside in The United States or Canada.
What You'll Do
- Design, implement, test, and maintain embedded firmware for ARM Cortex-M microcontroller-based systems, including low-level drivers, board support packages, application firmware, and debugging workflows.
- Debug firmware and hardware issues using SWD/JTAG, oscilloscopes, logic analyzers, protocol analyzers, and other lab equipment.
- Develop Python-based host tools for device control, diagnostics, manufacturing test, automation, and data collection.
- Bring up hardware, automated testing setups, and CI/CD pipelines.
- Debug and resolve lab, manufacturing, and field issues.
- Participate in architecture development, design/code reviews, and doc writing.
What We're Looking For
- Strong professional experience developing embedded firmware in C for microcontroller-based systems, particularly ARM Cortex-M devices.
- Proficiency with Python for host-side tooling, automation, diagnostics, testing, or firmware update workflows.
- Comfortable working in a Linux development environment, including command-line tools, build systems, device interfaces, and debugging workflows.
- Proficiency with git, multi-repository workflows, and CI/CD pipelines.
- Comfort at the hardware/software boundary (reading schematics, using lab equipment, and debugging integration issues.
- Strong communication and documentation skills, including clear text-based communication for a remote workforce.
- At least five years experience in a similar role, along with a background in EE, CS, or related technical field.
Nice To Have
- Prior work with embedded protocols, especially USB, USB-PD, UART, I2C, and SPI.
- Experience developing USB device firmware (descriptors, enumeration, CDC, DFU, HID, or vendor-specific interfaces).
- Experience with hardware-in-the-loop testing, manufacturing test systems, or production diagnostics.
- Experience with CMake, Make, GCC/Clang, linker scripts, static analysis, unit testing, integration testing, or pytest.
- Prior experience with Raspberry Pi RP2040 and RP2350 MCUs.
Compensation & Benefits
The Compensation range is for the primary location for which the job is posted. Please note that the actual compensation may vary depending on location and job-related factors such as qualifications, experience, knowledge and skills. If you are applying for this role outside of the primary location and you are selected for an interview, the Talent Acquisition Partner can share more information with you. If the compensation structure for the role includes an incentive component (i.e. most Sales roles) the range below represents total target compensation (TTC) (base salary + variable).
$150,000 - $200,000 (USD) a year
$130,000 - $180,000 (CAD) a year
Salary range (min - max)
Position Type: New Vacancy
Skills Required
- Professional experience developing embedded firmware in C for microcontroller-based systems, particularly ARM Cortex-M devices.
- Proficiency with Python for host-side tooling, automation, diagnostics, testing, or firmware update workflows.
- Comfortable working in a Linux development environment including command-line tools and debugging workflows.
- Proficiency with git, multi-repository workflows, and CI/CD pipelines.
- Ability to read schematics and perform hardware/software boundary debugging with lab equipment (SWD/JTAG, oscilloscopes, logic analyzers).
- Strong communication and documentation skills for remote workforce.
- At least five years experience in a similar role with a background in EE, CS, or related technical field.
- Candidate must reside in the United States or Canada.
- Experience with embedded protocols (USB, UART, I2C, SPI) and USB device firmware development (descriptors, enumeration, CDC/DFU/HID)
- Experience with hardware-in-the-loop testing, manufacturing test systems, or production diagnostics.
- Familiarity with build tools and toolchains (CMake, Make, GCC/Clang), linker scripts, static analysis, unit and integration testing, pytest.
- Prior experience with Raspberry Pi RP2040 and RP2350 MCUs.
What We Do
Magnet Forensics is a global leader in the development of digital investigation software that acquires, analyzes and shares evidence from computers, smartphones, tablets and IoT related devices. Magnet Forensics has been helping law enforcement fight crime, protect assets and guard national security since 2009. Magnet Forensics has become a trusted partner for thousands of the world’s top law enforcement, government, military and corporate organizations in over 92 countries. Court-admissible evidence recovered by Magnet Forensics tools has been used to support a wide-variety of investigations including cybercrimes, child exploitation, terrorism, human resource disputes, fraud, and intellectual property theft. For more information, please visit https://www.magnetforensics.com






