Sr. Firmware Engineer
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Responsible for the embedded systems firmware design, programming, debugging and testing in consumer appliances, industrial products, user interfaces and TFT touch screen graphical displays.
- Gather and review system level requirements and process them into firmware requirements specifications.
- Perform functional testing, troubleshooting and root cause analysis of developed firmware and software components.
- Provide technical leadership and expertise in designing and implementing a complete technical solutions from conceptualization through production across all product lines.
- Work closely with the global connectivity and technology organization for project executions and requirements.
- Build and maintain networks with internal teams, external teams, product lines and external. suppliers.
- Follow the embedded firmware and IoT market, identifying new technologies and tools for firmware and connectivity development in the consumer market.
- Work closely with the global connectivity and technology organization and specifically with the global electronics competence center in Porcia, Italy.
- Responsible for the embedded systems firmware design, programming, debugging and testing using ‘C programming language’ on microcontrollers/microprocessors.
- Perform Touch screen display software programming using ‘Portable Embedded Graphical User Interface (CPEG)’ GUI framework or ‘TouchGFX Graphical User Interface (GUI)’ framework or ‘emWin Graphical User Interface (GUI)’ framework.
- Develop firmware using ‘Real Time Operating Systems (RTOS)’ such as uCOS (Micro C/OS) or FreeRTOS. Develop ‘Bus and Device Communication Protocols’ device drivers such as ‘Controlled Area Network (CAN)’, ‘Serial Peripheral Interface (SPI)’, ‘Inter Integrated Circuit (I2C)’, ‘Universal Asynchronous Receiver and Transmitter (UART)’, RS232 and RS485.
- Develop device communication protocols such as ‘Universal Serial Bus (USB)’. Use ‘Bug/Defect tracking tools such as JIRA’, ‘Requirements gathering tools such as Caliber RM’, ‘Source Code Control systems (e.g. GIT, SVN, PTC)’.
- Debug firmware using ‘Joint Test Action Group (JTAG)’ emulators and debuggers.
- Candidate must have a Bachelor’s or foreign equivalent degree in Computer Engineering, Electronic Engineering or related field and 5 years’ experience in firmware development with touch screen graphical user interfaces like TFT, and one or more of the GUI frameworks - QT, emWin, TouchGFX, CPEG; Design and programming experience with C or C++ for embedded control systems using RTOS or embedded Linux, or custom kernels;
- Experience with microcontrollers/microprocessors and embedded development environments/tools;
- Experience with software testing, troubleshooting and root cause analysis;
- Design and programming experience with IoT solutions or connected managed products.
- Experience with communication buses and systems: I2C, SPI, CAN, UARTs, RS232, RS485;
- Experience with one or more of device communication protocols - TCP, IP, USB;
- Experience with one or more of source code control systems - GIT, SVN, or PTC;
- Experience with Caliber RM or DOORS requirement gathering tools and JIRA defect tracking tools