Embedded Firmware / Software Engineer – USB-C Power Delivery | On-site Opportunity | Bellevue, WA | Fastwater Staffing
- Bellevue, United States
- Remote
- Mid Level
- Posted
Responsibilities
TBD — based on skills and experience
- Embedded Firmware / Software Engineer – USB-C Power Delivery to bring up new hardware platforms built around USB-C Power Delivery controllers and develop firmware from initial PCB power-on through production-quality implementation.
- This is a low-level embedded firmware engineering role focused on hardware interaction, not application-level software development. You will develop and debug embedded C firmware on ARM Cortex-M microcontrollers, configure companion ICs over I2C, SPI, and UART, and work directly at the hardware bench alongside electrical and hardware engineers.
- The ideal candidate can move comfortably between embedded C development, PCB bring-up, USB-PD functionality, peripheral communication, and hardware-level debugging.
PCB Bring-Up & Hardware Validation
- Bring up new printed circuit boards (PCBs) from initial power-on through functional firmware.
- Validate power rails, clocks, and hardware interfaces during board bring-up.
- Connect and configure SWD/JTAG debuggers.
- Enable and validate microcontroller peripherals.
- Work closely with hardware engineers to isolate hardware versus firmware issues.
- Support development from initial prototype bring-up through production-quality firmware.
Embedded Firmware Development
- Develop and debug embedded C firmware on ARM Cortex-M-class microcontrollers.
- Implement register-level peripheral programming.
- Configure and communicate with companion ICs over I2C, SPI, UART, and other peripheral interfaces.
- Work within memory-constrained environments, accounting for flash and RAM limitations.
- Analyze datasheets, register tables, and schematics to configure and troubleshoot hardware.
- Document firmware configurations, implementation decisions, and design considerations.
- USB-C & Power Delivery Implementation
- Implement and debug USB-C and USB-PD functionality, including:
- Source and sink roles
- Dual-role power (DRP)
- Power-contract negotiation
Fault handling and recovery
- Validate USB-PD behavior and troubleshoot power-delivery issues.
- Support the implementation and verification of reliable USB-C Power Delivery functionality.
- Work with hardware engineers to resolve issues involving USB-PD controllers and associated circuitry.
- Hardware Debugging & Testing
- Debug firmware and hardware directly at the bench using:
- Oscilloscopes
- Logic and protocol analyzers
- Digital multimeters
- SWD/JTAG debuggers
UART logging
- Investigate hardware and firmware issues using schematics, register maps, and measurement results.
- Validate peripheral communication and hardware functionality.
- Support troubleshooting throughout development and testing.
Documentation & Engineering Collaboration
- Maintain clear documentation of firmware configurations and design decisions.
- Collaborate closely with hardware and electrical engineering teams.
- Communicate debugging findings and support root-cause investigations.
- Use Git for source control and firmware development workflows.
- Contribute to firmware quality and production readiness.
- USB hubs
- DisplayPort Alt Mode
- Redrivers
- Retimers
Requirements
- U.S. Person — U.S. Citizen or U.S. Permanent Resident (Green Card holder)
- Must be able to work on-site in Bellevue, WA, 3 days per week
- Strong hands-on experience developing
embedded C firmware
- for 32-bit ARM Cortex-M or similar microcontrollers.
- Experience with register-level peripheral programming.
- Hands-on PCB and firmware bring-up experience.
USB-C / USB Power Delivery (USB-PD)
- Experience communicating with companion ICs through I2C, SPI, and/or UART.
- Proficiency with bench-level debugging equipment, including oscilloscopes, logic/protocol analyzers, multimeters, SWD/JTAG debuggers, and UART logging.
- Ability to work from datasheets, register tables, and schematics.
- Proficiency with Git.
- We’re looking for an engineer who is genuinely comfortable working at the hardware bench and has personally brought up and debugged embedded hardware.
- The ideal candidate can explain how they powered on a new board, validated power and clocks, initialized the microcontroller, configured peripherals, debugged hardware and firmware issues, and verified USB-C Power Delivery behavior.
- Embedded C + ARM Cortex-M + PCB Bring-Up + USB-C/USB-PD + I2C/SPI/UART + Bench Debugging
- Candidates whose experience is limited to application-level software development, without hands-on firmware and hardware bring-up experience, may not be a fit.
- Strong proficiency in
- embedded C
- Experience developing firmware on
- 32-bit ARM Cortex-M or similar microcontrollers
Interrupts
- Working knowledge of USB-C and USB Power Delivery.
- Ability to read and work from datasheets, register maps, and schematics.
- Proficiency with Git.
- Strong troubleshooting and hardware/firmware debugging skills.
- Ability to collaborate closely with hardware and electrical engineering teams.
- Experience creating or customizing a Board Support Package (BSP).
- Experience with firmware bootloaders and update mechanisms, including DFU or equivalent.
- VBUS control
- Over-voltage protection (OVP)
- Under-voltage protection (UVP)
- Over-current protection (OCP)
- Fault detection and recovery
- Enable and soft-start sequencing
- Billboard devices
- Experience taking embedded products from prototype hardware through production.
Preferred
- Register-level peripheral programming
- Memory-constrained embedded development
Flash and RAM limitations
- Understanding of USB-PD source, sink, and dual-role power (DRP) configurations.
- Understanding of USB-PD power-contract negotiation and fault handling.
- Hands-on experience with hardware and PCB bring-up.
- Experience communicating with and configuring companion ICs through I2C, SPI, UART, or similar interfaces.
- Experience using oscilloscopes, logic/protocol analyzers, multimeters, SWD/JTAG debuggers, and UART logging.
- Experience with Infineon or Cypress MCU SDKs/IDEs and associated middleware.
- ModusToolbox, STM32Cube, or similar development environments
Experience with power-path or regulator firmware, including
- Infineon EZ-PD / PMG1 or Cypress CCGx USB-PD controllers
- Experience with ModusToolbox.
- Experience implementing continuous integration (CI) for embedded firmware builds.
- Familiarity with USB-IF Power Delivery compliance requirements and USB-C specifications.
Location
Bellevue, WA
Employment Type
6-Month W-2 Contract | Potential for Full-Time Conversion
Work Arrangement
Hybrid — 3 Days/Week On-Site
Schedule
Monday–Friday
