Programmable matter is matter which has the ability to change its physical properties (shape, density, moduli, conductivity, optical properties, etc.) in a programmable fashion, based upon user input or autonomous sensing. Programmable matter is thus linked to the concept of a material which inherently has the ability to perform information processing.
Programmable matter is a term originally coined in 1991 by Toffoli and Margolus to refer to an ensemble of fine-grained computing elements arranged in space. Their paper describes a computing substrate that is composed of fine-grained compute nodes distributed throughout space which communicate using only nearest neighbor interactions. In this context, programmable matter refers to compute models similar to cellular automata and lattice gas automata. The CAM-8 architecture is an example hardware realization of this model. This function is also known as "digital referenced areas" (DRA) in some forms of self-replicating machine science.
In the early 1990s, there was a significant amount of work in reconfigurable modular robotics with a philosophy similar to programmable matter.
As semiconductor technology, nanotechnology, and self-replicating machine technology have advanced, the use of the term programmable matter has changed to reflect the fact that it is possible to build an ensemble of elements which can be "programmed" to change their physical properties in reality, not just in simulation. Thus, programmable matter has come to mean "any bulk substance which can be programmed to change its physical properties."
In the summer of 1998, in a discussion on artificial atoms and programmable matter, Wil McCarthy and G. Snyder coined the term "quantum wellstone" (or simply "wellstone") to describe this hypothetical but plausible form of programmable matter. McCarthy has used the term in his fiction.
In 2002, Seth Goldstein and Todd Mowry started the claytronics project at Carnegie Mellon University to investigate the underlying hardware and software mechanisms necessary to realize programmable matter.