Source description
About the role
Job Title: Software Engineer (Embedded C++/Firmware)
Location: Schaumburg, IL (Onsite)
Job Type: Contract
Embedded C++, C++17, Embedded Firmware, Zephyr RTOS, STM32/Cortex-M4F, Device Driver Development, SPI, I2C, USB, UART, GPIO, DMA, Embedded Linux, ETL State Machines, Memory/Power Optimization, Debugging, Secure Firmware Design.
Job Description
We are looking for an experienced Embedded Software Engineer to join our team in Schaumburg, IL . The ideal candidate will have strong expertise in Embedded C++, firmware development, RTOS, STM32 microcontrollers, and low-level driver development . This role involves developing next-generation secure NFC/RFID reader products while working on real-time embedded systems and collaborating with cross-functional engineering teams.
Required Skills:
5+ years of Embedded Software/Firmware development experience.
Strong programming experience in Modern C++ (C++17 or later) .
Hands-on experience with Embedded C/C++ , RTOS (Zephyr preferred), and Embedded Linux .
Experience developing firmware for STM32 , Cortex-M4F , or similar microcontrollers.
Strong experience with SPI, I2C, UART, USB, GPIO, DMA, and Timers .
Experience developing Linux Device Drivers and Device Abstraction Layer (DAL/HAL) .
Experience with ETL-based state machines and real-time embedded applications.
Strong knowledge of memory optimization, timing analysis, power optimization, debugging, and profiling .
Experience implementing fault recovery , error handling , and secure firmware design.
Familiarity with Yocto , Git , Linux development environments , and embedded toolchains.
Strong debugging and troubleshooting skills.
Preferred Skills:
Experience with Zephyr RTOS .
Experience with USB CCID or secure credential protocols.
Experience working on NFC/RFID , authentication, or secure embedded devices.
Experience with CMake , static analysis tools, and automated testing.
Experience working in Agile environments.
Responsibilities
-
Develop and maintain embedded firmware for secure NFC/RFID products.
-
Design and implement embedded software using Modern C++ (C++17+) .
-
Develop and maintain low-level drivers for SPI, I2C, USB, UART, GPIO, DMA, and Timers .
-
Optimize firmware for performance, memory usage, power consumption, and real-time execution .
-
Implement robust error handling and fault recovery mechanisms.
-
Perform debugging, testing, profiling, and validation of embedded firmware.
-
Collaborate with firmware, hardware, and systems engineering teams to deliver high-quality embedded solutions.
More at 3B Staffing