Jobs · Rhode Island

Embedded Firmware Engineer

Cubit Capital · Newport, RI · Yesterday
Full-time

About the role

The Embedded Firmware Engineer (Mid-Level) position at Vatn Systems is aimed at a proactive engineer who enjoys working close to the hardware/software boundary. This role involves designing, building, and maintaining firmware for AUVs, developing system-level software, and collaborating with other engineers to ensure robust embedded solutions.

Responsibilities

  • Design, build, and maintain efficient, reliable firmware in C and C++ for embedded microcontrollers (bare-metal and RTOS).
  • Develop system-level software and services in Go, C, and C++ on embedded Linux boards.
  • Bring up new hardware: board bring-up, bootloaders, device drivers, and board support packages.
  • Implement and debug communication between subsystems over interfaces such as UART, SPI, I2C, CAN, and Ethernet.
  • Integrate sensors, actuators, and peripherals, and implement real-time control and telemetry paths.
  • Optimize firmware for performance, memory footprint, and power.
  • Collaborate with electrical, mechanical, and autonomy engineers to translate system requirements into robust embedded solutions.
  • Write and maintain unit and integration tests, and support hardware-in-the-loop testing.
  • Participate in code reviews, providing and receiving constructive feedback to improve our engineering practices.
  • Troubleshoot, debug, and upgrade existing firmware, including on-vehicle and field debugging.

Requirements

  • Required Qualifications:
    • Degree in Electrical Engineering, Computer Engineering, Computer Science, or a related technical field (or equivalent practical experience).
    • 3–5 years of professional embedded software/firmware development experience.
    • Strong proficiency in C and C++ for embedded microcontrollers (bare-metal and/or RTOS).
    • Hands-on experience developing firmware for STM32 microcontrollers (e.g., STM32CubeMX/HAL, LL drivers, or bare-metal register-level programming).
    • Experience developing on embedded Linux platforms.
    • Solid understanding of hardware/software integration: reading schematics and datasheets, and debugging with oscilloscopes, logic analyzers, and JTAG/SWD.
    • Experience with embedded communication protocols (e.g., UART, SPI, I2C, CAN, Ethernet).
    • Familiarity with real-time constraints, interrupts, DMA, and low-level memory management.
    • Experience writing firmware for power-constrained and/or resource-limited systems (battery power budgets, tight memory/timing footprints).
    • Proficiency with version control systems, specifically Git.
    • Excellent problem-solving skills and the ability to work effectively in a team environment.
    • United States Citizen or Permanent Resident.
    • Able to gain a security clearance.
  • Nice-to-Haves:
    • Experience with cross-compilation, build systems (e.g., CMake, Make, Yocto/Buildroot), and toolchains for embedded targets.
    • Experience developing with Go.
    • Experience with serialization protocols like Protobufs, DDS, etc.
    • Familiarity with robotics middleware or modern robotics frameworks (e.g., ROS 2).
    • Experience with CI/CD pipelines for embedded software and automated hardware testing.
    • Knowledge of containerization and deployment on edge devices.
    • Experience with maritime sensors, underwater acoustics, or subsea systems.
    • Familiarity with functional safety or safety-critical software development practices.

Qualifications

  • Required Qualifications:
    • Education and Experience:
      • Electrical Engineering, Computer Engineering, Computer Science, or related field degree (or equivalent practical experience).
      • 3-5 years of professional embedded software/firmware development experience.
    • Technical Skills:
      • Proficiency in C and C++ for embedded microcontrollers (bare-metal and/or RTOS).
      • STM32 microcontroller experience (e.g., STM32CubeMX/HAL, LL drivers, or bare-metal register-level programming).
      • Embedded Linux platform experience.
      • Hardware/software integration skills (reading schematics, datasheets, debugging with oscilloscopes, logic analyzers, JTAG/SWD).
      • Embedded communication protocols (UART, SPI, I2C, CAN, Ethernet).
      • Real-time constraints, interrupts, DMA, and low-level memory management.
      • Firmware optimization for power-constrained and resource-limited systems.
      • Version control proficiency (Git).
    • Soft Skills:
      • Problem-solving skills.
      • Teamwork and collaboration.
    • Other:
      • US Citizenship or Permanent Resident status.
      • Ability to obtain a security clearance.

    Skills

    • C and C++ for embedded microcontrollers (bare-metal and/or RTOS).
    • STM32 microcontroller experience (e.g., STM32CubeMX/HAL, LL drivers, or bare-metal register-level programming).
    • Embedded Linux platform experience.
    • Hardware/software integration skills (reading schematics, datasheets, debugging with oscilloscopes, logic analyzers, JTAG/SWD).
    • Embedded communication protocols (UART, SPI, I2C, CAN, Ethernet).
    • Real-time constraints, interrupts, DMA, and low-level memory management.
    • Firmware optimization for power-constrained and resource-limited systems.
    • Version control proficiency (Git).
    • Problem-solving skills.
    • Teamwork and collaboration.

    Benefits

    Vatn Systems offers a competitive benefits package that includes:

    • Health insurance coverage.
    • Paid time off.
    • Professional development opportunities.
    • Flexible work arrangements.
    • Employee recognition programs.

    Pay

    The salary range for this position is $80,000 - $120,000 annually, depending on experience and qualifications.

    Schedule

    This is a full-time (Onsite) position based in Bristol, RI.

Similar jobs