Описание
Our avionics lab in Seattle builds the brains inside autonomous unmanned aircraft, and we need a firmware engineer who can write reliable, deterministic code that keeps a drone stable when GPS is jammed and the wind is gusting at 40 knots.
The work:
* Writing and optimizing bare-metal C and C++ for ARM Cortex-M4/M7 microcontrollers (STM32H7, STM32F4, ESP32-S3) that serve as the primary flight computer.
* Developing low-level peripheral drivers over I2C, SPI, UART, and CAN bus for inertial measurement units (ICM-42688, BMI088), barometric pressure sensors (MS5611), magnetometers, and u-blox GNSS receivers.
* Implementing and tuning cascaded PID controllers for attitude stabilization, position hold, and waypoint navigation; designing fallback logic for GPS-denied environments using optical flow and visual odometry.
* Integrating telemetry downlinks (MAVLink over SiK radios), video transmission triggers, ESC PWM/DShot protocols, and failsafe behaviors (return-to-launch, geofence breach, battery voltage monitoring).
* Running software-in-the-loop (SITL) simulations in Gazebo and hardware-in-the-loop (HITL) tests on our bench rigs before any code touches a real airframe.
You should have:
* A degree in Computer Engineering, Electrical Engineering, or a related field.
* Strong Embedded C/C++ skills and a deep understanding of interrupt handling, DMA, and real-time scheduling.
* Experience with FreeRTOS or bare-metal firmware architectures, including watchdog timers and memory-safe coding practices.
* Working knowledge of control theory — transfer functions, state estimation (Kalman filters), and system identification.
We pay $125,000 USD annually with equity participation after 12 months. This is a full-time, on-site role in our Seattle lab where you will have access to oscilloscopes, logic analyzers, environmental chambers, and a rooftop flight test cage. The code you ship here flies in the real world.