Terrestrial X Inc. logo

Embedded - Flight Software Engineer (UAV)

Terrestrial X Inc.

On-site🇨🇦Edmonton, AB, CanadamidPosted 5h ago

Job description

About the opportunity

Terrestrial X is building an DefTech R&D team in Edmonton.

We are looking for a hands-on specialist who combines embedded software development with practical electronics and avionics integration

.

You should be comfortable writing firmware, reading schematics, assembling electrical connections, using laboratory instruments, and investigating why a device is not behaving as expected.

Working alongside mechanical and manufacturing colleagues, you will help turn individual electronic components into integrated, tested systems—and prepare the software and documentation needed to reproduce them.

We want to build real things, not just talk about ideas.

What you will do

  • Configure, tune and extend ArduPilot or PX4 on Cube/Pixhawk hardware; own flight modes, failsafe logic and parameter sets

  • Write firmware in C/C++ (STM32/ESP32, RTOS) for on-board peripherals: engine/ECU interface, power telemetry, payload controllers, sensors

  • Integrate radio links (ELRS, RFD900, Herelink, satellite), GNSS and a Linux companion computer over MAVLink

  • Run SITL and HIL before every flight, analyse flight logs after, and turn findings into fixes

  • Keep firmware, configurations, test protocols and interface documentation in Git with CI

What you bring

Required skills and experience

  • Strong embedded C/C++ experience

    , typically four or more years, on STM32, ESP32, or comparable platforms. You have worked with an RTOS such as FreeRTOS, ChibiOS, or NuttX and can explain the systems you personally delivered.

  • Hands-on ArduPilot or PX4 experience.

    You have configured and tuned an aircraft, worked with simulation, and used flight logs to diagnose problems. We want to hear about a specific issue you investigated and how you verified the solution.

  • Practical communication-interface knowledge.

    You are comfortable working with UART, I²C, SPI, CAN/DroneCAN, and MAVLink, and can investigate problems across software and electrical interfaces.

  • Real hardware debugging skills.

    You read schematics, use an oscilloscope and logic analyser, and are comfortable soldering, checking connections, and spending part of your day in a workshop.

  • Software development discipline.

    You use Git, code review, repeatable builds, and testing. You document configurations and decisions so another person can reproduce and maintain your work.

  • Ownership and sound judgement.

    You investigate failures methodically, communicate uncertainty, and know when a change needs further testing or specialist review.

A degree or diploma in computer engineering, electrical engineering, computer science, or a related discipline is welcome. Equivalent demonstrated practical experience will also be considered.

The experience guideline is not an automatic cutoff. Candidates with fewer professional years but substantial hands-on embedded and UAV experience are encouraged to apply.

Applicants must be legally authorised to work in Canada and able to meet any access requirements applicable to their assigned defence-related projects.

Experience that would be a strong advantage

  • Contributions to ArduPilot, PX4, or other open-source autopilot projects.

  • Embedded Linux, ROS 2, and companion-computer development on platforms such as NVIDIA Jetson or Raspberry Pi.

  • Computer vision, navigation software, or GNSS-denied navigation experience.

  • Fixed-wing, FPV, or long-range UAV experience, including flight testing and field troubleshooting.

  • Experience with turbine or internal-combustion engine control systems and ECU interfaces.

  • Integration of communication systems such as ELRS, RFD900, Herelink, or satellite links.

You do not need to be an expert in every listed platform.

Strong embedded fundamentals, practical autopilot experience, and the ability to diagnose problems on real hardware are the priorities.

How we work

This role combines software development with hands-on integration and testing.

You will help make decisions about software architecture, component interfaces, and testing, then see those decisions reflected in physical aircraft. We value using proven components where appropriate, keeping systems understandable, and improving designs based on evidence.

We will provide the agreed development tools, hardware, laboratory equipment, workshop access, and technical support needed for your work.

The position is on-site in Edmonton

. Start date, relocation needs, compensation, and the final employment package will be discussed individually.