Skip to content

11. Open Source Hardware - From Fibers to Fabric

Research & Ideation

Loom Weaving

This was our main reference through the whole process:

Instructables Link


History of Looms

The earliest looms date from the 5th millennium bc and consisted of bars or beams fixed in place to form a frame to hold a number of parallel threads in two sets, alternating with each other. By raising one set of these threads, which together formed the warp, it was possible to run a cross thread, a weft, or filling, between them. The block of wood used to carry the filling strand through the warp was called the shuttle.


Key Words

  • Heddle: A movable rod that raises the upper sheet of warp. heddles
  • Weave: The craft or action of forming fabric by interlacing threads. weaving
  • Bobbin: An elongated spool of thread, used in the textile industry.
    bobbins
  • Warp/Warp End: Vertical yarns held stationary under tension on a loom.
    warp/weft
  • Weft/Woof: The horizontal yarn drawn through the warp. warp/weft
  • Pick: A single weft thread that crosses the warp thread. pick
  • Tension: The state of being stretched tight; the degree of tightness in stitches. pickprocess
  • Shuttle/Stick Shuttle: A tool designed to store and carry the weft yarn across the warp threads.
    shuttles

Types of Looms

Floor Loom - Sits directly on the floor good for larger projects/wider fabrics

Frame Loom - A wooden frame that holds warp threads under tension. The weaver manipulates the weft threads by hand.

Backstrap Loom
- All you need is a wooden frame, heddles, and a strap that goes around your back. The strap provides the tension to keep the warp threads taut as you weave. The weaver can easily adjust the tension of the warp using their own body, creating an intimate connection with the textile during the weaving process.The weaver uses string heddles and their fingers to create the shed, then passes the weft through. By changing the order of raising warp threads, intricate motifs are achieved

Table Loom
- A simple loom for producing basic woven fabrics. Great starter option for weaving. a rectangular frame that sits on a tabletop. The warp threads are attached to the frame, and you pass the weft thread over and under the warp threads by hand. Ideal for making small projects like placemats, towels, and scarves. They’re very portable and easy to set up and operate.

Tapestry Loom - Designed for weaving tapestries and decorative wall hangings with intricate patterns.

Rigid Heddle Loom - The rigid heddle loom is one of the simplest and most portable looms. It’s a great starter loom for beginners and hobby weavers.Easy to Use,only has two shafts that raise and lower the warp threads to create the shed for the shuttle to pass through. This makes it straightforward to operate and ideal for learning the basics of weaving. All you need to get started is the loom, a shuttle, yarn, and a few other simple tools.

Once you have the warp threaded through the heddles and secured around the beam, you simply pass the shuttle back and forth by hand to weave the weft threads over and under the warp threads. The weaving process moves quickly since there are only two shafts to switch between.

Circular Loom - A circular frame with pegs around the edge to hold warp threads. Creates seamless woven pieces. Great for beginners and portable.

The main benefits of a circular loom are: - Creates seamless woven pieces with no edges - Great for beginners since the process is straightforward - Portable and easy to store since the loom can be disassembled - Diverse projects possible, from placemats and baskets to rugs and blankets

circular4

Air Jet Loom
- Uses high-pressure air to shoot weft yarn across warp threads at high speeds (up to 1,000 meters per minute). Produces high-quality fabrics like denim and bed sheets.

airjet1 airjet2 airjet3


Water Jet Loom - Uses water jets to pass the weft yarn through the warp. Best for light to medium-weight fabrics like shirting and upholstery.

Jacquard Loom - The Jacquard loom is a mechanical loom that uses punched cards to control the pattern being woven.

The Jacquard loom uses a chain of punched cards connected into a continuous loop. As the cards pass over the loom, they control the pattern being woven by raising and lowering the warp threads. The holes in the cards determine which threads are raised and lowered, allowing complex patterns to be woven quickly and efficiently.

Dobby Loom
- Uses a mechanical dobby head to control warp threads, allowing for intricate patterns.

Shuttle Looms
- Traditional looms that use a shuttle to pass the weft yarn. Produces high-quality fabrics but requires skilled labor.

Shuttleless Looms - Use air or water jets to propel the weft yarn. Faster and more efficient but limited to simpler patterns.


Inspiration

Berber Rugs

berber rugs berber rugs

Traditional Moroccan weavers also known as Amazigh are an Indigenous group, one of the oldest cultures in North Africa. All Berber rugs are made of wool as the Berber people regard it as a noble and beneficial material.

berbers

---

The process includes:
- Shearing: Harvesting wool from sheep.
- Washing: Sorting and cleaning wool in water streams.

  • Combing, Carding, Spinning: Preparing fibers for weaving.

combing: Berbers use these traditional combs to clease the wool.

comb1 comb2

carding : process of aligning the wool fibers to make them flow when spinning.
carding

Spinning : Berbers use a traditional spool.

spinning spinning2


  • Dyeing: Using natural dyes for vibrant colors.
    dyeing dye
  • Warping: Preparing the loom with warp threads.
    warping
  • Weaving and Finishing: Creating and completing the textile. weaving weavingset

Traditional Silk Weaving

silk weaving


Automated Processes

not having to manually weave the shuttle by hand through the loom, how could we eliminate this process?

Automating the aesthetic design of the textile. being able to change the position of the knit threads without having to manually move them to create a new colour combination for the row. This is where the idea came about to split up the headl shaft.


Jacquard Pattern Designs

Inspiration for incorporating the arduino code into the pattern design possibilities of the loom. By seperating the headl, which pattern possibilities are available to create with the moving motors.

jacquard pattern jacquard pattern


References & Inspiration

As we explored the concept of a weaving loom, it quickly became clear how complex and intricate the process really is. At first, understanding how all the components worked together felt almost impossible. Fortunately, our local instructor shared references from past years’ alumni, which became very helpful to us.

Seeing how previous students documented their projects, from setting up the warp to manipulating the heddles and creating the shed, gave us a clearer picture of the loom’s mechanics. Their detailed explanations and visuals helped break down the process into manageable steps. It wasn’t just about learning the theory—it was about seeing real examples of how challenges were overcome and how the loom could be used creatively.

Thanks to those references, we gained a deeper understanding and felt more confident moving forward. It was like having a guide that helped us navigate what initially felt like uncharted territory.

references

CREDITS1 CREDITS2 CREDITS3


Tools


BoM (Bill of Materials)

Materials

Material Online Source Price Range Barcelona Supplier Local Supplier Link Estimated Cost
25 mm Round Wood Sticks Amazon - Wood Dowels €10–€25 Top Timber Top Timber €17.50
1x1m CNC-Milled Plywood Bricodepot €20–€35 HachAzuela HachAzuela €27.50
6 mm Acrylic Sheets Ferplast €15–€30 Ferplast Ferplast €22.50
4 mm MDF Sheet Leroy Merlin €8–€15 Ferretería Ramírez Ferretería Ramírez €11.50
Micro Servo Motors (5 pcs) AliExpress €12–€20 BCN Robotics BCN Robotics €16.00
UNO R3 Board Arduino Store €10–€25 BCN Robotics BCN Robotics €17.50
Breadboard Amazon - Breadboard €10–€15 BCN Robotics BCN Robotics €12.50
Connection Cables RS Components €8–€12 BCN Robotics BCN Robotics €10.00
3D-Printed PLA Pieces Custom (in class) ~€20/kg (PLA) HachAzuela (Custom orders possible) HachAzuela €2.00*
Sandpaper (Various Types) Brico Depôt €3–€10 Leroy Merlin Leroy Merlin €6.50

Total Estimated Cost: €143.00

*This value should be taken just as a reference as prices may vary depending on the city


PROCESS

We were working as a team of three, my classmate Liz, and Jorge from MDEF!!!

It was helpful to have access to two samples from past years, so we had a starting point and understanding of how we could improve the machine!

The idea was to divide the heddle in pieces, a few at first (4), and integrate robotics to it, so the two pieces in between of the fourth would move differently automatically following the instructions from the Arduino Code, now with a starting point and a north to follow, it was time to get hands on in fabrication!!!

LASER CUT

strips Rhino design of the loom pieces that will be a part of the base functionality of the loom, they will be added as the heald frame. The four shorter strips with holes will be added to either side of the acrylic headl shaft at the top and the bottom making a two sided frame. The holes are where the screws will go to allow the headl shaft movement. Two long strips measuring 48cm and four strips measuring 46cm with five holes evenly spread out are placed …. (need to know) … and act as … (add functionality). (are these the shelves? So that the shaft doesn’t fall? )

headl This rhino model is the heddle shaft, which is the inside portion of the heddle frame. This is a standard heddle frame, the same as the 3D model used by our example in class which we used as our starting point. We mocked this model on rhino and laser cut it to test our loom and see if our idea was feasible.

5 part headl

Expanding on the Rhino design from the first heddle shaft above, to enhance this loom we needed to make a few updates. We split the shaft into five separate sections that will later be attached to five separate motor pears. The DXF file was exported to be laser cut on a 5mm acrylic sheet. These five pieces will be sandwiched into the heddle frames which are also cut

acrylic settings acrylic sheet settings

Laser cutting settings for the 5mm acrylic transparent sheet. Marianna recommended to instead change the settings to Standard Material on 70% power and 1.00 speed, after testing on a small section of the acrylic, we agreed this was the best option and it cut perfectly.

wood sheet settings

Laser cutting settings for 4mm wood. These settings were fine, they cut the outside pieces but not the screw holes, we don’t think this will be an issue because we will be screwing through anyways so we will first put a drill hole instead of reprinting the pieces so we are not wasting as much material.

place acrylic Once the settings have been confirmed we are ready to laser scan. First, we place the acrylic into the Rayjet400.

tape acrylic Then, we tape the acrylic down so the piece doesn't move during the scanning process and miss cuts will be avoided.

laser head Set the laser cutting head, return the focus tool back to its home for safe keeping for the machines next use. laser bed

do a final check of the settings and timing of the laser cut and start laser cutting timing time

mid cutting Once complete, you will have your piece cut and you can take off the tape and remove the piece from the laser cutter. cut acrylic piece


ROBOTICS AND ARDUINO

CNC MILLING

We had to re design the machine to make a rail where the heddles would slide to make it more stabble, so we decided to go with CNC Milling to build the whole new designed structure of the machine. So this is how it went:

First, we made the design in Rhinoceros 3D:

FILE READY CNC1

Second, we make the RhinoCAM settings (Special thanks to Josep at the Lab for being so patient as I wanted to fully understand step by step the whole settings!) Here are some of the main settings and the different cutting depths used. For the whole file information you can download it here 1

WHOLE PIECE

whole piece

SMALLER PART FOR 4MM DRILL

smaller part

WE HAVE TO SET TO DIFFERENT TOOLS, 4MM AND 6MM

set

4MM DRILL SETTING

4mm

6MM DRILL SETTINGS

6mm

4MM DRILL CUT SELECTION

4mmcut

6MM DRILL CUT SELECTION

6mmcut

Third, we set the machine and changed the drill as we were working at first with 4mm drill for the small holes and 6mm for the general cut of the shape. So it sent like this:

  1. 4mm drill - the machine marks the screws to fix the plywood plank so it wouldn't move while cutting 2
  2. 4mm drill - the machine makes the small holes for the screws that hold the structure together and also the small parts that would help hold the heddle 3
  3. 6mm drill - the machine cuts and empties the whole structure following the design 4

CNC

Now we wait

wait

And we sand a lot so it looks nice!

sand


3D PRINTING

rhino +2 screws rhino add 2 screws

Four more pieces are needed to secure the servo motor to the base so the mechanism. A piece to keep the loom stable in place, so we designed this "L" shaped supporters to hold the motors. After a few tries, we managed to get the right size, optimizing time and material.

3dp

Then we sended to print, we used a Bambu X1 to print and for software Bambu Studio

Gcode

Here is the 3D Model as a .STL 5 Here is the GCODE to 3D Print all the pieces 6

Now, we wait!

Bambu

Here they are

3D Piece


ASSEMBLY

Assembly


ROBOTICS

While someone was working on the cnc milling, another one in laser cutting, the third one was working in the whole robotics of the machine. So we figured out a mechanism with a pear shaped laser cut piece that makes a push and release movement so the whole heddle goes automaticaclly up and then down:

LASER CUT SHAPE pear rhinopear

POWER SUPPLY

Another important thing is that the board doesn't supply enough power to move the motors so we had to connect the board to this power supply

cord


CODE

Here you can find the code we're using for controlling the movement, remember to install the 'servo' library!

#include <Servo.h>

// Create servo objects
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;

// Servo pins
const int SERVO_PINS[] = {3, 5, 6, 9, 10};

void setup() {
  // Attach servos to pins
  servo1.attach(SERVO_PINS[0]);
  servo2.attach(SERVO_PINS[1]);
  servo3.attach(SERVO_PINS[2]);
  servo4.attach(SERVO_PINS[3]);
  servo5.attach(SERVO_PINS[4]);

  // Initialize serial communication
  Serial.begin(9600);
}

void loop() {
  if (Serial.available() >= 5) {  // Wait for 5 characters (one for each servo)
    // Read control string for all servos
    String controlStr = Serial.readStringUntil('\n');

    // Control each servo based on its corresponding value
    if (controlStr.length() >= 5) {
      // Servo 1
      servo1.write(controlStr.charAt(0) == '1' ? 90 : 0);
      // Servo 2
      servo2.write(controlStr.charAt(1) == '1' ? 90 : 0);
      // Servo 3
      servo3.write(controlStr.charAt(2) == '1' ? 90 : 0);
      // Servo 4
      servo4.write(controlStr.charAt(3) == '1' ? 90 : 0);
      // Servo 5
      servo5.write(controlStr.charAt(4) == '1' ? 90 : 0);
    }

    // Wait for 5 seconds before next command
    delay(5000);
  }
}

RESULTS

breadboard


GITHUB

FOR THE WHOLE FILES AND MORE DETAILS CLICK HERE


FABRICATION FILES


  1. File: RHINO FILE 

  2. File: CNC FILE 1 

  3. File: CNC FILE 2 

  4. File: CNC FILE 3 

  5. File: STL BASES 

  6. File: GCODE BASES