Firmware Engineer

Cohu•San Diego, CA
•$115,000 - $135,000

About The Position

This role is responsible for leading the development and support of all firmware within the Electrical Engineering group, aiming to become the firmware owner within approximately six months. The position acts as a technical bridge between sales, customers, and engineering, providing pre- and post-sales support and training customers on interfacing with the company's equipment. A key responsibility includes implementing firmware changes on legacy products still in production, which may involve analyzing older designs with limited documentation. The engineer will also support the development of new electronic boards, from pin definition through firmware delivery.

Requirements

  • Bachelor's degree in electrical engineering, computer engineering, or a related field.
  • Minimum of 8 years of experience in firmware development and application support for complex electromechanical systems / control systems.
  • Strong proficiency in C and C++, including Windows application development.
  • Experience with bare metal firmware on STM32 or similar ARM Cortex M microcontrollers.
  • Understanding of microcontroller architecture and digital circuit design.
  • Experience bringing up boards from schematics.
  • Experience with communication protocols such as UART, SPI, I2C, CAN, and Ethernet.
  • Experience in bootloader development and Git.
  • Willingness to travel as required for projects and customer support.
  • Excellent English communication skills.

Nice To Haves

  • MS degree desired.
  • EtherCAT experience is a plus.
  • FPGA experience is a plus.
  • Experience with motion control and/or control systems.
  • Thermal systems experience is a plus.
  • German and/or French language skills are a plus.

Responsibilities

  • Develop bare metal C/C++ firmware for STM32H7 microcontrollers, including pin assignment, board bring up with hardware engineers, peripheral drivers, and debugging using tools like JTAG, oscilloscopes, and logic analyzers.
  • Develop and improve advanced PC-based C++ graphical user interfaces that support multiple communication interfaces (Ethernet, CAN, serial), command and scripting operation, and real-time graphing.
  • Create and maintain documentation, including initial design requirements, firmware architecture and design documents, interface specifications (command sets and protocols), test plans and results, release notes, and customer interface guides.
  • Write clean, well-structured, well-commented code managed in Git with full traceability of changes to requirements and releases.

Benefits

  • Medical, dental & vision insurance
  • 401(k) with company matching contributions
  • Employee Stock Purchase Plan
  • Tuition assistance
  • Disability & life insurance
  • Profit Sharing
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service