Skip to content

Software Engineer - Embedded Firmware

Austin, TXEmbedded EngineeringOnsite12+ YOE
Summary

Develops firmware and drivers for LiDAR, motor control, and robotics systems using FPGAs, MCUs, SystemVerilog, Python, and C++. Optimizes DSP algorithms and integrates with CAN-bus/Ethernet peripherals. Requires 12+ years experience (or 5+ with Master's) in embedded systems.

About the role

Responsibilities

  • Design and develop firmware for LiDAR systems using SystemVerilog, optimize DSP algorithms for high performance and reliability.
  • Design and develop firmware for motor control on FPGAs and MCUs, provide calibration for optimal power consumption and stability.
  • Develop drivers and software for CAN-bus gateway on MCU for seamless device communication.
  • Develop drivers and software for UART, LIN, Ethernet peripheral devices and sensors for robotics systems.
  • Design, implement, and maintain software for testing stands using Python and C++ to automate testing.
  • Collaborate with cross-functional teams to integrate firmware and software into embedded systems.
  • Perform testing, debugging, and optimization using measuring equipment.
  • Provide technical support to internal teams and external partners.

Requirements

  • Bachelor's degree in Applied Mathematics, Electrical Engineering, Radio-technology or related field (Master's reduces experience requirement).
  • 12+ years software engineering experience (or 5+ years with Master's).
  • Strong programming skills in Python, C++, SystemVerilog; experience with MCUs (STM, NXP) and FPGAs (Xilinx, Intel, Lattice).
  • Proven firmware development for data processing and hardware control.
  • Knowledge of DSP concepts (FIR/IIR filters, FFT, convolution, signal reconstruction).
  • Familiarity with CAN-bus, Ethernet, SPI, I2C; driver development experience.
  • Understanding of embedded systems design, real-time OS, hardware-software co-design.
Skills
SystemVerilogPythonC++FPGAMCUSTMNXPXilinxIntel FPGALattice FPGACAN-busDSPFIR/IIR filtersFFTSPI I2C UART LIN Ethernet