WEAVE IT TO ME¶
11. Open Source Hardware - From Fibers to Fabric¶
Research & Ideation¶
Loom Weaving¶
This was our main reference through the whole process:
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.
{ width=900 align=center }
- Weave: The craft or action of forming fabric by interlacing threads.
{ width=900 align=center }
- Bobbin: An elongated spool of thread, used in the textile industry.
{ width=900 align=center }
- Warp/Warp End: Vertical yarns held stationary under tension on a loom.
{ width=400 align=center }
- Weft/Woof: The horizontal yarn drawn through the warp.
- Pick: A single weft thread that crosses the warp thread.
- Tension: The state of being stretched tight; the degree of tightness in stitches.
- Shuttle/Stick Shuttle: A tool designed to store and carry the weft yarn across the warp threads.
{ width=900 align=center }
Types of Looms¶
Floor Loom - Sits directly on the floor good for larger projects/wider fabrics
{ width=900 align=center }
Frame Loom - A wooden frame that holds warp threads under tension. The weaver manipulates the weft threads by hand.
{ width=900 align=center }
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
{ width=900 align=center }
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.
{ width=900 align=center }
Tapestry Loom - Designed for weaving tapestries and decorative wall hangings with intricate patterns.
{ width=900 align=center }
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.
{ width=900 align=center }
Circular Loom - A circular frame with pegs around the edge to hold warp threads. Creates seamless woven pieces. Great for beginners and portable.
{ width=900 align=center }
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
{ width=300 align=right }
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.
{ width=300 align=left }
{ width=300 align=right }
{ width=900 align=center }
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.
{ width=900 align=center }
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.
{ width=900 align=center }
Dobby Loom
- Uses a mechanical dobby head to control warp threads, allowing for intricate patterns.
{ width=900 align=center }
Shuttle Looms
- Traditional looms that use a shuttle to pass the weft yarn. Produces high-quality fabrics but requires skilled labor.
{ width=900 align=center }
Shuttleless Looms - Use air or water jets to propel the weft yarn. Faster and more efficient but limited to simpler patterns.
{ width=900 align=center }
Inspiration¶
Berber Rugs¶
{ width=300 align=right }
{ width=300 align=left }
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.
{ width=300 align=left }
---¶
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.
{ width=200 align=left }
{ width=200 align=right }
carding
: process of aligning the wool fibers to make them flow when spinning.
Spinning : Berbers use a traditional spool.
{ width=300 align=left }
{ width=300 align=right }
- Dyeing: Using natural dyes for vibrant colors.
{ width=400 align=left }
{ width=400 align=right }
- Warping: Preparing the loom with warp threads.
{ width=900 align=center }
- Weaving and Finishing: Creating and completing the textile.
{ width=900 align=center }
{ width=900 align=center }
Traditional 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.
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.
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¶
{ width=400 align=right }
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? )
{ width=400 align=right }
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.
{ width=400 align=right }
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
{ width=300 align=right }
{ width=300 align=left }
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.
{ width=400 align=right }
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.
{ width=400 align=right }
Once the settings have been confirmed we are ready to laser scan.
First, we place the acrylic into the Rayjet400.
{ width=400 align=right }
Then, we tape the acrylic down so the piece doesn't move during the scanning process and miss cuts will be avoided.
{ width=400 align=right }
Set the laser cutting head, return the focus tool back to its home for safe keeping for the machines next use.
{ width=400 align=right }
do a final check of the settings and timing of the laser cut and start laser cutting
{ width=400 align=left }
{ width=400 align=right }
{ width=300 align=right }
Once complete, you will have your piece cut and you can take off the tape and remove the piece from the laser cutter.
{ width=300 align=right }
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
{ width=900 align=center }
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
{ width=900 align=center }
SMALLER PART FOR 4MM DRILL
{ width=900 align=center }
WE HAVE TO SET TO DIFFERENT TOOLS, 4MM AND 6MM
{ width=900 align=center }
4MM DRILL SETTING
{ width=900 align=center }
6MM DRILL SETTINGS
{ width=900 align=center }
4MM DRILL CUT SELECTION
{ width=900 align=center }
6MM DRILL CUT SELECTION
{ width=900 align=center }
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:
- 4mm drill - the machine marks the screws to fix the plywood plank so it wouldn't move while cutting [^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]
- 6mm drill - the machine cuts and empties the whole structure following the design [^4]
{ width=900 align=center }
Now we wait
{ width=900 align=center }
And we sand a lot so it looks nice!
{ width=900 align=center }
3D PRINTING¶
{ width=400 align=left }
{ width=400 align=right }
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.
{ width=900 align=center }
Then we sended to print, we used a Bambu X1 to print and for software Bambu Studio
{ width=900 align=center }
Here is the 3D Model as a .STL [^5] Here is the GCODE to 3D Print all the pieces [^6]
Now, we wait!
{ width=900 align=center }
Here they are
{ width=900 align=center }
ASSEMBLY¶
{ width=900 align=center }
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
{ width=900 align=center }
{ width=900 align=center }
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
{ width=900 align=center }
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¶
{ width=900 align=center }
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