Epicareer Might not Working Properly
Learn More

Firmware Engineer

$ 4,000 - $ 6,000 / month

Checking job availability...

Original
Simplified

Firmware Engineer (Embedded System)

Job Description

We are seeking for a motivated and experienced Firmware Engineer to join our team! As a Firmware Engineer, you will be responsible for supporting the firmware development team in designing, developing, and testing firmware for a microcontroller on our products. You will be responsible for full-stack firmware development from design to implementation to testing and documentation.

Responsibilities

  • Work closely with cross-functional teams to ensure project delivery on time.
  • Gather and analyse users’ requirements and interpret them into the design requirements.
  • Develop clean and robust firmware for our STM32-based microcontroller with STM32CubeIDE, Keil MDK, Arduino, PlatformIO, etc..
  • Develop a communication protocol over UART, WIFI, and BLE.
  • Develop a driver for multiple sensors and actuators over UART, I2C, SPI, CAN, PWM etc.
  • Implement control system into a microcontroller.
  • Perform firmware testing and validation on the product.
  • Generate and maintain firmware development documentation.
  • Read schematics, and utilise oscilloscopes and other test equipment in the development and debugging of firmware.
  • Working closely with and providing technical support to resolve issues to our customers when needed.
  • Research technical issues related to firmware and provide recommendations.
  • Participate in ad hoc software projects and assignments as required.

Requirements

  • Bachelor’s degree in Electronic/Electrical/Computer Engineering, Computer Science, Software Engineering or related fields.
  • 3+ years of experience in real-time embedded system development
  • Good understanding of wide aspects of embedded systems (microcontroller architecture, block diagrams, schematics, register maps, etc.)
  • Must process strong knowledge of C/C++, familiar with Git and bash.
  • Experienced in STM32 and/or ARM Cortex-based microcontrollers.
  • Experienced in STM32CubeIDE, Keil MDK, Arduino, PlatformIO
  • Experienced in implementation of PID controller, motor control, control theory.
  • Strong knowledge of hardware communication protocols such as UART, I2C, SPI, and CAN.
  • Possess clean, highly readable, and modular coding practices.
  • Experience with debugging tools such as oscilloscope and logic analyser.
  • Excellent teamwork skills, flexibility, and ability to multitask.

Preferred qualifications/ competencies

  • Knowledge of Python
  • Experience with FreeRTOS
  • Experience with PX4 and Ardupilot
  • Experience with OTA update design
  • Experience in implementing communication protocols over UART, WIFI (TCP), and BLE.
  • Experience with advanced robotics control and filtering (Kalman Filtering and PID)
  • Experience with debugging and interacting with electrical and mechanical hardware.
  • Experience with computer vision, machine learning, and deep learning.

Firmware Engineer (Embedded System)

Job Description

We are seeking for a motivated and experienced Firmware Engineer to join our team! As a Firmware Engineer, you will be responsible for supporting the firmware development team in designing, developing, and testing firmware for a microcontroller on our products. You will be responsible for full-stack firmware development from design to implementation to testing and documentation.

Responsibilities

  • Work closely with cross-functional teams to ensure project delivery on time.
  • Gather and analyse users’ requirements and interpret them into the design requirements.
  • Develop clean and robust firmware for our STM32-based microcontroller with STM32CubeIDE, Keil MDK, Arduino, PlatformIO, etc..
  • Develop a communication protocol over UART, WIFI, and BLE.
  • Develop a driver for multiple sensors and actuators over UART, I2C, SPI, CAN, PWM etc.
  • Implement control system into a microcontroller.
  • Perform firmware testing and validation on the product.
  • Generate and maintain firmware development documentation.
  • Read schematics, and utilise oscilloscopes and other test equipment in the development and debugging of firmware.
  • Working closely with and providing technical support to resolve issues to our customers when needed.
  • Research technical issues related to firmware and provide recommendations.
  • Participate in ad hoc software projects and assignments as required.

Requirements

  • Bachelor’s degree in Electronic/Electrical/Computer Engineering, Computer Science, Software Engineering or related fields.
  • 3+ years of experience in real-time embedded system development
  • Good understanding of wide aspects of embedded systems (microcontroller architecture, block diagrams, schematics, register maps, etc.)
  • Must process strong knowledge of C/C++, familiar with Git and bash.
  • Experienced in STM32 and/or ARM Cortex-based microcontrollers.
  • Experienced in STM32CubeIDE, Keil MDK, Arduino, PlatformIO
  • Experienced in implementation of PID controller, motor control, control theory.
  • Strong knowledge of hardware communication protocols such as UART, I2C, SPI, and CAN.
  • Possess clean, highly readable, and modular coding practices.
  • Experience with debugging tools such as oscilloscope and logic analyser.
  • Excellent teamwork skills, flexibility, and ability to multitask.

Preferred qualifications/ competencies

  • Knowledge of Python
  • Experience with FreeRTOS
  • Experience with PX4 and Ardupilot
  • Experience with OTA update design
  • Experience in implementing communication protocols over UART, WIFI (TCP), and BLE.
  • Experience with advanced robotics control and filtering (Kalman Filtering and PID)
  • Experience with debugging and interacting with electrical and mechanical hardware.
  • Experience with computer vision, machine learning, and deep learning.