Company banner

Embedded Software Engineer (Image Processing Algorithms)

Job Description

Posted on: 

As an Embedded Software Engineer for Image Processing Algorithms at Impulse, your primary responsibility will be to design, implement, validate, and maintain onboard image processing software for spacecraft systems. You will work at the intersection of embedded software, imaging sensors, numerical algorithms, estimation, and guidance, navigation, and control systems. You will collaborate closely with avionics, flight software, GNC, test, and mission operations teams to deliver reliable image processing software capable of operating on microcontroller-class hardware in demanding space environments. 

Responsibilities

  • Develop onboard computer vision algorithms for image preprocessing, thresholding, filtering, centroiding, feature extraction, target detection, target tracking, optical navigation, star detection, and attitude or pose estimation support. 
  • Support image conditioning techniques such as calibration, distortion correction, dark-frame correction, thresholding, exposure control, filtering, and image normalization. 
  • Work with GNC, flight software, and mission teams to define algorithm performance requirements, including accuracy, latency, update rate, robustness, fault tolerance, and compute/resource constraints. 
  • Develop test tools, simulation environments, and analysis scripts to evaluate algorithm performance using synthetic imagery, lab imagery, ground test data, and flight-like datasets. 
  • Debug and tune vision software during sensor bring-up, ground testing, environmental testing, and in-flight operations. 
  • Contribute to fault detection, robustness, and recovery logic for cases such as poor lighting, stray light, saturation, blur, dropped frames, hot pixels, occlusions, image noise, and unexpected scene content. 
  • Design algorithms and data pipelines that operate within constrained CPU, memory, storage, bandwidth, timing, and power budgets. 

Minimum Qualifications

  • Bachelor’s degree in Electrical Engineering, Computer Engineering, Computer Science, or related technical field.
  • 2+ years of experience writing C++ code for embedded systems, preferably in imaging or robotic applications. 
  • Experience implementing image processing, estimation, numerical, or signal processing algorithms. 
  • Experience with bare-metal or RTOS-based software development. 
Apply now