Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Aerospace Programming language for satellites?

  1. Oct 28, 2012 #1

    What programming languages are used in the majority of satellites? I was thinking it would be C,C++, and Ada because these languages are close to the processor. I'm sure ASM is also used too.
    Am I correct? I don't think any satellite uses Java but I could be wrong.
  2. jcsd
  3. Oct 28, 2012 #2

    D H

    User Avatar
    Staff Emeritus
    Science Advisor

    Ada was developed precisely for applications such as this, but it never quite took hold. The biggest problems are lack of good Ada programmers and lack of good support tools. The language of choice nowadays is C++, sans some keywords that are either verboten or whose usage is very restricted (register, volatile, mutable, new, delete, catch, and throw). Closeness to the processor is not a factor. Neither Ada nor C++ is a close to the metal language. The primary reason for choosing Ada and C++ is safety. C isn't used all that much because C is not type safe. It's not a safe language, period. The burden of safety lies solely with the programmer rather than being built in to the language.

    Under the hood, the RTOS may well have good amounts of C and assembly in it. But I don't think you're asking about the RTOS. You're asking about the software used to operate and control the spacecraft.
  4. Nov 1, 2012 #3
    Although C/C++ are usually used for RTOS but the development (at least the type of dev that a non-software engineer likes) for these systems is done in MATLAB/Simulink. MATLAB has tools for computing euler angles and quaternion math easily which is used extensively in spacecraft simulation and GNC design.

    Most Aero's are more interested in the physics than the details of the language, which is why MATLAB/Simulink are preferred over C. They do generate C/C++ code for the processors used on board.
  5. Nov 1, 2012 #4


    User Avatar

    I actually designed a satellite as part of a team for my design project. We used STK software. I am not sure what language it had under the hood though.

    If you mean the actual language inside the satellite well I have no idea. It would be whatever is the simplest and least complicated. There are also strict guidelines (due to the orbit mechanics) on how much data can actually be sent to the satellite and what ground-stations actually receive. I remember X band was touted a lot and some other band which I forgot.
  6. Nov 1, 2012 #5
    Thanks for the responses!

    What programming language is used for the Pumpkin Cubesat kit?
    Is it C programming language? I believe that's what the Salvo RTOS is programmed in.
  7. Nov 7, 2012 #6
    Yes, it's C. More info here.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook