Internship / Job

Flight Software Developer

Company
Estonian Student Satellite
Position address
Tartu / Tallinn / remote
Required languages
English

Details about the role

We are seeking a developer to join our team and contribute to the design and maintenance of software and framework for the Command and Data Handling System (CDHS) utilised in our CubeSat Command Module. The role is voluntary and unpaid, remote work is possible.

The Flight Software is the code running on the real-time controller unit of the CDHS and it will be responsible for the communication with different types of sensors and controlling actuators. For example, running the spacecraft thrusters for a certain amount of time for orbital manoeuvres or responding instantly to critical events, such as sudden changes in the environment or system malfunctions.

This role involves designing software for communicating with various types of sensors and actuators that require precise timing to function properly.

Expectations for the candidate

We are looking for you, if you:
- Have minimal knowledge with C/C++ and Python
- Have some knowledge of Git, Jira, Linux
- Are motivated to learn new technologies and willing to research topics related to them
- Be able to work around 8 hours a week and be present on the weekly meeting(s)

You do not need extensive prior experience to apply. We primarily look for candidates who demonstrate curiosity, responsibility, and a willingness to learn, experiment, and collaborate in a student team environment.

Opportunities

Your responsibilities will include:
- Develop and maintain software for the CDHS real-time processing unit, which operates on a real-time operating system specifically designed for embedded systems,
- Create low level tests (unit tests) to ensure the fits the requirements,
- Work with microcontrollers, such as STM32, SAM V, and Cortex-R5, interfacing with various memory modules, sensors, and actuators connected to other spacecraft subsystems,
- Write documentation about the developed software,
- Be responsible for delivering a high-performance and fault-tolerant CDHS that enables real-time operations for our CubeSat future satellite platforms.

Keywords: C/C++, Python, AMD Zynq, Git, SPI, I2C, CAN, LVDS, USB, Linux, U-Boot, MCUBoot, Zephyr Project, FreeRTOS

Applying for a job

One can apply until a suitable candidate is found or until the end of the application period.

Application period
06.05.2026 - 31.07.2026