Firmware Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+18 more
Job description
Our IoT device consulting firm client in Morrisville, NC (RTP) is seeking a Senior Firmware Engineer on a contract basis to design, develop, and debug embedded C firmware for microcontroller-based IoT, RF, and embedded products, working alongside the in-house firmware and hardware teams. The Senior Firmware Engineer consultant should be able to step into client projects quickly and contribute with minimal ramp-up. This role is hands-on, bare-metal and RTOS firmware on microcontrollers. It is not application, web, or cloud software development., Firmware Development (Primary)
-
Design, implement, and debug embedded C firmware for client projects on RTOS-based microcontroller platforms, primarily Zephyr RTOS.
-
Develop and maintain peripheral drivers (I2C, SPI, UART, ADC, PWM, GPIO, timers, DMA) from hardware datasheets and reference manuals.
-
Bring up new custom hardware, including board definitions, device tree and Kconfig configuration, and early hardware/firmware debug.
-
Implement and integrate wireless connectivity (BLE, Wi-Fi, LTE-M/NB-IoT, LoRa/LoRaWAN) as projects require.
-
Develop low-power firmware for battery-powered IoT devices (sleep modes, power gating, current profiling).
-
Work across multiple microcontroller families, primarily ST (STM32) and Nordic (nRF52/nRF53/nRF54/nRF91), with exposure to TI, Renesas, NXP, Espressif, and others.
Client & Project Delivery
-
Prepare task and project work estimates for new and existing business to inform statements of work.
-
Interface directly with clients as needed to clarify requirements, review technical approaches, and report on deliverables.
-
Report progress, risks, and hours to Device Solutions engagement contacts regularly.
-
Participate in code and design reviews; deliver firmware that meets Device Solutions coding standards and project requirements.
-
Commit work to the company’s GitHub repositories using established branching and pull request workflows.
-
Collaborate with hardware engineers during board bring-up and debug using oscilloscopes, logic analyzers, and debug probes.
-
Document designs, interfaces, and test results to support clean handoff to internal and client teams.
Requirements
-
Bachelor of Science in Computer Engineering, Computer Science, Electrical Engineering, or related field, OR equivalent professional experience demonstrated through work history and examples of delivered firmware projects.
-
10+ years of professional embedded C development for microcontrollers.
-
5+ years of hands-on experience developing with a real-time operating system (Zephyr, FreeRTOS, ThreadX/Azure RTOS, or similar), including threading, synchronization, interrupt handling, and memory-constrained design.
-
Hands-on experience with ST STM32 and/or Nordic nRF microcontrollers and their SDKs/toolchains (e.g., STM32Cube, nRF Connect SDK).
-
Ability to read schematics, hardware datasheets, and reference manuals, and implement firmware drivers from them.
-
Proficiency with embedded debugging tools: J-Link/ST-Link debug probes, multimeters, oscilloscopes, and logic analyzers.
-
Experience with version control using Git, including branching strategies and pull request workflows.
-
Demonstrated ability to come up to speed quickly on unfamiliar codebases and microcontroller families.
-
Strong written and verbal communication skills necessary to interact with project managers and clients.
-
Ability to prepare credible task-level work estimates.
Preferred Qualifications of the Senior Firmware Engineer:
-
5+ years of hands-on Zephyr RTOS experience, including custom board support, devicetree, Kconfig, west, and driver development.
-
Experience with additional microcontroller families: TI (MSP430, CC13xx/CC26xx), Renesas (RA/RX), NXP (i.MX RT, LPC, Kinetis), Espressif (ESP32/ESP-IDF).
-
Experience developing wireless products (BLE, Wi-Fi, cellular LTE-M/NB-IoT, LoRa/LoRaWAN).
-
Experience with bootloaders, DFU/FOTA, and secure boot (e.g., MCUboot, signed updates).
-
Experience with Yocto/embedded Linux.
-
Prior consulting or contract engineering experience supporting multiple concurrent clients.
-
Python or other scripting languages for test, tooling, or automation.
-
Familiarity with AI-assisted development tools such as Claude Code.
-
Exposure to regulated-industry development (e.g., medical IEC 62304, industrial standards).
Benefits & conditions
This is a 6-month W2 contract engagement with an anticipated 20-40 hours per week during EST business hours M-F. Pay rate is $60.00 - $66.00/hr. depending on experience and credentials. Hours will vary with project load. Engagements may be extended based on project needs, and contractors who are a strong fit may be considered for future full-time opportunities as they arise.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…