Avionics Firmware Engineer
Core Responsibilities
Develop bare-metal firmware in C/C++ for real-time, resource-constrained microcontrollers (interrupt-driven, deterministic execution).
Build and maintain low-level drivers and board support for peripherals and protocols: UART, SPI, I²C, PWM, timers, ADC, DMA, and GPIO/EXTI—designed for non-blocking, low-latency operation.
Integrate multi-modal sensing: IMUs, pressure sensors, GNSS receivers, magnetometers, range/altitude sensors, actuator feedback, and custom board peripherals (bring-up through production).
Own system-level debugging across firmware + hardware: root-cause issues spanning power sequencing, brownouts, clocking, reset behaviour, signal integrity, EMI/noise coupling, grounding, sensor bus faults, and component-level failures.
Implement performance and reliability features: watchdog strategy, fault handling, telemetry/diagnostics hooks, timing instrumentation, memory/stack analysis, CPU load measurement, and latency profiling.
Build robust embedded test workflows:
Unit tests for drivers and logic (with mocks/stubs where needed)
Bench validation using oscilloscope, logic analyzer, DMM, programmable PSU, signal generator
HIL/bench rigs to validate firmware behavior under real sensor/actuator conditions
Own the build and release pipeline: Makefiles/CMake, linker scripts, build reproducibility, versioning, and CI-friendly workflows.
Collaborate tightly with electronics/mechanical teams to ensure interfaces, timing, and physical constraints are baked into firmware design from day one.
Required Qualifications
- Experience on ARM Cortex-M class MCUs (or similar), including interrupt architecture, NVIC, DMA, and low-power modes.
- Real-time design patterns: state machines, ring buffers, lock-free queues, ISR/foreground partitioning, timing budgets.
- Familiarity with HALs (and knowing when not to use them), plus clean driver abstractions.
- Boot and reliability topics: bootloaders/firmware update flows, reset-safe design, crash logging, error codes, and fault containment.
- Exposure to sensor time-alignment, timestamping, calibration handling, and data-quality monitoring.