Salvo Software is a modern, engineering-driven technology company specializing in high-performance embedded systems, firmware development, and intelligent automation solutions. Our teams build robust, scalable software and hardware integrations for real-world applications—focusing on reliability, innovation, and precision. We move fast, solve complex challenges, and work collaboratively to deliver engineering excellence.
Role Overview & Responsibilities
We are looking for an Embedded Systems / Firmware Engineer to enhance, optimize, and maintain critical device-level drivers and configuration utilities within our flight-control and sensor-integration stack. This role works closely with firmware, hardware, and systems engineering teams to ensure stable, high-performance device communication and seamless configuration on startup and at runtime.
Key Responsibilities:
- Investigate and resolve I2C Lidar light driver issues, including root-cause analysis of system hangs.
- Improve the VN200 sensor driver to ensure full communication capabilities, including parameter configuration.
- Enhance our DroneCAN device configuration library to support value configuration at flight computer startup and dynamic adjustments during operation.
- Port the VN200 firmware update utility from the vendor SDK into our environment.
- Implement and maintain DroneCAN device firmware update capabilities using open-source tooling.
- Improve debug log file handling, including implementing log rotation and reliability optimizations.
- Collaborate with hardware and systems engineering teams to validate driver behavior and performance.
- Conduct device-level testing, troubleshooting, and protocol analysis to ensure system stability.
- Document driver behavior, APIs, configuration procedures, and update workflows.
Requirements
- 5+ years of experience in embedded systems, firmware, or low-level driver development.
- Strong proficiency in C/C++ for embedded environments.
- Proven experience debugging I2C, UART, SPI, and CAN-based devices.
- Hands-on experience with sensor drivers, configuration utilities, and low-level hardware communication.
- Experience with firmware update mechanisms and integrating vendor SDK utilities.
- Strong understanding of real-time constraints and device-level performance optimization.
- Familiarity with DroneCAN, UAVCAN, or similar CAN-based protocols.
- Ability to conduct protocol-level debugging and analyze logs.
- Experience working with Linux-based development environments.
Nice-to-Have
- Experience with VN200 or similar IMU/GNSS sensor drivers.
- Background working with flight controllers, drones, robotics, or autonomous systems.
- Experience implementing or modifying open-source firmware utilities.
- Knowledge of log rotation mechanisms and advanced debug logging frameworks.
- Familiarity with RTOS environments.
- Python or scripting experience for test automation.
