Firmware Development Engineer VIAVI Solutions Ottawa, Canada c,cpp,linux,freertos,arm,dsp,fpga,verilog,i2c,spi,uart,usb,iot,senior,enterprise,onsite,canada 86929 161439
VIAVI Solutions

Firmware Development Engineer

Location Node Ottawa, Canada (onsite)
Base Compensation CAD 86k–161k
Commitment full-time
Clearance Req none
c cpp linux freertos arm dsp fpga verilog i2c spi uart usb iot senior enterprise onsite canada

Overview

VIAVI is seeking a Firmware Development Engineer to develop and maintain embedded firmware for modular optical test and measurement cassettes, working across the full hardware-software stack from microcontroller and DSP firmware to ARM Linux applications and FPGA interfaces.

Responsibilities

  • Develop and maintain firmware for ARM-based cassettes (embedded Linux, C/C++) and DSP-based cassettes (uClinux, C/C++)
  • Implement SCPI command protocol handlers for instrument control and data acquisition
  • Develop multi-threaded real-time signal processing pipelines using FFT, DSP, and SIMD optimizations
  • Interface with optical hardware components via I2C, SPI, UART, and USB
  • Interface cassette firmware with FPGA co-processors via memory-mapped registers
  • Maintain and enhance the MAP platform PCIe bridge FPGA (Verilog)
  • Debug FPGA register-level interactions and timing across SPI and PCIe domains
  • Develop firmware for bridge board microcontrollers (C) for FPGA programming and power sequencing
  • Contribute to Linux kernel and device tree customization
  • Debug hardware-software integration issues including I2C bus contention, IRQ handling, and power management
  • Work closely with hardware engineers on board bring-up, schematic review, and signal integrity debugging

Requirements

  • BS or MS in Electrical Engineering, Computer Engineering, or related field
  • 7+ years of embedded firmware development experience
  • Strong proficiency in C and C++ for embedded systems (bare-metal and Linux)
  • Hands-on experience with ARM and DSP processor architectures
  • Experience with FPGA interfacing (register-level, SPI/I2C/memory-mapped I/O)
  • Solid understanding of serial communication protocols: I2C, SPI, UART, USB
  • Experience with embedded Linux (kernel configuration, device trees, cross-compilation, driver development)
  • Proficiency with debugging tools: JTAG, oscilloscopes, logic analyzers, serial consoles
  • Familiarity with Git version control and CI/CD build systems

Preferred

  • Experience with DSP platforms and real-time signal processing (FFT, filtering, spectral analysis)
  • Experience with Xilinx Zynq or similar ARM+FPGA SoC development
  • Knowledge of SCPI protocol and test and measurement instrument firmware
  • Experience with PCIe protocol and bridge design
  • Knowledge of RTOS concepts (FreeRTOS, uClinux)
  • Experience with Buildroot or Yocto
  • Experience with AI-augmented development tools and workflows

Sourced from the employer’s career site. Verify before applying.

Variables & Compensation

  • Paid time off
  • Health insurance
  • Life and disability insurance
  • 401(k)
  • Bonus program

Trademark Disclaimer: Unless explicitly designated as a direct or sponsored listing, EmbeddedDOESHire is not affiliated with, endorsed by, or associated with VIAVI Solutions. All company logos, trademarks, and brand parameters are the property of their respective owners and are utilized here solely for indexical and identification purposes.

Compensation Disclaimer: Unless this specification was directly verified and posted by the employer, we cannot guarantee the accuracy of the listed salary parameters. These figures are compiled from public market records and may deviate from actual offered compensation. Final salaries are determined dynamically by the hiring entity based on candidate evaluation, location, and final contract execution.

Content Disclaimer: This listing is sourced from the employer's public career site. Job details — including responsibilities, qualifications, and compensation — may change. Verify with the employer before applying.