We are seeking a skilled Firmware Engineer to design, develop, and optimize firmware for embedded systems. The successful candidate will have a strong background in low-level programming and microcontroller firmware development, with experience in real-time embedded systems. This role involves working closely with hardware components and cross-functional teams to deliver efficient, reliable, and high-performance firmware solutions.
Key Responsibilities:
- Develop, test, and maintain firmware for embedded systems and microcontrollers.
- Utilize C/C++ and assembly language to create efficient and reliable firmware.
- Optimize real-time performance, memory usage, and power consumption of embedded devices.
- Integrate firmware with hardware components such as sensors, actuators, and communication modules.
- Implement communication protocols including UART, I2C, SPI, CAN, USB, and Ethernet.
- Work on both RTOS-based and bare-metal firmware development.
- Debug and troubleshoot firmware issues using oscilloscopes, logic analyzers, and other debugging tools.
- Collaborate with hardware, software, and QA teams to ensure seamless integration and system reliability.
- Maintain comprehensive documentation covering firmware design, coding standards, and testing procedures.
Required Qualifications:
- Bachelor’s or Master’s degree in Electrical Engineering, Computer Engineering, Embedded Systems, or a related discipline.
- Minimum of 2 years’ experience in firmware development for embedded systems.
- Strong proficiency in C/C++ programming for embedded applications.
- Experience working with microcontrollers such as ARM, PIC, AVR, ESP32, or STM32.
- Familiarity with RTOS environments (e.g., FreeRTOS, Zephyr) and bare-metal programming.
- Understanding of low-power embedded systems and battery-operated devices.
- Hands-on experience with hardware debugging tools, including oscilloscopes.
- Knowledge of wireless communication protocols like Bluetooth, Wi-Fi, Zigbee, or LoRa is advantageous.
- Strong problem-solving skills with the ability to work independently or collaboratively.
- Practical experience with cloud and automation tools such as AWS, Jenkins, and Lambda Functions.
Preferred Qualifications:
- Experience with bootloaders and firmware over-the-air (FOTA) update mechanisms.
- Knowledge of Linux-based embedded development and device driver programming.
- Familiarity with scripting languages such as Python or Shell for automation tasks.
- Exposure to AI/ML integration within embedded systems is a plus.
This position offers the opportunity to work on cutting-edge embedded technologies in a collaborative environment, contributing to innovative product development.