Embedded Software Engineer
Sine Engineering, Bozeman, MT
What you will do
- Design and develop embedded software and firmware for high-performance, real-time systems using microcontrollers and embedded Linux SoMs.
- Implement new functionality and enhance existing software supporting unmanned systems control, telemetry, video, communications, and navigation.
- Develop and maintain low-level drivers, hardware abstraction layers (HALs), board support packages (BSPs), and interfaces for sensors, radios, payloads, and other peripherals.
- Integrate embedded software with hardware and third-party systems, including flight controllers, payloads, sensors, SDKs, and APIs.
- Develop and maintain communication interfaces and protocols using SPI, I2C, UART, CAN, USB, Ethernet, and IP-based networking.
- Optimize software for latency, processor utilization, memory usage, power consumption, reliability, and real-time performance.
- Develop and execute unit, integration, bench, and system-level tests; analyze logs and telemetry to validate performance and identify defects.
- Troubleshoot complex issues across embedded software, firmware, hardware, and system interactions, and perform root-cause analysis.