Weaving is a complicated process and even the simplest weaves require looms that contain complex mechanisms. Intricate weaves, like those used for patterned textiles, need to be woven by hand or by expensive industrial automated looms. The earliest versions of those looms date back to the invention of the Jacquard machine by Joseph Marie Jacquard in 1804. Early Jacquard looms followed patterns punched into chains of paper cards. Computers control modern Jacquard looms, but the machines are still expensive because they have many independently-controlled components. Lea Albaugh and her team at Carnegie Mellon University have developed a far more affordable version built with 3D printer parts.
Most FFF (Fused Filament Fabrication) 3D printers operate in a similar manner with independent movement in three axes. Because 3D printing is popular today, the components needed to build an FFF 3D printer are relatively affordable. Those components include linear rails, bearings, stepper motors, motor drivers, and controllers that accept standardized G-code commands. Albaugh and her team took advantage of those components to create a Jacquard loom that is a mere fraction of the cost of an industrial machine. Comparable looms for Jacquard hand weaving cost roughly $30,000, but Albaugh's design costs only $200 to build. This makes Jacquard hand weaving accessible to hobbyists and small textile shops.
A conventional modern Jacquard loom is expensive because each heddle, which pulls the desired strand of yarn into the weave, actuates individually. A Jacquard loom can have dozens of heddles, each with its own solenoid actuator. Using off-the-shelf 3D printer components and clever mechanisms, Albaugh eliminated the need for a solenoid for every heddle. Each heddle in this design attaches to a bistable switch mechanism, which remains in the position to which it was last set. Your light switches are another example of a bistable switch mechanism — you don't have to stand there holding the switch in place the entire time you want the light to be on.
Because each heddle remains in position, there is time to actuate all of the mechanisms in sequence. A handful of 3D printer components handle that actuation: a linear rail, a carriage riding on bearings, a limit switch, a stepper motor, and a stepper motor driver. This design only requires a single solenoid, but can switch the position of a virtually limitless number of heddles. In place of a multitude of sensors, a webcam and computer vision let the system track the position of each heddle. It would also be possible to run the machine in an open-loop manner, similar to how old punch card Jacquard looms worked.
This isn't a fully-automated loom, because the operator still needs to perform some of the work. But it does automate the difficult process of setting the heddles, exactly as Jacquard did more than two centuries ago. This is particularly useful for collaboration, since weavers can send heddle positions to other looms over the internet.