Company banner

Embedded Firmware Engineer

Job Description

Posted on: 

Embedded Firmware Engineer (Mid-Level)

Company: Vatn Systems 
Location: Bristol, RI 
Type: Full-time (Onsite)

About Vatn Systems

Vatn Systems is an innovative startup at the forefront of designing and manufacturing autonomous underwater vehicles (AUVs). Our mission is to revolutionize underwater security, exploration, research, and operations through cutting-edge technology and unparalleled engineering. Our AUVs are defining the next generation of underwater autonomy.

The Role

We are looking for a talented and motivated Embedded Firmware Engineer to join our growing team. In this role, you will design, develop, and maintain the bare-metal and RTOS firmware that runs our AUVs on embedded microcontrollers. You'll write C and C++ close to the metal, bring up new hardware, and own the low-level software that keeps our vehicles running reliably in demanding maritime conditions. The ideal candidate is a proactive engineer who enjoys working close to the metal and thrives at the hardware/software boundary.

What You'll Do

  • Design, build, and maintain efficient, reliable firmware in C and C++ for embedded microcontrollers (bare-metal and RTOS)
  • 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

What You'll Need

Required Qualifications:

  • Degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related technical field
  • 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)
  • 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
  • Ability to gain a security clearance

Nice-to-Haves:

  • Experience with cross-compilation, build systems (e.g., CMake, Make), and toolchains for embedded targets
  • Experience with the Rust programming language
  • Experience with the Nix ecosystem (Nix/NixOS, reproducible builds)
  • Experience with digital signal processing (e.g., filtering, FFTs, sensor data conditioning)
  • 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
  • Experience with maritime sensors, underwater acoustics, or subsea systems
  • Familiarity with functional safety or safety-critical software development practices

Ready to build the future with us? Apply today!

Apply now