Postprint version. Published in Proceedings of the 2011 IEEE International Conference on Space Mission Challenges for Information Technology (SMC-IT 2011), August 2, 2011, pages 69-76.
Copyright © 2011 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
The definitive version is available at http://dx.doi.org/10.1109/SMC-IT.2011.13.
The CubeSat platform provides a unique challenge for flight software design due to the incredible size and power constraints. A number of tradeoffs must be made to balance effectiveness, fault tolerance, and cost. These basic requirements have been combined with the lessons learned from Cal Poly’s past 8-bit avionics system to design a significant revision based around a 32-bit microprocessor running Linux. This work analyzes both generations of avionics design, including a discussion of major design principles that are relevant to other CubeSat missions.