About the project
We're building a small, safety-critical kinetic munition delivered by an FPV-class airframe. The compute side is an electro mechanical safe and arm device (EMSAD).
The current codebase is Rust-on-Embassy, but we're language-agnostic on the role — strong C, C++, or Rust embedded engineers are equally welcome.
What you'll do
Own firmware end-to-end: drivers, state machine, communication protocols, command surface, bring-up, qualification, OTA / programming flow.
Build the host-testable simulation surface. The state machine should be testable on a laptop without flashing a board — and stay that way.
Work shoulder-to-shoulder with the HW engineer on bring-up, register-map ergonomics, and timing.
Carry the firmware through environmental qualification (thermal, EMC, vibration).
Define and enforce the firmware-side safety case.
Required
5+ years of professional embedded firmware on ARM Cortex-M (or comparable) — in C, C++, or Rust.
Deep comfort with interrupts, DMA, clocks, timers, low-power modes, linker scripts, memory maps.
Strong with I²C, SPI, UART, USB CDC and debugging using scope / logic analyzer.
Experience building state machines for real-world hardware.
Discipline around testability and host testing.
Working English, written and verbal.
Nice to have
Rust embedded experience — Embassy, embedded-hal, defmt, probe-rs, RTIC, no_std ecosystem.
Modern C++ embedded (C++17/20 in firmware).
Async firmware experience (Embassy, Zephyr, FreeRTOS).
Safety-critical firmware background: ISO 26262, DO-178C, IEC 61508, etc.
Bootloader / DFU / secure-boot work.
FPV / small-UAV firmware: Betaflight, MAVLink, INAV.
C FFI / SDK bindings.
How we work
Small team, weekly hardware iterations, real boards on every desk. We expect concise, testable, safety-focused firmware development.
Required
5+ years of professional embedded firmware on ARM Cortex-M (or comparable) — in C, C++, or Rust.
Deep comfort with interrupts, DMA, clocks, timers, low-power modes, linker scripts, memory maps.
Strong with I²C, SPI, UART, USB CDC and debugging using scope / logic analyzer.
Experience building state machines for real-world hardware.
Discipline around testability and host testing.
Nice to have
Rust embedded experience — Embassy, embedded-hal, defmt, probe-rs, RTIC, no_std ecosystem.
Modern C++ embedded (C++17/20 in firmware).
Async firmware experience (Embassy, Zephyr, FreeRTOS).
Safety-critical firmware background: ISO 26262, DO-178C, IEC 61508, etc.
Bootloader / DFU / secure-boot work.
FPV / small-UAV firmware: Betaflight, MAVLink, INAV.
C FFI / SDK bindings.
Skills: ARM Cortex-M (or comparable) — in C, C++, or Rust., Experience building state machines for real-world hardware.