iRobot logo

iRobot

Senior Embedded Software Engineer

iRobot

📍 Shanghai, China 🇨🇳

full-time
senior
Posted —
Key Skills
C++ STM32 I2C FreeRTOS MATLAB
Industry
Robotics Consumer Electronics

Job Description

Introduction

Qualifications

  • Proficient in C/C++ programming and able to write simple Python scripts for testing.
  • Familiar with basic hardware principles, able to read schematics, and possess circuit debugging skills.
  • Familiar with STM32, GD32, HC32, and other microcontroller programming development and communication protocol development, as well as peripheral debugging, such as I2C, UART, USB, SPI, and other buses.
  • Proficient in the development of common sensor functional modules for robots, such as downward vision, collision detection, infrared, edge detection, ultrasonic sensors, IMU, OTA, etc.
  • Familiar with operating systems such as FreeRTOS, μC/OS, and RT-Thread, with practical experience and ability in software architecture design.
  • Familiar with DC brushed/brushless motors, closed-loop stepper motor control algorithms, and proficient in using MATLAB/Simulink for simulation, with expertise in utilizing simulation for motor and sensor algorithm control strategies.
  • Excellent English reading and writing skills; fluent English speakers preferred.
  • Bachelor's degree or higher in Automation, Computer Science, Electronics, or related fields. Candidates with over 3 years of experience in industries such as robotic vacuum cleaners, lawn mowing robots, or commercial robots are preferred.

Job Responsibilities

  • Responsible for writing MCU programs for the base of the robot vacuum cleaner and the charging station.
  • Develop upper computer software for production testing and resolve issues discovered during product testing and production, and optimize and improve the software.
  • Perform module testing or redevelopment of your own or others' code.
  • Coordinate with other modules and related work.