We are looking for a Mid-Level Firmware Engineer with 2–5 years of experience to design, develop, and maintain embedded firmware for our products. You will own firmware from architecture through production deployment, working closely with electronics and mechanical teams to deliver reliable, efficient, and maintainable embedded software.
Key Responsibilities:
Design & Development:
Design and develop embedded firmware for microcontroller-based products in C/C++ (or relevant embedded language)
Architect firmware structure including drivers, middleware, and application layers for maintainability and scalability
Implement and debug communication protocols (I2C, SPI, UART, USB, CAN, Bluetooth/BLE, Wi-Fi) between MCU and peripherals/sensors
Develop low-level drivers for new hardware peripherals in coordination with the electronics team
Implement power-optimized firmware (sleep modes, wake sources, power state management) for battery-powered products
Integrate and configure RTOS (FreeRTOS, Zephyr, or similar) where required for task scheduling and resource management
Implement bootloader and firmware update (OTA/DFU) mechanisms
Prototyping & Validation:
Bring up firmware on new hardware prototypes; debug using JTAG/SWD, logic analyzers, and serial debug tools
Write unit tests and conduct code reviews to maintain firmware quality and reliability
Plan and execute functional testing, stress testing, and long-duration reliability testing on firmware
Analyze field/test failures, perform root-cause analysis, and iterate on firmware fixes
Support EMI/EMC and regulatory compliance testing from a firmware behavior standpoint
Cross-Functional Integration:
Collaborate closely with the electronics team during hardware bring-up, providing feedback on testability (test points, debug headers) and hardware design for firmware needs
Work with mechanical team where firmware interacts with physical interfaces (buttons, displays, connectors, sensors)
Coordinate with cloud/app/software teams (if applicable) for device connectivity, data protocols, and API integration
Support QA teams by clarifying expected firmware behavior and reproducing reported issues
Production Support & Documentation:
Prepare and maintain firmware documentation: architecture diagrams, API references, flash/programming procedures, and release notes
Manage firmware version control, release branching, and change tracking (Git or equivalent)
Support production programming/flashing procedures and troubleshoot firmware-related issues on the line
Contribute to firmware optimization for cost, performance, and power post-launch
Required Skills & Qualifications:
Bachelor's degree in Electronics, Electrical Engineering, Computer Engineering, or related field
2–5 years of hands-on experience in embedded firmware development, preferably in consumer electronics, IoT, or embedded hardware products
Strong proficiency in C/C++ for embedded/bare-metal or RTOS-based systems
Solid understanding of microcontroller architectures (ARM Cortex-M, ESP32, STM32, or similar) and peripherals (ADC, PWM, timers, GPIO)
Experience with common communication protocols (I2C, SPI, UART, USB) and wireless protocols (BLE, Wi-Fi) as relevant to the product
Hands-on experience debugging firmware using JTAG/SWD, oscilloscopes, and logic analyzers
Familiarity with RTOS concepts (task scheduling, semaphores, queues, interrupts)
Experience with version control systems (Git) and collaborative development workflows
Strong analytical and problem-solving skills with meticulous attention to detail
Effective communicator, comfortable working cross-functionally with electronics, mechanical, and software teams
Experience with low-power design techniques for battery-operated devices
Familiarity with security practices in embedded systems (secure boot, encrypted communication, flash protection)
Exposure to cloud connectivity protocols (MQTT, HTTP/HTTPS, CoAP)
Experience with automated testing frameworks or CI/CD pipelines for embedded firmware
Track record of taking at least one product's firmware through full mass production
What We Offer:
Opportunity to own end-to-end firmware development for real, shipping products
Close collaboration with a multidisciplinary hardware team
">
Job Summary:
We are looking for a Mid-Level Firmware Engineer with 2–5 years of experience to design, develop, and maintain embedded firmware for our products. You will own firmware from architecture through production deployment, working closely with electronics and mechanical teams to deliver reliable, efficient, and maintainable embedded software.
Key Responsibilities:
Design & Development:
Design and develop embedded firmware for microcontroller-based products in C/C++ (or relevant embedded language)
Architect firmware structure including drivers, middleware, and application layers for maintainability and scalability
Implement and debug communication protocols (I2C, SPI, UART, USB, CAN, Bluetooth/BLE, Wi-Fi) between MCU and peripherals/sensors
Develop low-level drivers for new hardware peripherals in coordination with the electronics team
Implement power-optimized firmware (sleep modes, wake sources, power state management) for battery-powered products
Integrate and configure RTOS (FreeRTOS, Zephyr, or similar) where required for task scheduling and resource management
Implement bootloader and firmware update (OTA/DFU) mechanisms
Prototyping & Validation:
Bring up firmware on new hardware prototypes; debug using JTAG/SWD, logic analyzers, and serial debug tools
Write unit tests and conduct code reviews to maintain firmware quality and reliability
Plan and execute functional testing, stress testing, and long-duration reliability testing on firmware
Analyze field/test failures, perform root-cause analysis, and iterate on firmware fixes
Support EMI/EMC and regulatory compliance testing from a firmware behavior standpoint
Cross-Functional Integration:
Collaborate closely with the electronics team during hardware bring-up, providing feedback on testability (test points, debug headers) and hardware design for firmware needs
Work with mechanical team where firmware interacts with physical interfaces (buttons, displays, connectors, sensors)
Coordinate with cloud/app/software teams (if applicable) for device connectivity, data protocols, and API integration
Support QA teams by clarifying expected firmware behavior and reproducing reported issues
Production Support & Documentation:
Prepare and maintain firmware documentation: architecture diagrams, API references, flash/programming procedures, and release notes
Manage firmware version control, release branching, and change tracking (Git or equivalent)
Support production programming/flashing procedures and troubleshoot firmware-related issues on the line
Contribute to firmware optimization for cost, performance, and power post-launch
Required Skills & Qualifications:
Bachelor's degree in Electronics, Electrical Engineering, Computer Engineering, or related field
2–5 years of hands-on experience in embedded firmware development, preferably in consumer electronics, IoT, or embedded hardware products
Strong proficiency in C/C++ for embedded/bare-metal or RTOS-based systems
Solid understanding of microcontroller architectures (ARM Cortex-M, ESP32, STM32, or similar) and peripherals (ADC, PWM, timers, GPIO)
Experience with common communication protocols (I2C, SPI, UART, USB) and wireless protocols (BLE, Wi-Fi) as relevant to the product
Hands-on experience debugging firmware using JTAG/SWD, oscilloscopes, and logic analyzers
Familiarity with RTOS concepts (task scheduling, semaphores, queues, interrupts)
Experience with version control systems (Git) and collaborative development workflows
Strong analytical and problem-solving skills with meticulous attention to detail
Effective communicator, comfortable working cross-functionally with electronics, mechanical, and software teams
We are looking for a Mid-Level Firmware Engineer with 2–5 years of experience to design, develop, and maintain embedded firmware for our products. You will own firmware from architecture through production deployment, working closely with electronics and mechanical teams to deliver reliable, efficient, and maintainable embedded software.
Key Responsibilities:
Design & Development:
Design and develop embedded firmware for microcontroller-based products in C/C++ (or relevant embedded language)
Architect firmware structure including drivers, middleware, and application layers for maintainability and scalability
Implement and debug communication protocols (I2C, SPI, UART, USB, CAN, Bluetooth/BLE, Wi-Fi) between MCU and peripherals/sensors
Develop low-level drivers for new hardware peripherals in coordination with the electronics team
Implement power-optimized firmware (sleep modes, wake sources, power state management) for battery-powered products
Integrate and configure RTOS (FreeRTOS, Zephyr, or similar) where required for task scheduling and resource management
Implement bootloader and firmware update (OTA/DFU) mechanisms
Prototyping & Validation:
Bring up firmware on new hardware prototypes; debug using JTAG/SWD, logic analyzers, and serial debug tools
Write unit tests and conduct code reviews to maintain firmware quality and reliability
Plan and execute functional testing, stress testing, and long-duration reliability testing on firmware
Analyze field/test failures, perform root-cause analysis, and iterate on firmware fixes
Support EMI/EMC and regulatory compliance testing from a firmware behavior standpoint
Cross-Functional Integration:
Collaborate closely with the electronics team during hardware bring-up, providing feedback on testability (test points, debug headers) and hardware design for firmware needs
Work with mechanical team where firmware interacts with physical interfaces (buttons, displays, connectors, sensors)
Coordinate with cloud/app/software teams (if applicable) for device connectivity, data protocols, and API integration
Support QA teams by clarifying expected firmware behavior and reproducing reported issues
Production Support & Documentation:
Prepare and maintain firmware documentation: architecture diagrams, API references, flash/programming procedures, and release notes
Manage firmware version control, release branching, and change tracking (Git or equivalent)
Support production programming/flashing procedures and troubleshoot firmware-related issues on the line
Contribute to firmware optimization for cost, performance, and power post-launch
Required Skills & Qualifications:
Bachelor's degree in Electronics, Electrical Engineering, Computer Engineering, or related field
2–5 years of hands-on experience in embedded firmware development, preferably in consumer electronics, IoT, or embedded hardware products
Strong proficiency in C/C++ for embedded/bare-metal or RTOS-based systems
Solid understanding of microcontroller architectures (ARM Cortex-M, ESP32, STM32, or similar) and peripherals (ADC, PWM, timers, GPIO)
Experience with common communication protocols (I2C, SPI, UART, USB) and wireless protocols (BLE, Wi-Fi) as relevant to the product
Hands-on experience debugging firmware using JTAG/SWD, oscilloscopes, and logic analyzers
Familiarity with RTOS concepts (task scheduling, semaphores, queues, interrupts)
Experience with version control systems (Git) and collaborative development workflows
Strong analytical and problem-solving skills with meticulous attention to detail
Effective communicator, comfortable working cross-functionally with electronics, mechanical, and software teams