Imagine thousands of little building blocks autonomously assembling into any shape you want; that’s the idea behind Programmable Matter: A substance that is able to change its physical properties (e.g. shape, stiffness, color) as directed by the user. This idea has been around in science fiction for a long time, think of the Terminator, or the Sandman in Spiderman 3 who can both repair themselves and assume different shapes (the Terminator is analog and the Sandman is made of a digital material).
What the deuce?
Ok, this is actually pretty cool, and not nearly as complicated as it seems. Basically, this is how it works: Each of the little blocks represents a piece of “programmable” (or “smart”) matter. Very similar to the way complete DNA exists in every cell of your body, each of these blocks is programmed with the final shape — the ultimate goal of the assembly process. This is where the “robotic” comes in: each block is a robot, or at least a robotic element — it is programmed to perform a certain task (i.e. to assemble into a specific shape).
The blocks are placed in a “stochastic” environment: a tank of water (or air), for example, with random turbulent currents swirling around inside it. The blocks ride these currents into proximity with one another, and if they a) detect an adjacent block in the right orientation and, b) determine it is beneficial to the final construction, they connect to one another to form a subshape.
As mentioned in the first video, there is a need to prevent “holes” from forming in the construction, and that a “raster” approach results in a perfect assembly, but also takes the most time. The “raster” approach is basically a “ground up” method, where the bottom pieces are put into place first, followed by the upper layers in order.
Once you get past all the crazy vocab, you can really appeciate the BA factor.
8-6-2021 (August 6, 2021) is the Snakiest day of the year and it’s also this year’s CircuitPython Day! The day highlights all things CircuitPython and Python on Hardware. See you there!
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.