Forth in Space!

Page created: 2023-02-09
Updated: 2025-06-19
Draft!
This page is a draft and may be incomplete, incorrect, or just a stub or outline. I've decided to allow myself to put draft pages on my website as an experiment. I'm hoping they will:
  • Help me address my backlog of article ideas.
  • Serve as a "living" TODO list of things to work on.
  • Be useful to myself or others in their incomplete forms.
As always, I'm happy to accept feedback on anything I publish including draft content.
title says Forth in Space and chuck is an astronaut on EVA who says May the Forth be with you.

(Image of "Astronaut Chuck" from my giant write-up of Forth)

My starting point for this page is the list compiled and maintained until 2003 by James Rash of NASA Goddard Space Flight Center. That page is no longer online, but here’s a copy on Archive.org’s Wayback Machine: https://web.archive.org/web/20090803021018/http://forth.gsfc.nasa.gov/index.html

TODO: get the specific processors and intstruments to incorporate into the chronological list of craft/systems below.

And also notes I got from several generous people via email. Additional info and/or links welcome and I’m more than happy to give credit to the finder. :-)

Specific chips often used in space applications

Special Forth machines work tirelessly off-planet.

Harris RTX2000, RTX2010

The Harris RTX 2000 (wikipedia.org) series accounts for a good portion of the use of Forth in the space industry. These processors run Forth natively.

The original Harris 2000 was launched in 1988. It is a 16-bit stack-based processor. It is a direct offspring of Chuck Moore’s own Novix processor designs from three years earlier. (Harris licensed the Novix.)

The RTX2000 and RTX2010 are SOS (Silicon on sapphire) chips with a thin layer of silicon grown on sapphire. This method is inherently resistant to radiation. You can read more about SOS (wikipedia.org).

In addition to being radiation hardened, the Harris RTX2010 features:

  • Direct execution of Forth

  • Two hardware stacks, 256 words deep

  • 8MHz clock, extremely low latency

Implementors of RTX2010-based space applications include: Baja Technology; Forth, Inc; Ball Aerospace (Yup, the same Ball that makes bottles and cans, although it appears that the license their name and logo to Rubbermaid for the iconic line of Ball mason jars for home canning).

A ton of space systems have used these processors. I’ll note the model number as I figure it out.

Specific Spacecraft and Missions

These are listed in chronological order by launch date.

1962, USAF Defense Meteorological Satellite Program

1970s-1980s, "EOS" Earth Observing System

1979, MAGSAT Magnetic field Satellite

1980, "LONARS" US Navy High precision navigation receiver using Loran-C

1980-1992, "MMS" USAF Multimission Modular Spacecraft (including TOPEX/Poseidon)

1983, AMSAT OSCAR 10, 13, 21

1983, HILAT (predecessor to Polar BEAR)

1984, "SIR-B" Shuttle Imaging Radar

1986, Polar BEAR

1986, The Space Shuttle — Electrophoresis Operations in Space

1989, "SSBUV" Shuttle Solar Backscatter Ultra Violet

1989, Galileo space probe

1990, "HUT" Hopkins Ultraviolet Telescope

1990, "UIT" Ultraviolet Imaging Telescope (STS-35, STS-67)

1990, Pegasus Rocket

1990-1995, "WUPPE" Wisconsin Ultraviolet Photo-Polarimeter Experiment STS-35, STS-67

1991, Orbcomm-X or Datacomm-X

1992, "MSTI" Miniature Seeker Technology Integration

1992, Freja satellite

"Development of a Forth Language Directed Processor Using Very Large Scale Integrated Circuitry", by Susan C. Lee and John R. Hayes, Johns Hopkins APL Technical Digest, Vol. 10, No. 3 (1989)

  • Describes the "SC32" 32-bit CPU. Predecessors were Forth Reduced Instruction Set Computer (FRISC) 1 and FRISC 2.

    1. 1:

      The processor is being designed into ground support equipment for the Ocean Topography Experiment and Navy Radar Altimeter Program altimeters.  It is also being used as the flight processor for a magnetometer experiment on Freja, a Swedish satellite.

1992, International Microgravity Laboratory (a shuttle mission)

1992, TOPEX/Poseidon

1992, The Space Shuttle — IML-1, Spacelab

1995, "XTE" X-ray Timing Explorer

1996, "MSX" Midcourse Space Experiment

1996, "NEAR" Near Earth Asteroid Rendezvous

"NEAR Spacecraft Flight System Performance", by Andrew G. Santo, Johns Hopkins APL Technical Digest, Vol. 23, No. 1 (2002)

p.2:

Within the spacecraft were 7 processors: 1 in the command and data handling subsystem, 2 in the guidance and control subsystem, and 4 in the payload.  With the exception of the processor in the command and data handling system, all the processors had software that could be modified in flight.  The flight computer, which contained the main guidance and control software, was programmed in Ada.  The attitude interface unit, which was the backup attitude processor, was programmed in C.  The rest of the computers used the Forth programming language.

1996, "SSTI" Small Spacecraft Technology Initiative

1997, Cassini–Huygens spacecraft

1997, SeaStar

1997, "ACE" Advanced Composition Explorer (RTX2000)

Star Scanner instrument & control software

TODO: and tons of others, apparently, search the doc

1998, "SWAS" Submillimeter Wave Astronomy Satellite

1999, Chandra X-ray Observatory Formerly "AXAF"

2000, "IMAGE"

The RTX2010 was used for the Extreme Ultraviolet (EUV) instrument controller.

2004, Rosetta

Controller for the Ion and Electron Sensor instrument.

2003, "SOLSE" Shuttle Ozone Limb Sounder Experiment and "LORE" Limb Ozone Retrieval Experiment

2011, "SBIRS" USAF Space Based Infrared System

2014, SPINSAT

2017, "SAGE" (Stratospheric Aerosol and Gas Experiment) III

????, "APEX" USAF

????, A ton of antennas (Iridium, SWAS, etc.)

????, Baikonur Cosmodrome ????

????, NASA and USAF tropospheric research balloons

APL Space Department - Galileo, NEAR, and ACE are all mentioned, possibly others!

"Flight Software in the Space Department: A Look at the Past and a View Toward the Future", Horace Malcom and Harry K. Utterback, Johns Hopkins APL Technical Digest, Vol. 20, No. 4 (1999)

Abbreviated Table 1. Flight software on APL spacecraft

<spacecraft> - <launch> - <processor> - <language>/<lines-of-code>
Magsat ACS - 1979 - RCA-1802 - Forth/1890
Hilat Magnetometer - 1983 - RCA-1802 - Forth/432
Polar BEAR Magnetometer - 1986 - RCA-1802 - Forth/432
NEAR C&DH - 1996 - RTX2010 Forth/13500
NEAR AIU - 1996 - RTX2010 - C and Forth/1300
ACE C&DH - 1997 - RTX2010 - Forth/13500

Abbreviated Table 2. Flight software systems for APL science instruments

<instrument> (<spacecraft>) - <launch> - <processor> - <language>/<lines-of-code>
HUT (Astro-1) - 1990/1996 - AMD-2900 - Forth/12000
MFE (Freja) - 1992 - SC32 - Forth/4455
SSUSI ECU (DMSP Block 5D-3) - 1994 - RTX2000 - Forth/4374
SSUSI DPU (DMSP Block 5D-3) - 1994 - RTX2000 - Forth/732
XRGS (NEAR) - 1996 - RTX2010 - Forth/9545
Multispectral Imager (NEAR) - 1996 - RTX2010 - Forth/5926
NIS/Magnetometer (NEAR) - 1996 - RTX2010 - Forth/3019
NLR (NEAR) - 1996 - RTX2010 - Forth/2946
MIMI CPU (Cassini) - 1997 - RTX2010 - Forth/14785
MIMI EPU (Cassini) - 1997 - RTX2010 - Forth/13689
ULEIS (ACE) - 1997 - RTX2010 - Forth/3762
HENA (Image) - 1999 - RTX2010 - Forth/8892
GUVI (TIMED) - 2000 - RTX2010 - Forth/1357

Acronyms (for Table 2):

    DMSP - Defense Meteorological Satellite Program
    ECU - Electronics Control Unit
    EPU - Event Processing Unit
    GUVI - Global Ultraviolet Imager
    HENA - High Energy Neutral Analyzer
    MIMI - Magnetospheric Imaging Instrument
    NIS - Near Infrared Spectrometer
    NLR - NEAR Laser Rangefinder
    SSUSI - Special Sensor Ultraviolet Imager

"Functional Programming on a Stack-Based Embedded Processor", by Andrew J. Harris and John R. Hayes, 2nd IEEE International Conference on Space Mission Challenges for Information Technology (SMC-IT'06) (2006)

  • Describes using a function language that compiles to a Forth-like intermediate language and ultimately a Forth processor. (Harris and Hayes were both at JHU/APL and Hayes was co-author with Lee of the previous paper.)