Detailed Design and Analysis > Flight Software >

Development

Scope and Description

This topic covers development of smallsat flight software. This includes testing of all software running on the flight computer and responsible for command and data handling (C&DH) for the entire spacecraft - from the operating system to the application layer. Software flaws are one of the most common sources of on-orbit failure in small satellites. Therefore, development of robust and reliable flight software is an essential component of any smallsat development effort.

Resources in this topic area are primarily real-time operating systems and associated frameworks for developing flight software, tools for version control, and tools for management of development processes.

Best Practices and Lessons Learned

Last Updated:

Nov. 1, 2021

Build in software features and procedures to support on-orbit patches and software updates.

Last Updated:

Nov. 1, 2021

Develop and strictly follow good procedures for revision control, bug tracking, testing, and review of all code.

Last Updated:

Nov. 1, 2021

Strongly consider instituting Agile approach to software development.

Last Updated:

Nov. 1, 2021

In addition to the performance of the code, quality software is well commented and has good documentation/user guides to ensure survival of lost personnel.

Last Updated:

Nov. 1, 2021

Pair senior programmers with junior ones whenever possible to facilitate mentoring and transfer of institutional knowledge.

Resources

Last Updated: June 22, 2021

This article thoroughly compares six different flight software frameworks for use on the 6U cubesat VCUB1 ... developed by Visiona Space Technology S.A. A variety of mission software criteria were developed to compare these frameworks, including software code and documentation, flight heritage, size, and quality. Smallsat teams can use this article to compare flight software frameworks to find the best solution for their specific needs.

This journal article discusses the utility of designing reuseable flight-control software to mitigate ... risk of failure. It provides an overview of a specific educational CubeSat mission presents a design approach to developing cost-effective and reliable flight software.

Last Updated: June 22, 2021

This article presents an overview of the F Prime (F') open-source software framework and its specific ... use-case for small-scale flight systems. F' is used for rapid development and deployment of embedded systems and spaceflight applications. This article discusses the F' architecture and how it is used to develop flight software for low-cost smallsat missions.