Embedded Firmware Engineer
Job Description
The Embedded Firmware Engineer role is a contract-to-hire position supporting the development, debugging, and ongoing support of embedded firmware for new hardware products. This hybrid role is based in Bellevue, WA and emphasizes hands-on hardware bring-up, embedded C development, peripheral integration, and validation on microcontroller-based systems.
Key Responsibilities
- Bring up and validate firmware on new hardware, including verifying power and clock operation, connecting and configuring debug interfaces, enabling peripherals, and establishing initial firmware functionality.
- Develop, integrate, and debug embedded C firmware for 32-bit ARM Cortex-M-class microcontrollers and similar architectures.
- Configure and communicate with companion integrated circuits and peripherals using I2C, SPI, UART, and other standard communication interfaces.
- Develop and debug USB-C and USB Power Delivery functionality, including power negotiation, source/sink roles, and fault handling.
- Perform bench-level debugging with oscilloscopes, multimeters, logic/protocol analyzers, SWD/JTAG debuggers, and UART logging.
- Analyze schematics, datasheets, register maps, and technical documentation to configure hardware devices and troubleshoot system-level issues.
- Collaborate with hardware engineers to isolate and resolve hardware versus firmware issues during board bring-up and product development.
- Develop and maintain board support packages, peripheral configurations, and required firmware integrations.
- Support firmware update and bootloader functionality, including development and deployment of firmware update images.
- Develop or support firmware for power-path and regulator control, including voltage monitoring, fault detection and recovery, enable sequencing, and related power-management functions.
- Document firmware configurations, implementation details, debugging activities, and design decisions to support product development and ongoing maintenance.
- Use version control and established software development practices to maintain firmware source code and support collaborative development.
- Support firmware integration, testing, troubleshooting, and verification throughout the product development lifecycle.
- Collaborate with engineering and cross-functional teams to identify technical issues, develop solutions, and support successful product development and production.
- Follow Business Technology policies to protect sensitive data and reduce information security occurrences.
Required Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or an equivalent technical discipline required.
- Minimum of 5 years of relevant experience developing embedded firmware or equivalent engineering experience preferred.
- Strong proficiency in embedded C development for 32-bit microcontrollers, including interrupts, register-level peripheral programming, and development within flash and RAM constraints.
- Working knowledge of USB-C and USB Power Delivery concepts, including source/sink/dual-role behavior and power contract negotiation.
- Experience with I2C, SPI, UART, and other embedded communication interfaces, including device configuration and debugging.
- Hands-on experience with hardware bring-up, including taking new boards from initial power-on through functional firmware or debugging firmware against physical hardware.
- Strong ability to interpret schematics, datasheets, register tables, and hardware specifications to configure and troubleshoot embedded devices.
- Proficiency using standard embedded hardware debugging tools, including oscilloscopes, logic/protocol analyzers, multimeters, and SWD/JTAG debuggers.
- Experience using Git or similar version-control systems.
Tools and Technologies
- Embedded C, ARM Cortex-M, 32-bit microcontrollers
- I2C, SPI, UART
- USB-C, USB Power Delivery, power negotiation
- SWD, JTAG
- Oscilloscopes, multimeters, logic/protocol analyzers, UART logging
- Git, bootloader, DFU
- Microcontroller SDKs, IDE, middleware, board support package (BSP)
- Power-path, regulator control, power-management firmware, voltage monitoring, fault detection/recovery, enable sequencing
Contract Logistics
- Location: Bellevue, WA (hybrid)
- Job type: Contract
- Schedule on contract: Monday to Friday, day shift (hybrid, 3 days onsite)
Compensation
- USD 116.00 per hour
- The hourly range is an estimate based on factors including experience, education, training, skills, and business considerations; actual compensation may vary based on candidate qualifications and alignment with the role.
Benefits While on Contract
- Multiple options for medical insurance and dental insurance including some with FSA and HSA
- 401(k) with up to 4% company match
- 15-days of accrued PTO and 9 company paid holidays
- Quarterly bonus program
- Voluntary benefits: vision, long-term disability, and life insurance
Compliance Requirements
- ITAR: Permanent resident of the United States (“U.S. person” as defined by ITAR)
- Background: Pass a post-offer background verification
Work Environment
- Standard office environment with normal amounts of office-related conditions.
- Occasionally may be required to work in environmental conditions that emulate typical user environments to facilitate design testing and validation.
- Occasionally may be required to travel as required to other facilities, clients, or suppliers.
Additional Preferred Background
- Experience with microcontroller SDKs, IDEs, middleware, and board support package development preferred.
- Experience with firmware update mechanisms and bootloaders, including DFU or equivalent processes, preferred.
- Experience with power-path, regulator, or power-management firmware, including voltage monitoring, fault detection/recovery, and sequencing preferred.
- Experience with USB subsystems and related technologies such as hubs, alternate modes, signal conditioning devices, or related USB peripherals preferred.
- Experience with embedded software CI/build automation preferred.
- Familiarity with USB-IF requirements, USB-C specifications, or USB Power Delivery compliance testing preferred.