I joined the Imager for Mars Pathfinder team while I was still a graduate student at the Univeristy of Arizona. I was tasked to write the flight software for the Imager sub-system on the Pathfinder Lander. I worked closely with the Jet Propulsion Lab (JPL) team on defining the architecture and interface for the Imager portion of the code. I was also directly involved with working alongside Lockheed Martin on the flight hardware that controlled the Imager hardware.

Mars Landscape taken by
Imager for Mars Pathfinder

Although I left the team in 1995, I got to see the launch in November of 1996. On July 4, 1997, the first surface images of mars since the Viking missions came streaming back to Earth. It was a proud moment for me, to see the results of my efforts - and to know that the rest of the world got to see it, too.

It was this project that led me down the path of embedded development. Not only did I enjoy working with custom hardware and optimizing resources, but it gave me the flavor of what is was like to work with bright professionals outside my area of expertise. This mission set the stage for the rest of my career.


Senior Programmer


Mars Pathfinder
(taken by Sojourner)

The Imager software consisted of two primary tasks: data acquisition and image processing. The data acquisition task recieved messages (via message queue) to perform a set of commands. Via these commands, the operator could move the imager, change the filter wheel, and take images. There were a few higher-level commands as well - one such command was to process the image to find the sun. The image processing task would take an image and apply some basic image processing techniquies. This included removal of dark current, linearization of pixel sensitivity, and data compression.

The software for the Imager resided on the same processor as the rest of the lander. In order to keep a consistent interface to the rest of the platform, I wrote wrapper functions around the message queue iterface. Similarly, I was provided utility functions to allow the Imager software to read and write to non-volatie RAM. All of this effort was closely coordinated with the JPL development team.

Lessons Learned

Fun Facts



Notice: images acquired from the JPL web site for Mars Pathfinder.